Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
I was looking at how to build this to do some testing and notice that building with MariaDB-5.5 rpms (on CentOS 6) the build fails if I use the MariaDB-10.0 rpms. Trying with MariaDB-5.5 rpms seems to allow the build to complete.
The build failure gives me:
...
[ 48%] Building C object server/core/CMakeFiles/maxscale.dir/memlog.c.o
/home/simon/src/git/MaxScale/server/core/memlog.c: In function ‘memlog_log’:
/home/simon/src/git/MaxScale/server/core/memlog.c:136: warning: cast from pointer to integer of different size
[ 50%] Building C object server/core/CMakeFiles/maxscale.dir/resultset.c.o
Linking CXX executable maxscale
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/libmysqld.a(log0recv.cc.o): In function `recv_dblwr_t::add(unsigned char*)':
(.text+0x714a): undefined reference to `std::_detail::_List_node_base::_M_hook(std::_detail::_List_node_base*)'
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../lib64/libmysqld.a(fil0fil.cc.o): In function `fil_get_space_names(std::list<char const*, std::allocator<char const*> >&)':
(.text+0x9b33): undefined reference to `std::_detail::_List_node_base::_M_hook(std::_detail::_List_node_base*)'
collect2: ld returned 1 exit status
make[2]: *** [server/core/maxscale] Error 1
make[1]: *** [server/core/CMakeFiles/maxscale.dir/all] Error 2
make: *** [all] Error 2
when the installed MariaDB rpms are:
$ rpm -qa | grep MariaDB
MariaDB-server-10.0.17-1.el6.x86_64
MariaDB-compat-10.0.17-1.el6.x86_64
MariaDB-client-10.0.17-1.el6.x86_64
MariaDB-devel-10.0.17-1.el6.x86_64
MariaDB-common-10.0.17-1.el6.x86_64
Whereas doing it with these rpms works fine:
...
Linking CXX shared library libtopfilter.so
[ 95%] Built target topfilter
[ 97%] Building C object server/modules/filter/hint/CMakeFiles/hintfilter.dir/hintfilter.c.o
[ 98%] Building C object server/modules/filter/hint/CMakeFiles/hintfilter.dir/hintparser.c.o
Linking CXX shared library libhintfilter.so
[ 98%] Built target hintfilter
[100%] Building C object client/CMakeFiles/maxadmin.dir/maxadmin.c.o
Linking C executable maxadmin
[100%] Built target maxadmin
$ rpm -qa | grep MariaDB
MariaDB-devel-5.5.42-1.el6.x86_64
MariaDB-common-5.5.42-1.el6.x86_64
MariaDB-server-5.5.42-1.el6.x86_64
MariaDB-compat-5.5.42-1.el6.x86_64
MariaDB-client-5.5.42-1.el6.x86_64
Note: I'd built by creating a build directory under git/MaxScale and doing
$ cd build ; cmake ..; make
So not sure the exact cause or if perhaps I'm doing something wrong.
I see that MaxScale/Documentation/Getting-Started/Building-MaxScale-from-Source-Code.md
mentions "MariaDB Develop libraries version 5.5.38 or later". If the 10.0 build problem is not my own then perhaps the docs could be clearer. However, supporting both versions and getting the build system to recognise any differences would make things easier.