Build hdbpp-mysql-project mysqlclient error

Hello guys smile

I try to build hdbpp-mysql-project based on instructions from: https://gitlab.com/tango-controls/hdbpp/hdbpp-mysql-project/-/blob/master/doc/build.md.

I get this error (include in attachment) message after execute command:
CMake -G "MinGW Makefiles" ..

Of course I know that miss some package, but please tell me where I can find it and how to build it for MariaDB. I have install both database MySQL and MariaDB.
I don't have any experience with hdbpp but are you sure that it supports Windows? Using "Mingw Makefiles" under Windows is also rather special, MSVC is more common.

For the future please post console output as text.
t-b
I don't have any experience with hdbpp but are you sure that it supports Windows? Using "Mingw Makefiles" under Windows is also rather special, MSVC is more common.

For the future please post console output as text.

Yes, I am, sure and if I use MSVC I get the same result. Here the more output:

– Configured libhdbpp project
– Populating libhdbpp_mysql
– Configuring done
– Generating done
– Build files have been written to: D:/Projekty/Praca/hdbpp-mysql-project/build/_deps/libhdbpp_mysql-subbuild
[ 11%] Creating directories for 'libhdbpp_mysql-populate'
[ 22%] Performing download step (git clone) for 'libhdbpp_mysql-populate'
Cloning into 'libhdbpp-mysql'…
branch 'libhdbpp2' set up to track 'origin/libhdbpp2'.
Switched to a new branch 'libhdbpp2'
[ 33%] Performing update step for 'libhdbpp_mysql-populate'
[ 44%] No patch step for 'libhdbpp_mysql-populate'
[ 55%] No configure step for 'libhdbpp_mysql-populate'
[ 66%] No build step for 'libhdbpp_mysql-populate'
[ 77%] No install step for 'libhdbpp_mysql-populate'
[ 88%] No test step for 'libhdbpp_mysql-populate'
[100%] Completed 'libhdbpp_mysql-populate'
[100%] Built target libhdbpp_mysql-populate
– Searching for libraries…
– Checking for module 'mysqlclient'
– No package 'mysqlclient' found
CMake Error at E:/Develop/CMake/share/cmake-3.24/Modules/FindPkgConfig.cmake:607 (message):
A required package was not found
Call Stack (most recent call first):
E:/Develop/CMake/share/cmake-3.24/Modules/FindPkgConfig.cmake:829 (_pkg_check_modules_internal)
external/libhdbpp-mysql/CMakeLists.txt:50 (pkg_check_modules)
As far as I know, nobody ever tried to compile/use the HDB++ subscribers and managers on Windows so it is currently not supported.
Even the hdbpp-es and hdbpp-cm conda packages are currently available only on Linux.

About the MySQL client library dependency, you could either use the MySQL client library (C API) : https://dev.mysql.com/downloads/c-api/ or the mariadb client library (Connector/C): https://mariadb.org/connector-c/all-releases/

Both should be compatible to connect to MariaDB or MySQL Databases.
Rosenberg's Law: Software is easy to make, except when you want it to do something new.
Corollary: The only software that's worth making is software that does something new.
Edited 1 year ago
Reynald
As far as I know, nobody ever tried to compile/use the HDB++ subscribers and managers on Windows so it is currently not supported.
Even the hdbpp-es and hdbpp-cm conda packages are currently available only on Linux.

About the MySQL client library dependency, you could either use the MySQL client library (C API) : https://dev.mysql.com/downloads/c-api/ or the mariadb client library (Connector/C): https://mariadb.org/connector-c/all-releases/

Both should be compatible to connect to MariaDB or MySQL Databases.

Thanks Reynald. I move all stuff to Linux, install all what I needed, but now I have another issue:

– Configured libhdbpp project
– Populating libhdbpp_mysql
– Configuring done (0.1s)
– Generating done (0.0s)
– Build files have been written to: /home/carolinii/Projekty/hdbpp-mysql
project/build/_deps/libhdbpp_mysql-subbuild
[ 11%] Creating directories for 'libhdbpp_mysql-populate'
[ 22%] Performing download step (git clone) for 'libhdbpp_mysql-populate'
Klonowanie do „libhdbpp-mysql”…
Gałąź „libhdbpp2” ustawiona na śledzenie zdalnej gałęzi „libhdbpp2” z „origin”.
Przełączono na nową gałąź „libhdbpp2”
[ 33%] Performing update step for 'libhdbpp_mysql-populate'
[ 44%] No patch step for 'libhdbpp_mysql-populate'
[ 55%] No configure step for 'libhdbpp_mysql-populate'
[ 66%] No build step for 'libhdbpp_mysql-populate'
[ 77%] No install step for 'libhdbpp_mysql-populate'
[ 88%] No test step for 'libhdbpp_mysql-populate'
[100%] Completed 'libhdbpp_mysql-populate'
[100%] Built target libhdbpp_mysql-populate
– Searching for libraries…
– Checking for module 'mysqlclient'
– Found mysqlclient, version 21.2.33
– Performing Test CMAKE_HAVE_LIBC_PTHREAD
– Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
– Found Threads: TRUE
– Building library paths…

CMake Error at external/libhdbpp-mysql/CMakeLists.txt:148 (add_library):
The target name "libhdbpp::libhdbpp_shared_library" is reserved or not valid for certain
CMake features, such as generator expressions, and may result in undefined behavior.

CMake Error at external/libhdbpp-mysql/CMakeLists.txt:150 (target_link_libraries):
IMPORTED library can only be used with the INTERFACE keyword of target_link_libraries

CMake Error at external/libhdbpp-mysql/CMakeLists.txt:151 (target_link_libraries):
IMPORTED library can only be used with the INTERFACE keyword of target_link_libraries

CMake Error at external/libhdbpp-mysql/CMakeLists.txt:160 (target_include_directories):
target_include_directories may only set INTERFACE properties on IMPORTED targets

CMake Error at external/libhdbpp-mysql/CMakeLists.txt:161 (target_include_directories):
target_include_directories may only set INTERFACE properties on IMPORTED targets

CMake Error at external/libhdbpp-mysql/CMakeLists.txt:162 (target_include_directories):
target_include_directories may only set INTERFACE properties on IMPORTED targets

CMake Error at external/libhdbpp-mysql/CMakeLists.txt:164 (target_compile_options):
target_compile_options may only set INTERFACE properties on IMPORTED targets

CMake Error at external/libhdbpp-mysql/CMakeLists.txt:174 (add_library):
The target name "libhdbpp::libhdbpp_static_library" is reserved or not valid for certain CMake features, such as generator expressions, and may result in undefined behavior.

CMake Error at external/libhdbpp-mysql/CMakeLists.txt:175 (target_link_libraries):
Cannot specify link libraries for target "libhdbpp::libhdbpp_static_library" which is not built by this project.

– Configuring incomplete, errors occurred!
Edited 1 year ago
Hi,

it seems like the CMakeLists is not really up to date…

I tried to fix it, you can try this branch:
https://gitlab.com/tango-controls/hdbpp/hdbpp-mysql-project/-/tree/fix_cmake_dependencies_version?ref_type=heads

it works on my machine…

Cheers,

Damien
Damien Lacoste
Hi,

it seems like the CMakeLists is not really up to date…

I tried to fix it, you can try this branch:
https://gitlab.com/tango-controls/hdbpp/hdbpp-mysql-project/-/tree/fix_cmake_dependencies_version?ref_type=heads

it works on my machine…

Cheers,

Damien

Works perfect. Now, however, I'm getting more compilation errors after using the command:
make project


[ 4%] Building CXX object _deps/libhdbpp_mysql-build/CMakeFiles/libhdbpp_mysql_shared_library.dir/src/LibHdb++MySQL.cpp.o
/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp: In function ‘std::string hdbpp::to_json_value(T)’:
/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:87:57: error: ‘numeric_limits’ is not a member of ‘std’
87 | ss << std::scientific << std::setprecision(std::numeric_limits<T>::digits10+2) << val;
| ^~~~~~~~~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:87:73: error: expected primary-expression before ‘>’ token
87 | ss << std::scientific << std::setprecision(std::numeric_limits<T>::digits10+2) << val;
| ^

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:87:76: error: ‘::digits10’ has not been declared
87 | ss << std::scientific << std::setprecision(std::numeric_limits<T>::digits10+2) << val;
| ^~~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp: At global scope:

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:105:149: error: ‘my_bool’ has not been declared

105 | bind, enum_field_types mysql_value_type , const T &value_data, unsigned long &value_data_len, my_bool &is_null, bool is_unsigned)
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:114:144: error: ‘my_bool’ has not been declared
114 | enum_field_types mysql_value_type , const string &value_data, unsigned long &value_data_len, my_bool &is_null, bool is_unsigned)
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp: In function ‘void hdbpp::bind_value(MYSQL_BIND&, enum_field_types, const T&, long unsigned int&, int&, bool) [with T = std::__cxx11::basic_string<char>; MYSQL_BIND = MYSQL_BIND]’:

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:118:27: error: cannot convert ‘int*’ to ‘bool*’ in assignment
118 | log_bind.is_null= &is_null;
| ^~~~~~~~
| |
| int*

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp: In constructor ‘hdbpp::HdbPPMySQL::HdbPPMySQL(const string&, const std::vector<std::__cxx11::basic_string<char> >&)’:

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:276:9: error: ‘my_bool’ was not declared in this scope; did you mean ‘bool’?
276 | my_bool my_auto_reconnect=1;
| ^~~~~~~
| bool

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:277:51: error: ‘my_auto_reconnect’ was not declared in this scope
277 | if(mysql_options(dbp,MYSQL_OPT_RECONNECT,&my_auto_reconnect) !=0)
| ^~~~~~~~~~~~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp: In member function ‘void hdbpp::HdbPPMySQL::store_scalar(const std::vector<hdbpp::event_values_param<Type> >&, int, int, const string&, enum_field_types, bool)’:

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1731:25: error: ‘my_bool’ was not declared in this scope; did you mean ‘bool’?
1731 | my_bool is_null[3*insert_size]; /* value nullability */ //value_r, value_w, error_desc_id
| ^~~~~~~
| bool

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1732:32: error: expected ‘;’ before ‘is_unsigned’
1732 | my_bool is_unsigned=_is_unsigned; /* value unsigned */
| ^ ~~~~~~~~~~~
| ;

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1752:49: error: ‘is_null’ was not declared in this scope
1752 | is_null[3*chunk_idx+0]=1;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1757:49: error: ‘is_null’ was not declared in this scope
1757 | is_null[3*chunk_idx+0]=0;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1763:41: error: ‘is_null’ was not declared in this scope
1763 | is_null[3*chunk_idx+0]=1;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1771:49: error: ‘is_null’ was not declared in this scope
1771 | is_null[3*chunk_idx+1]=1;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1776:49: error: ‘is_null’ was not declared in this scope
1776 | is_null[3*chunk_idx+1]=0;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1782:41: error: ‘is_null’ was not declared in this scope
1782 | is_null[3*chunk_idx+1]=1;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1798:49: error: ‘is_null’ was not declared in this scope
1798 | is_null[3*chunk_idx+2]=1;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1800:49: error: ‘is_null’ was not declared in this scope
1800 | is_null[3*chunk_idx+2]=0;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1837:76: error: ‘is_null’ was not declared in this scope
1837 | plog_bind[plog_bind_ind].is_null= &is_null[3*chunk_idx+2];
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1843:142: error: ‘is_null’ was not declared in this scope
1843 | _bind[plog_bind_ind],mysql_value_type,value_data[2*chunk_idx+0],value_data_len[2*chunk_idx+0],is_null[3*chunk_idx+0],is_unsigned);
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1843:176: error: missing template arguments before ‘)’ token
1843 | l_value_type,value_data[2*chunk_idx+0],value_data_len[2*chunk_idx+0],is_null[3*chunk_idx+0],is_unsigned);
| ^

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:1846:176: error: missing template arguments before ‘)’ token
1846 | l_value_type,value_data[2*chunk_idx+1],value_data_len[2*chunk_idx+1],is_null[3*chunk_idx+1],is_unsigned);
| ^

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp: In member function ‘void hdbpp::HdbPPMySQL::store_array(const string&, const std::vector<T>&, const std::vector<T>&, int, const string&, int, int, Tango::AttributeDimension, Tango::AttributeDimension, double, double, const string&, enum_field_types, bool, bool)’:

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2027:25: error: ‘my_bool’ was not declared in this scope; did you mean ‘bool’?
2027 | my_bool is_null[3*insert_size]; /* value nullability */ //value_r, value_w, error_desc_id
| ^~~~~~~
| bool

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2028:32: error: expected ‘;’ before ‘is_unsigned’
2028 | my_bool is_unsigned=_is_unsigned; /* value unsigned */
| ^ ~~~~~~~~~~~
| ;

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2045:49: error: ‘is_null’ was not declared in this scope; did you mean ‘isNull’?
2045 | is_null[3*chunk_idx+0]=1;
| ^~~~~~~
| isNull

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2050:49: error: ‘is_null’ was not declared in this scope; did you mean ‘isNull’?
2050 | is_null[3*chunk_idx+0]=0;
| ^~~~~~~
| isNull

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2056:41: error: ‘is_null’ was not declared in this scope; did you mean ‘isNull’?
2056 | is_null[3*chunk_idx+0]=1;
| ^~~~~~~
| isNull

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2064:49: error: ‘is_null’ was not declared in this scope; did you mean ‘isNull’?
2064 | is_null[3*chunk_idx+1]=1;
| ^~~~~~~
| isNull

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2069:49: error: ‘is_null’ was not declared in this scope; did you mean ‘isNull’?
2069 | is_null[3*chunk_idx+1]=0;
| ^~~~~~~
| isNull

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2075:41: error: ‘is_null’ was not declared in this scope; did you mean ‘isNull’?
2075 | is_null[3*chunk_idx+1]=1;
| ^~~~~~~
| isNull

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2086:49: error: ‘is_null’ was not declared in this scope; did you mean ‘isNull’?
2086 | is_null[3*chunk_idx+2]=1;
| ^~~~~~~
| isNull

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2088:49: error: ‘is_null’ was not declared in this scope; did you mean ‘isNull’?
2088 | is_null[3*chunk_idx+2]=0;
| ^~~~~~~
| isNull

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2138:76: error: ‘is_null’ was not declared in this scope; did you mean ‘isNull’?
2138 | plog_bind[plog_bind_ind].is_null= &is_null[3*chunk_idx+2];
| ^~~~~~~
| isNull

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2162:142: error: ‘is_null’ was not declared in this scope; did you mean ‘isNull’?
2162 | _bind[plog_bind_ind],mysql_value_type,value_data[2*chunk_idx+0],value_data_len[2*chunk_idx+0],is_null[3*chunk_idx+0],is_unsigned);
| ^~~~~~~
| isNull

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2162:176: error: missing template arguments before ‘)’ token
2162 | l_value_type,value_data[2*chunk_idx+0],value_data_len[2*chunk_idx+0],is_null[3*chunk_idx+0],is_unsigned);
| ^

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2179:184: error: missing template arguments before ‘)’ token
2179 | l_value_type,value_data[2*chunk_idx+1],value_data_len[2*chunk_idx+1],is_null[3*chunk_idx+1],is_unsigned);
| ^

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2188:33: error: ‘is_null’ was not declared in this scope; did you mean ‘isNull’?
2188 | is_null[3*idx+0]=1;
| ^~~~~~~
| isNull

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2274:158: error: missing template arguments before ‘)’ token
2274 | log_bind_ind],mysql_value_type,value_data[2*idx+0],value_data_len[2*idx+0],is_null[3*idx+0],is_unsigned);
| ^

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2291:166: error: missing template arguments before ‘)’ token
2291 | log_bind_ind],mysql_value_type,value_data[2*idx+1],value_data_len[2*idx+1],is_null[3*idx+1],is_unsigned);
| ^

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp: In member function ‘void hdbpp::HdbPPMySQL::store_array_json(const std::vector<hdbpp::event_values_param<Type> >&, int, int, const string&, enum_field_types, bool)’:

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2450:25: error: ‘my_bool’ was not declared in this scope; did you mean ‘bool’?
2450 | my_bool is_null[3*insert_size]; /* value nullability */ //value_r, value_w, error_desc_id
| ^~~~~~~
| bool

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2471:57: error: ‘is_null’ was not declared in this scope
2471 | is_null[3*chunk_idx+0]=0;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2488:49: error: ‘is_null’ was not declared in this scope
2488 | is_null[3*chunk_idx+0]=1;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2495:57: error: ‘is_null’ was not declared in this scope
2495 | is_null[3*chunk_idx+1]=0;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2512:49: error: ‘is_null’ was not declared in this scope
2512 | is_null[3*chunk_idx+1]=1;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2540:49: error: ‘is_null’ was not declared in this scope
2540 | is_null[3*chunk_idx+2]=1;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2542:49: error: ‘is_null’ was not declared in this scope
2542 | is_null[3*chunk_idx+2]=0;
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2588:76: error: ‘is_null’ was not declared in this scope
2588 | plog_bind[plog_bind_ind].is_null= &is_null[3*chunk_idx+2];
| ^~~~~~~

/home/carolinii/Projekty/hdbpp-mysql-project/external/libhdbpp-mysql/src/LibHdb++MySQL.cpp:2608:68: error: ‘is_null’ was not declared in this scope
2608 | plog_bind[plog_bind_ind].is_null= &is_null[3*chunk_idx+0];
| ^~~~~~~

make[3]: *** [_deps/libhdbpp_mysql-build/CMakeFiles/libhdbpp_mysql_shared_library.dir/build.make:79: _deps/libhdbpp_mysql-build/CMakeFiles/libhdbpp_mysql_shared_library.dir/src/LibHdb++MySQL.cpp.o] Błąd 1
make[2]: *** [CMakeFiles/Makefile2:334: _deps/libhdbpp_mysql-build/CMakeFiles/libhdbpp_mysql_shared_library.dir/all] Błąd 2
make[1]: *** [CMakeFiles/Makefile2:211: CMakeFiles/project.dir/rule] Błąd 2
make: *** [Makefile:169: project] Błąd 2
I was afraid you would run into something like this…

Can you tell us which linux distribution you're using?
And your versions of gcc, mysql or mariadb (the error you see with my_bool is probably linked with this), and if you think of something else that might be relevant…
Damien Lacoste
I was afraid you would run into something like this…

Can you tell us which linux distribution you're using?
And your versions of gcc, mysql or mariadb (the error you see with my_bool is probably linked with this), and if you think of something else that might be relevant…


carolinii@carolinii-tango:~/Pulpit$ lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.2 LTS
Release: 22.04
Codename: jammy

carolinii@carolinii-tango:~/Pulpit$ gcc –version

gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

carolinii@carolinii-tango:~/Pulpit$ mariadb –version

mariadb Ver 15.1 Distrib 10.6.12-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper


I solved the current problem, though I'm not sure if this is the way to go:

In the LibHdb++MySQL.cpp source file for the libhdbpp-mysql project, I made changes:
- added #include <limits>
- replaced all occurrences of 'my_bool' to 'bool'

In the HdbConfigurationManager source file for the hdbpp_cm project:
- replaced all occurrences of Tango::string_free to CORBA::string_free
Edited 1 year ago
- The `#include <limits>` fix makes sense
- For `my_bool` I suggest to use what TangoDatabase uses in https://gitlab.com/tango-controls/TangoDatabase/-/blob/main/common.h#L12.

Regarding Tango::string_free, this is part of cppTango since 9.3.3. Are you required to use an old version like that? Latest 9.3.x is 9.3.6, and on the modern branch we have 9.4.2.
 
Register or login to create to post a reply.