Git Product home page Git Product logo

ukaea / uda Goto Github PK

View Code? Open in Web Editor NEW
7.0 12.0 1.0 15 MB

Universal Data Access library to provide data over the network in a unified data object.

Home Page: https://ukaea.github.io/UDA/

License: Apache License 2.0

CMake 2.10% C 15.34% Batchfile 0.01% Shell 5.09% Makefile 0.72% M4 0.01% C++ 74.11% PHP 0.02% Python 0.73% HTML 0.01% Prolog 0.93% IDL 0.07% Java 0.11% MATLAB 0.04% SWIG 0.11% Cython 0.56% Cap'n Proto 0.01% Roff 0.03%

uda's Introduction

Universal Data Access (UDA)

Build Workflow

The UDA API provides plugin driven data abstraction.

The UDA can be either run as a client-server API, running as thin client with all functionality being handled on a remote server, or as fat-client API where both the client access and plugin functionality is run on the local machine.

Licence

See LICENCE.txt for details.

Getting UDA

UDA binaries can be downloaded from:

<url>

The source code can be downloaded from:

https://github.com/ukaea/UDA/releases/

The UDA git repository can be cloned:

git clone [email protected]:ukaea/UDA.git

Building from source

Dependencies

UDA requires the following to avail in order to build:

Name Version Required For
cmake > 3.0
OpenSSL
PostgreSQL
LibXml2
LibMemcached to enable caching
swig 3.0.0 Python & HTTP wrappers
python > 3.0 Python & HTTP wrappers
boost C++, Python & HTTP wrappers
java Java wrapper
hdf5 hdf5 plugin
netcdf netcdf plugin
MDSplus MDS+ plugin

Windows

Note: If you want to use Visual Studio 2019 to compile UDA, please refer to sections Visual Studio and vcpkg below

Building extlibs (running in Powershell):

cd extlib
mkdir build
cd build
cmake.exe .. -G"MinGW Makefiles" -DBUILD_SHARED_LIBS=ON
mingw32-make.exe
cd ..
.\install.bat

Building extlibs (running in MinGW64 Shell):

cd extlib/portablexdr-4.9.1
./configure
make
cd ..
./install.sh

Building extlibs (running in VS2019 x64 Native Tools):

cd extlib
mkdir build
cd build
cmake.exe .. -G"Visual Studio 16 2019"
msbuild.exe ALL_BUILD.vcxproj /p:configuration=release /p:platform=x64
cd ..
install.bat

Tested and built on Windows 10 (built using MinGW 64-bit, running in Powershell):

mkdir build
cd build
..\scripts\cmake-win.bat
mingw32-make.exe
mingw32-make.exe install

Tested and built on Windows 10 (built using MinGW 64-bit, running in MinGW64 Shell):

mkdir build
cd build
cmake .. -G"Unix Makefiles" -DBUILD_SHARED_LIBS=ON -DTARGET_TYPE=OTHER
make
make install

Tested and built on Windows 10 (built using VS2019 x64 Native Tools):

mkdir build
cd build
cmake.exe .. -G"Visual Studio 16 2019" -DCMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DNO_MODULES=ON -DTARGET_TYPE=OTHER -DBUILD_SHARED_LIBS=ON
msbuild ALL_BUILD.vcxproj /p:configuration=release /p:platform=x64
msbuild INSTALL.vcxproj /p:configuration=release /p:platform=x64

Running Python client:

$python_dir = (Get-Item (Get-Command python).Source).DirectoryName
rm $python_dir\Lib\site-packages\pyuda
copy -Recurse .\include\pyuda  $python_dir\Lib\site-packages\
cp .\extlib\lib\libxdr.dll $python_dir\Lib\site-packages\pyuda\

Set-Item -Path env:UDA_HOST -Value "idam3.mast.ccfe.ac.uk"
Set-Item -Path env:UDA_HOST -Value "56565"
python

CentOS

Packages needed for CentOS

$ LANG=C sudo yum -y groupinstall 'Development Tools'
$ sudo yum -y install openssl-devel boost-devel swig-devel python-devel \
  postgresql-devel libxml2-devel gsl-devel libgcrypt-devel bzip2-devel \
  java-1.8.0-openjdk-devel

Ubuntu

sudo apt-get install git python3-dev libssl-dev libboost-dev python3-numpy python3-matplotlib

OSX

Running cmake configuration

To configure the UDA build you first need to run cmake:

cmake -B<build_dir> -H. -DTARGET_TYPE:STRING=<target>

Where <build_dir> is the build directory to create and <target> is the target specific configuration to use. The different targets available are MAST, ITER and OTHER. These are available in the cmake/Config directory with the file name target-<target>.cmake. To add a new target simply copy one of these files and rename to the desired target name.

An example configuration command is:

cmake -Bbuild -H. -DTARGET_TYPE:STRING=OTHER

By default UDA will configure to build in client-server mode with both the client and server being built.

To only build the client use:

cmake -DCLIENT_ONLY:BOOL=TRUE ...

To build UDA in fat-client mode use:

cmake -DFAT_BUILD:BOOL=TRUE ...

Building

make -C <build_dir>

Installing

make -C <build_dir> install

Packaging

On Linux system:

make -C <build_dir> package

On Windows system (MinGW):

make -C <build_dir> package

On Windows system (VS2019):

msbuild.exe INSTALL.vcxproj /p:configuration=release /p:platform=x64

Visual Studio

UDA can be compiled with Visaul Studio 2019. To do that, Vidual Studio need to be iunstalled witrh at least the following packages:

  • C++ Desktop development tools
  • CMake tools
  • Python 3.7
  • MFC and ATL libraries
  • English language pack (even if you choose another language)
  • Windows 10 SDK v10.0.17134.0

vcpkg

vcpkg if a library manager designed by Microsoft to procure standard libraries for Visual Studio.

It supports CMake toolchain, easily usable with UDA CMakeList.txt files.

To use vcpkg, follow theses steps:

git clone https://github.com/Microsoft/vcpkg
cd vcpkg
bootstrap-vcpkg.bat

After that, vcpkg tool is ready to acquire libraries. For UDA, severals libraries are mandatory, the following command download, compile and install them :

vcpkg install libxml2:x64-windows openssl:x64-windows boost:x64-windows python3:x64-windows dlfcn-win32:x64-windows libpq:x64-windows netcdf-c:x64-windows blitz:x64-windows

Other Notes

Ninja installation for CentOS:

git clone https://github.com/ninja-build/ninja.git

cd ninja
./configure.py --bootstrap
export PATH="${HOME}/ninja:${PATH}"

Add the following to your .bashrc file:

export PYTHONPATH=/usr/local/include

uda's People

Contributors

dgmuir avatar dorisbdr avatar herveancher avatar jenkins-irfm avatar jholloc avatar olivhoenen avatar roddrok avatar simonpinches avatar simpla-fusion avatar stephen-dixon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

tobyjamez

uda's Issues

Sha1_xx have been deprecated long time ago...

as UDA server starts to be used widely in production environment, and in some cases it is open to external world, it is strongly recommended to avoid using deprecated methods in openssl...
these methods have been replaced with EVP_DigestXX
https://www.openssl.org/docs/man3.0/man7/migration_guide.html
Deprecated low-level digest functions
Use of low-level digest functions such as SHA1_Init(3) have been informally discouraged from use for a long time. Applications should instead use the the high level EVP APIs EVP_DigestInit_ex(3), EVP_DigestUpdate(3) and EVP_DigestFinal_ex(3), or the quick one-shot EVP_Q_digest(3).

Note that the functions SHA1(3), SHA224(3), SHA256(3), SHA384(3) and SHA512(3) have changed to macros that use EVP_Q_digest(3).

Example of usage
https://cpp.hotexamples.com/fr/examples/-/-/EVP_DigestInit_ex/cpp-evp_digestinit_ex-function-examples.html

use of pclose instead of fclose

mudaidam/src/main/c/source/clientserver/expand_path.cpp:436 it shall be pclose instead of fclose
otherwise you get this error with g++ 11
error: ‘int fclose(FILE*)’ called on pointer returned from a mismatched allocation function [-Werror=mismatched-dealloc]

Refactor `udaLog` from variadic function to variadic template

Currently udaLog is a variadic function.

This has a number of downsides (as listed on cppreference.com). The current usage is also not strictly conformant to ISO C++11, as you can observe when adding the -Wpedantic flag:

/home/maarten/projects/UDA/source/client2/client.cpp:276:85: error: ISO C++11 requires at least one argument for the "..." in a variadic macro [-Werror]
  276 |         UDA_LOG(UDA_LOG_DEBUG, "Receiving Hierarchical Data Structure from Server\n");

There's also an issue when compiling release 2.7.4 with the intel c++ compiler (icpc, version 2020.4.304), related to the same:

FAILED: source/client2/CMakeFiles/client2-objects.dir/client.cpp.o
<...>
icpc: command line warning #10148: option '-Wno-use-after-free' not supported
icpc: command line warning #10148: option '-Wno-mismatched-new-delete' not supported
/tmp/<...>/EasyBuild/UDA/2.7.4/iccifort-2020.4.304/UDA-2.7.4/source/client2/client.cpp(586): error #1595: non-POD (Plain Old Data) class type passed through ellipsis
              UDA_LOG(UDA_LOG_ERROR, "Error identifying the Data Source [%s]\n", data_source);
              ^compilation aborted for /tmp/<...>/EasyBuild/UDA/2.7.4/iccifort-2020.4.304/UDA-2.7.4/source/client2/client.cpp (code 2)

See https://jira.iter.org/browse/IMAS-5014 (behind login wall).

A better approach would be to use variadic templates as listed at the alternatives for variadic arguments

Add a cancel method

Many GUIs developers are complaining because we don't have a way to cancel a UDA request...it starts to be a critical issue

Compilation issue with icpx 2023.2.1

Trying to compile UDA v2.7.4 with the latest Intel icpx compiler gives

/work/imas/opt/EasyBuild/software/intel-compilers/2023.2.1/compiler/2023.2.1/linux/bin/icpx -DA64 -DCAPNP_ENABLED=1 -DOSTYPE=Linux -DSERVERB
UILD -DUDA_EXPORT -D__TIRPC__ -I/opt/local/include -I/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/easybuild_obj/source -I/tmp/p
inches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source -I/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/s
ource/server -I/work/imas/opt/EasyBuild/software/libxml2/2.11.5-GCCcore-13.2.0/include/libxml2 -I/work/imas/opt/EasyBuild/software/OpenSSL/1
.1/include -I/include -I/work/imas/opt/EasyBuild/software/libtirpc/1.3.4-GCCcore-13.2.0/include/tirpc -isystem /work/imas/opt/EasyBuild/soft
ware/Boost/1.83.0-intel-compilers-2023.2.1/include -isystem /work/imas/opt/EasyBuild/software/fmt/10.2.0-GCCcore-13.2.0/include -O2 -axAVX,C
ORE-AVX2 -ftz -fp-speculation=safe -fp-model precise -fPIC -fPIC -pthread -Wno-mismatched-new-delete -g -std=c++17 -fPIC   -Wall -Werror -We
xtra -Wno-unused-parameter -Wno-missing-field-initializers -MD -MT source/server/CMakeFiles/server-objects.dir/serverSubsetData.cpp.o -MF so
urce/server/CMakeFiles/server-objects.dir/serverSubsetData.cpp.o.d -o source/server/CMakeFiles/server-objects.dir/serverSubsetData.cpp.o -c
/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source/server/serverSubsetData.cpp
/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source/server/serverSubsetData.cpp:1649:21: error: using floating point
absolute value function 'fabs' when argument is of integer type [-Werror,-Wabsolute-value]
                if (fabs(p[k] - (T)value) <= EpsilonSelector<T>::Epsilon) {
                    ^
/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source/server/serverSubsetData.cpp:1765:20: note: in instantiation of fu
nction template specialization 'get_subset_indices_for_type<int>' requested here
            return get_subset_indices_for_type<int>(operation, dim, value, subset_indices);
                   ^
/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source/server/serverSubsetData.cpp:1649:21: note: use function 'std::abs
' instead
                if (fabs(p[k] - (T)value) <= EpsilonSelector<T>::Epsilon) {
                    ^~~~
                    std::abs
/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source/server/serverSubsetData.cpp:1656:35: error: using floating point
absolute value function 'fabs' when argument is of integer type [-Werror,-Wabsolute-value]
                double minvalue = fabs((T)value - p[0]);
                                  ^
/tmp/pinches/EasyBuild/UDA/2.7.4/intel-compilers-2023.2.1/UDA-2.7.4/source/server/serverSubsetData.cpp:1656:35: note: use function 'std::abs
' instead
                double minvalue = fabs((T)value - p[0]);
                                  ^~~~
                                  std::abs

UDA timeout not working properly

We had cases where we bumped into the timeout (default 10mn) whereas there were activities between server and client….a lot of requests….
So we have a feeling that there is a bug in the timeout implementation, could you please tell us how the timeout was thought? I would have expect idle activity between server and client (i.e. no requests…)

E.g.
127.0.0.1 - codac [Wed Dec 13 15:04:13 2023] [1000 getMeta(path=/ITER/BUIL-B38-DW:MP0001-PT-STATE/severity_labels, startTime=18446744073709551615, arg1=modeStatusSeverity:epicsb) 0 -1
UDA UDA ] 0 8504 [] 26.936 8 8 [485818 2008909] []
127.0.0.1 - codac [Wed Dec 13 15:04:13 2023] [1000 getData(variable=/ITER/BUIL-B38-DW:MP0001-PT-STATE/val_full, retType=native, tsFormat=absolute, startTime=0, endTime=1687824000000000000
%2, decSamples=4267628, ddContinueFrom=0, ddSamples=10000) 0 -1 UDA UDA ] 0 170696 [] 25149.6 8 8 [485818 2008909] []
127.0.0.1 - codac [Wed Dec 13 15:04:38 2023] [1000 getData(variable=/ITER/BUIL-B38-DW:MP0001-PT-STATE/status_id_full, retType=native, tsFormat=none, startTime=0, endTime=16878240000000000
00%2, decSamples=4267628, arg1=modeStatusSeverity:epicsb, ddContinueFrom=0, ddSamples=10000) 0 -1 UDA UDA ] 0 50712 [] 1030.1 8 8 [485818 2008909] []
127.0.0.1 - codac [Wed Dec 13 15:04:39 2023] [1000 getData(variable=/ITER/BUIL-B38-DW:MP0001-PT-STATE/severity_id_full, retType=native, tsFormat=none, startTime=0, endTime=168782400000000
0000%2, decSamples=4267628, arg1=modeStatusSeverity:epicsb, ddContinueFrom=0, ddSamples=10000) 0 -1 UDA UDA ] 0 50712 [] 1921.73 8 8 [485818 2008909] []
127.0.0.1 - codac [Wed Dec 13 15:04:40 2023] [1000 getData(variable=/ITER/BUIL-B38-DW:MP0001-PT-STATE/val_full, retType=native, tsFormat=absolute, startTime=0, endTime=1687824000000000000
%2, decSamples=4267628, ddContinueFrom=10000, ddSamples=10000) 0 -1 UDA UDA ] 0 170696 [] 1034.47 8 8 [485818 2008909] []

27.0.0.1 - codac [Wed Dec 13 15:13:47 2023] [1000 getData(variable=/ITER/BUIL-B38-DW:MP0001-PT-STATE/val_full, retType=native, tsFormat=absolute, startTime=0, endTime=1687824000000000000%2, decSamples=4267628, ddContinueFrom=340000, ddSamples=10000) 0 -1 UDA UDA ] 0 170696 [] 10808 8 8 [485818 2008909] []
127.0.0.1 - codac [Wed Dec 13 15:13:57 2023] [1000 getData(variable=/ITER/BUIL-B38-DW:MP0001-PT-STATE/status_id_full, retType=native, tsFormat=none, startTime=0, endTime=1687824000000000000%2, decSamples=4267628, arg1=modeStatusSeverity:epicsb, ddContinueFrom=340000, ddSamples=10000) 0 -1 UDA UDA ] 0 50712 [] 9475.68 8 8 [485818 2008909] []
127.0.0.1 - codac [Wed Dec 13 15:14:06 2023] [1000 getData(variable=/ITER/BUIL-B38-DW:MP0001-PT-STATE/severity_id_full, retType=native, tsFormat=none, startTime=0, endTime=1687824000000000000%2, decSamples=4267628, arg1=modeStatusSeverity:epicsb, ddContinueFrom=340000, ddSamples=10000) 0 -1 UDA UDA ] 0 50712 [] 10472.9 8 8 [485818 2008909] []
127.0.0.1 - [Wed Dec 13 15:14:06 2023] [1000 getData(variable=/ITER/BUIL-B38-DW:MP0001-PT-STATE/severity_id_full, retType=native, tsFormat=none, startTime=0, endTime=1687824000000000000%2, decSamples=4267628, arg1=modeStatusSeverity:epicsb, ddContinueFrom=340000, ddSamples=10000) 0 -1 UDA UDA ] 20 0 [Protocol 10 Error (Receiving Client Block)] 10491.1 0 8 [2008909 2008909] []
127.0.0.1 - codac [Wed Dec 13 15:14:16 2023] [1000 getData(variable=/ITER/BUIL-B38-DW:MP0001-PT-STATE/val_full, retType=native, tsFormat=absolute, startTime=0, endTime=1687824000000000000%2, decSamples=4267628, ddContinueFrom=350000, ddSamples=10000) 0 -1 UDA UDA ] 0 170696 [] 1269.43 8 8 [485818 2009068] []
127.0.0.1 - [Wed Dec 13 15:14:16 2023] [1000 getData(variable=/ITER/BUIL-B38-DW:MP0001-PT-STATE/val_full, retType=native, tsFormat=absolute, startTime=0, endTime=1687824000000000000%2, decSamples=4267628, ddContinueFrom=350000, ddSamples=10000) 0 -1 UDA UDA ] 20 0 [Protocol 10 Error (Receiving Client Block)] 1272.64 0 8 [2009068 2009068] []
127.0.0.1 - codac [Wed Dec 13 15:14:17 2023] [1000 getData(variable=/ITER/BUIL-B38-DW:MP0001-PT-STATE/status_id_full, retType=native, tsFormat=none, startTime=0, endTime=1687824000000000000%2, decSamples=4267628, arg1=modeStatusSeverity:epicsb, ddContinueFrom=350000, ddSamples=10000) 0 -1 UDA UDA ] 0 50712 [] 1942.65 8 8 [485818 2009080] []

Both docker files fails in build

Hi I have tried to build the ubuntu docker with fallowing result:

(base) kripner@xxx:~/xxx/UDA/docker$ docker build - < client.ubuntu.22.10
[+] Building 2.0s (6/12)                                                                                                                                                                            docker:default
 => [internal] load .dockerignore                                                                                                                                                                             0.0s
 => => transferring context: 2B                                                                                                                                                                               0.0s
 => [internal] load build definition from Dockerfile                                                                                                                                                          0.0s
 => => transferring dockerfile: 1.03kB                                                                                                                                                                        0.0s
 => [internal] load metadata for docker.io/library/ubuntu:22.10                                                                                                                                               1.3s
 => CACHED [1/8] FROM docker.io/library/ubuntu:22.10@sha256:xxx
                                                                                  0.0s
 => [internal] load build context                                                                                                                                                                             0.0s
 => => transferring context: 2B                                                                                                                                                                               0.0s
 => ERROR [2/8] RUN apt-get update && apt-get install -y     git     libboost-dev     libboost-program-options-dev     libssl-dev     cmake     build-essential     pkg-config     libxml2-dev     libspdlog  0.7s
------                                                                                                                                                                                                             
 > [2/8] RUN apt-get update && apt-get install -y     git     libboost-dev     libboost-program-options-dev     libssl-dev     cmake     build-essential     pkg-config     libxml2-dev     libspdlog-dev     ninja-build     capnproto     libcapnp-dev     python3-dev     python3-pip     python3-venv:                                                                                                                            
0.361 Ign:1 http://security.ubuntu.com/ubuntu kinetic-security InRelease                                                                                                                                           
0.361 Ign:2 http://archive.ubuntu.com/ubuntu kinetic InRelease                                                                                                                                                     
0.421 Ign:3 http://archive.ubuntu.com/ubuntu kinetic-updates InRelease                                                                                                                                             
0.426 Err:4 http://security.ubuntu.com/ubuntu kinetic-security Release
0.426   404  Not Found [IP: 185.125.190.39 80]
0.483 Ign:5 http://archive.ubuntu.com/ubuntu kinetic-backports InRelease
0.553 Err:6 http://archive.ubuntu.com/ubuntu kinetic Release
0.553   404  Not Found [IP: 185.125.190.39 80]
0.612 Err:7 http://archive.ubuntu.com/ubuntu kinetic-updates Release
0.612   404  Not Found [IP: 185.125.190.39 80]
0.672 Err:8 http://archive.ubuntu.com/ubuntu kinetic-backports Release
0.672   404  Not Found [IP: 185.125.190.39 80]
0.674 Reading package lists...
0.680 E: The repository 'http://security.ubuntu.com/ubuntu kinetic-security Release' does not have a Release file.
0.680 E: The repository 'http://archive.ubuntu.com/ubuntu kinetic Release' does not have a Release file.
0.680 E: The repository 'http://archive.ubuntu.com/ubuntu kinetic-updates Release' does not have a Release file.
0.680 E: The repository 'http://archive.ubuntu.com/ubuntu kinetic-backports Release' does not have a Release file.
------
Dockerfile:5
--------------------
   4 |     
   5 | >>> RUN apt-get update && apt-get install -y \
   6 | >>>     git \
   7 | >>>     libboost-dev \
   8 | >>>     libboost-program-options-dev \
   9 | >>>     libssl-dev \
  10 | >>>     cmake \
  11 | >>>     build-essential \
  12 | >>>     pkg-config \
  13 | >>>     libxml2-dev \
  14 | >>>     libspdlog-dev \
  15 | >>>     ninja-build \
  16 | >>>     capnproto \
  17 | >>>     libcapnp-dev \
  18 | >>>     python3-dev \
  19 | >>>     python3-pip \
  20 | >>>     python3-venv
  21 |     
--------------------
ERROR: failed to solve: process "/bin/bash -c apt-get update && apt-get install -y     git     libboost-dev     libboost-program-options-dev     libssl-dev     cmake     build-essential     pkg-config     libxml2-dev     libspdlog-dev     ninja-build     capnproto     libcapnp-dev     python3-dev     python3-pip     python3-venv" did not complete successfully: exit code: 100
(base) kripner@lathander:~/Projects/external/UDA/docker$ (base) kripner@lathander:~/Projects/external/UDA/docker$ docker build - < client.ubuntu.22.10
[+] Building 2.0s (6/12)                                                                                                                                                                            docker:default
 => [internal] load .dockerignore                                                                                                                                                                             0.0s
 => => transferring context: 2B                                                                                                                                                                               0.0s
 => [internal] load build definition from Dockerfile                                                                                                                                                          0.0s
 => => transferring dockerfile: 1.03kB                                                                                                                                                                        0.0s
 => [internal] load metadata for docker.io/library/ubuntu:22.10                                                                                                                                               1.3s
 => CACHED [1/8] FROM docker.io/library/ubuntu:22.10@sha256:e322f4808315c387868a9135beeb11435b5b83130a8599fd7d0014452c34f489                                                                                  0.0s
 => [internal] load build context                                                                                                                                                                             0.0s
 => => transferring context: 2B                                                                                                                                                                               0.0s
 => ERROR [2/8] RUN apt-get update && apt-get install -y     git     libboost-dev     libboost-program-options-dev     libssl-dev     cmake     build-essential     pkg-config     libxml2-dev     libspdlog  0.7s
------                                                                                                                                                                                                              
 > [2/8] RUN apt-get update && apt-get install -y     git     libboost-dev     libboost-program-options-dev     libssl-dev     cmake     build-essential     pkg-config     libxml2-dev     libspdlog-dev     ninja-build     capnproto     libcapnp-dev     python3-dev     python3-pip     python3-venv:                                                                                                                             
0.361 Ign:1 http://security.ubuntu.com/ubuntu kinetic-security InRelease                                                                                                                                            
0.361 Ign:2 http://archive.ubuntu.com/ubuntu kinetic InRelease                                                                                                                                                      
0.421 Ign:3 http://archive.ubuntu.com/ubuntu kinetic-updates InRelease                                                                                                                                              
0.426 Err:4 http://security.ubuntu.com/ubuntu kinetic-security Release
0.426   404  Not Found [IP: 185.125.190.39 80]
0.483 Ign:5 http://archive.ubuntu.com/ubuntu kinetic-backports InRelease
0.553 Err:6 http://archive.ubuntu.com/ubuntu kinetic Release
0.553   404  Not Found [IP: 185.125.190.39 80]
0.612 Err:7 http://archive.ubuntu.com/ubuntu kinetic-updates Release
0.612   404  Not Found [IP: 185.125.190.39 80]
0.672 Err:8 http://archive.ubuntu.com/ubuntu kinetic-backports Release
0.672   404  Not Found [IP: 185.125.190.39 80]
0.674 Reading package lists...
0.680 E: The repository 'http://security.ubuntu.com/ubuntu kinetic-security Release' does not have a Release file.
0.680 E: The repository 'http://archive.ubuntu.com/ubuntu kinetic Release' does not have a Release file.
2-dev     libspdlog-dev     ninja-build     capnproto     libcapnp-dev     python3-dev     python3-pip     python3-venv" did not complete successfully: exit code: 100    build-essential     pkg-config     libxml

centOS one failed with cmake:

(base) kripner@xxx:~/xxx/UDA/docker$ docker build - < client.centos.8
[+] Building 435.1s (12/15)                                                                                                                                                                         docker:default
 => [internal] load .dockerignore                                                                                                                                                                             0.0s
 => => transferring context: 2B                                                                                                                                                                               0.0s
 => [internal] load build definition from Dockerfile                                                                                                                                                          0.0s
 => => transferring dockerfile: 2.19kB                                                                                                                                                                        0.0s
 => [internal] load metadata for docker.io/library/centos:8                                                                                                                                                   2.3s
 => [ 1/11] FROM docker.io/library/centos:8@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177                                                                                          20.0s
 => => resolve docker.io/library/centos:8@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177                                                                                             0.0s
 => => sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6 2.14kB / 2.14kB                                                                                                                0.0s
 => => sha256:a1d0c75327776413fa0db9ed3adcdbadedc95a662eb1d360dad82bb913f8a1d1 83.52MB / 83.52MB                                                                                                             18.4s
 => => sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 762B / 762B                                                                                                                    0.0s
 => => sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc 529B / 529B                                                                                                                    0.0s
 => => extracting sha256:a1d0c75327776413fa0db9ed3adcdbadedc95a662eb1d360dad82bb913f8a1d1                                                                                                                     1.5s
 => [internal] load build context                                                                                                                                                                             0.0s
 => => transferring context: 2B                                                                                                                                                                               0.0s
 => [ 2/11] RUN sed -i 's/$releasever/$releasever-stream/g' /etc/yum.repos.d/CentOS-*                                                                                                                         0.3s
 => [ 3/11] RUN yum update -y --allowerasing &&     yum group install -y 'Development Tools' &&     yum install -y         git         wget         boost-devel         openssl-devel         cmake         314.7s
 => [ 4/11] RUN cd /tmp &&     wget https://github.com/fmtlib/fmt/archive/refs/tags/10.0.0.tar.gz &&     tar xzf 10.0.0.tar.gz &&     cd fmt-10.0.0 &&     cmake -Bbuild -H. -DCMAKE_BUILD_TYPE=Release -DC  31.3s 
 => [ 5/11] RUN cd /tmp &&     wget https://github.com/gabime/spdlog/archive/refs/tags/v1.11.0.tar.gz &&     tar xzf v1.11.0.tar.gz &&     cd spdlog-1.11.0 &&     cmake -Bbuild -H. -DCMAKE_BUILD_TYPE=Rele  9.4s 
 => [ 6/11] RUN cd /tmp &&     wget https://github.com/capnproto/capnproto/archive/refs/tags/v0.10.4.tar.gz &&     tar xzf v0.10.4.tar.gz &&     cd capnproto-0.10.4 &&     cmake -Bbuild -H. -DCMAKE_BUILD  56.9s 
 => [ 7/11] COPY . /uda                                                                                                                                                                                       0.0s 
 => ERROR [ 8/11] RUN cd /uda &&     cmake -B build     -DBUILD_SHARED_LIBS=ON     -DCMAKE_BUILD_TYPE=Release     -DSSLAUTHENTICATION=ON     -DCLIENT_ONLY=ON     -DENABLE_CAPNP=ON                           0.3s 
------                                                                                                                                                                                                             
 > [ 8/11] RUN cd /uda &&     cmake -B build     -DBUILD_SHARED_LIBS=ON     -DCMAKE_BUILD_TYPE=Release     -DSSLAUTHENTICATION=ON     -DCLIENT_ONLY=ON     -DENABLE_CAPNP=ON:                                      
0.263 CMake Error: The source directory "/uda" does not appear to contain CMakeLists.txt.                                                                                                                          
0.263 Specify --help for usage, or press the help button on the CMake GUI.                                                                                                                                         
------
Dockerfile:47
--------------------
  46 |     
  47 | >>> RUN cd /uda && \
  48 | >>>     cmake -B build \
  49 | >>>     -DBUILD_SHARED_LIBS=ON \
  50 | >>>     -DCMAKE_BUILD_TYPE=Release \
  51 | >>>     -DSSLAUTHENTICATION=ON \
  52 | >>>     -DCLIENT_ONLY=ON \
  53 | >>>     -DENABLE_CAPNP=ON
  54 |     
--------------------
ERROR: failed to solve: process "/bin/bash -c cd /uda &&     cmake -B build     -DBUILD_SHARED_LIBS=ON     -DCMAKE_BUILD_TYPE=Release     -DSSLAUTHENTICATION=ON     -DCLIENT_ONLY=ON     -DENABLE_CAPNP=ON" did not complete successfully: exit code: 1

uda idam does not mutliple server connections...

always broken when you migrate to new uda servers...hope it will be the last time
currently if one client tries to connect multiple uda servers it fails (i would say behave unexpectedly)
the fix is in accAPI.cpp putIdamServerHost(const char* host) and putIdamServerPort(int port)

Compilation issue with toolchain 2023b

Raised initially at https://jira.iter.org/browse/IMAS-5109, compilation fails with GCC 13 (probably related to https://gcc.gnu.org/gcc-13/porting_to.html):

FAILED: source/bin/CMakeFiles/uda_cli.dir/uda_cli.cpp.o
/work/imas/opt/EasyBuild/software/GCCcore/13.2.0/bin/g++ -DA64 -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DCAPNP_ENABL
ED=1 -DLIBXML2_PRINTF_CHAR_ARG -DOSTYPE=Linux -DUDA_EXPORT -I/opt/local/include -I/tmp/pinches/EasyBuild/UDA/2.7.4/GCC-13.2.0/easybuild_obj/
source -I/tmp/pinches/EasyBuild/UDA/2.7.4/GCC-13.2.0/UDA-2.7.4/source -I/tmp/pinches/EasyBuild/UDA/2.7.4/GCC-13.2.0/UDA-2.7.4/extlib/GSL-4.0
.0/include -isystem /work/imas/opt/EasyBuild/software/Boost/1.83.0-GCC-13.2.0/include -O2 -ftree-vectorize -march=sandybridge -fno-math-errn
o -fPIC -fPIC -pthread -Wno-use-after-free -Wno-mismatched-new-delete -g -std=c++17 -fPIE   -Wall -Werror -Wextra -Wno-unused-parameter -Wno
-missing-field-initializers -Wno-format-truncation -Wno-format-overflow -Wno-use-after-free -MD -MT source/bin/CMakeFiles/uda_cli.dir/uda_cl
i.cpp.o -MF source/bin/CMakeFiles/uda_cli.dir/uda_cli.cpp.o.d -o source/bin/CMakeFiles/uda_cli.dir/uda_cli.cpp.o -c /tmp/pinches/EasyBuild/U
DA/2.7.4/GCC-13.2.0/UDA-2.7.4/source/bin/uda_cli.cpp
In file included from /tmp/pinches/EasyBuild/UDA/2.7.4/GCC-13.2.0/UDA-2.7.4/source/wrappers/c++/UDA.hpp:4,
                 from /tmp/pinches/EasyBuild/UDA/2.7.4/GCC-13.2.0/UDA-2.7.4/source/bin/uda_cli.cpp:1:
/tmp/pinches/EasyBuild/UDA/2.7.4/GCC-13.2.0/UDA-2.7.4/source/wrappers/c++/client.hpp:163:46: error: uint8_t has not been declared
  163 |     void put(const std::string& instruction, uint8_t data);
      |                                              ^~~~~~~
/tmp/pinches/EasyBuild/UDA/2.7.4/GCC-13.2.0/UDA-2.7.4/source/wrappers/c++/client.hpp:163:10: error: void uda::Client::put(const std::string&
, int) cannot be overloaded with void uda::Client::put(const std::string&, int32_t)
  163 |     void put(const std::string& instruction, uint8_t data);
      |          ^~~
/tmp/pinches/EasyBuild/UDA/2.7.4/GCC-13.2.0/UDA-2.7.4/source/wrappers/c++/client.hpp:161:10: note: previous declaration void uda::Client::pu
t(const std::string&, int32_t)
  161 |     void put(const std::string& instruction, int32_t data);
      |          ^~~

Later we also face issues with Java 21
Source option 6 is no longer supported. Use 8 or later.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.