← Back to team overview

maria-discuss team mailing list archive

MariaDB 5.5 compile error

 

Hi,

I would like some assistance in figuring out a compile error in MariaDB
5.5 series (tested on 5.5.25).

I'm trying to create a minimal (client only) build of 5.5.25.
This is the cmake configure command used:

cmake --no-warn-unused-cli -C
/var/tmp/portage/dev-db/mariadb-5.5.25/work/mariadb-5.5.25_build/gentoo_common_config.cmake
-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_PREFIX=/usr
-DMYSQL_DATADIR=/var/lib/mysql -DSYSCONFDIR=/etc/mysql
-DINSTALL_BINDIR=bin -DINSTALL_DOCDIR=share/doc/mariadb-5.5.25
-DINSTALL_DOCREADMEDIR=share/doc/mariadb-5.5.25
-DINSTALL_INCLUDEDIR=include/mysql -DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=lib64/mysql -DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLDATADIR=/var/lib/mysql
-DINSTALL_MYSQLSHAREDIR=share/mysql
-DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test
-DINSTALL_PLUGINDIR=lib64/mysql/plugin -DINSTALL_SBINDIR=sbin
-DINSTALL_SCRIPTDIR=share/mysql/scripts
-DINSTALL_SQLBENCHDIR=share/mysql
-DINSTALL_SUPPORTFILESDIR=/usr/share/mysql -DWITH_COMMENT=Gentoo Linux
mariadb-5.5.25 -DWITHOUT_UNIT_TESTS=1 -DNOT_FOR_DISTRIBUTION=1
-DDEFAULT_CHARSET=latin1 -DDEFAULT_COLLATION=latin1_swedish_ci
-DWITHOUT_SERVER=1 -DWITHOUT_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1
-DINSTALL_SQLBENCHDIR= -DWITH_SSL=system -DWITH_ZLIB=system
-DWITHOUT_LIBWRAP=1 -DWITHOUT_READLINE=1
-DWITHOUT_ARCHIVE_STORAGE_ENGINE=1 -DWITHOUT_BLACKHOLE_STORAGE_ENGINE=1
-DWITHOUT_CSV_STORAGE_ENGINE=1 -DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_HEAP_STORAGE_ENGINE=1 -DWITHOUT_INNOBASE_STORAGE_ENGINE=1
-DWITHOUT_MYISAMMRG_STORAGE_ENGINE=1 -DWITHOUT_MYISAM_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 -DWITHOUT_INNOBASE_STORAGE_ENGINE=1
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_DO_STRIP=OFF
-DCMAKE_USER_MAKE_RULES_OVERRIDE=/var/tmp/portage/dev-db/mariadb-5.5.25/work/mariadb-5.5.25_build/gentoo_rules.cmake
/var/tmp/portage/dev-db/mariadb-5.5.25/work/mysql

gives the following error during build
/var/tmp/portage/dev-db/mariadb-5.5.25/work/mysql/mysys/waiting_threads.c:196:21:
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before
‘key_WT_RESOURCE_cond’
make[2]: *** [mysys/CMakeFiles/mysys.dir/waiting_threads.c.o] Error 1

However, if i build the full server, I get no error.

cmake configure with no error:
cmake --no-warn-unused-cli -C
/var/tmp/portage/dev-db/mariadb-5.5.25/work/mariadb-5.5.25_build/gentoo_common_config.cmake
-DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_PREFIX=/usr
-DMYSQL_DATADIR=/var/lib/mysql -DSYSCONFDIR=/etc/mysql
-DINSTALL_BINDIR=bin -DINSTALL_DOCDIR=share/doc/mariadb-5.5.25
-DINSTALL_DOCREADMEDIR=share/doc/mariadb-5.5.25
-DINSTALL_INCLUDEDIR=include/mysql -DINSTALL_INFODIR=share/info
-DINSTALL_LIBDIR=lib64/mysql -DINSTALL_MANDIR=share/man
-DINSTALL_MYSQLDATADIR=/var/lib/mysql
-DINSTALL_MYSQLSHAREDIR=share/mysql
-DINSTALL_MYSQLTESTDIR=share/mysql/mysql-test
-DINSTALL_PLUGINDIR=lib64/mysql/plugin -DINSTALL_SBINDIR=sbin
-DINSTALL_SCRIPTDIR=share/mysql/scripts
-DINSTALL_SQLBENCHDIR=share/mysql
-DINSTALL_SUPPORTFILESDIR=/usr/share/mysql -DWITH_COMMENT=Gentoo Linux
mariadb-5.5.25 -DWITHOUT_UNIT_TESTS=1 -DNOT_FOR_DISTRIBUTION=1
-DDEFAULT_CHARSET=latin1 -DDEFAULT_COLLATION=latin1_swedish_ci
-DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DMYSQL_USER=mysql
-DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock -DWITHOUT_READLINE=1
-DWITH_ZLIB=system -DWITHOUT_LIBWRAP=1 -DDISABLE_SHARED=OFF
-DWITH_debug=OFF -DWITH_DEBUG=OFF -DWITH_Debug=OFF
-DWITH_EMBEDDED_SERVER=OFF -DWITH_profiling=ON -DWITH_PROFILING=ON
-DWITH_Profiling=ON -DENABLE_DTRACE=OFF -DWITH_SSL=system
-DCMAKE_EXE_LINKER_FLAGS=-ljemalloc -DWITH_SAFEMALLOC=OFF
-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_CSV_STORAGE_ENGINE=1 -DWITH_HEAP_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAMMRG_STORAGE_ENGINE=1
-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=ON -DWITH_PBXT_STORAGE_ENGINE=OFF
-DWITH_OQGRAPH_STORAGE_ENGINE=OFF -DWITH_SPHINX_STORAGE_ENGINE=OFF
-DWITH_FEDERATEDX_STORAGE_ENGINE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_INSTALL_DO_STRIP=OFF
-DCMAKE_USER_MAKE_RULES_OVERRIDE=/var/tmp/portage/dev-db/mariadb-5.5.25/work/mariadb-5.5.25_build/gentoo_rules.cmake
/var/tmp/portage/dev-db/mariadb-5.5.25/work/mysql

gentoo_common_config.cmake contains:
SET (LIB_SUFFIX 64 CACHE STRING "library path suffix" FORCE)
SET (CMAKE_INSTALL_LIBDIR /usr/lib64 CACHE PATH "Output directory for
libraries")

I'm at a loss why one way works and the the other doesn't.

Thank you.




Follow ups