Uploaded image for project: 'MariaDB MaxScale'
  1. MariaDB MaxScale
  2. MXS-113

MaxScale seems to fail if built against MariaDB 10.0 libraries

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Minor
    • Resolution: Fixed
    • None
    • 1.2.0
    • Documentation
    • 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.

      Attachments

        Activity

          People

            markus makela markus makela
            simon.mudd Simon J Mudd
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.