Details
Description
When compiling with TokuDB, we get the following error:
$ cmake . -DBUILD_CONFIG=mysql_release -DFEATURE_SET=community -DINSTALL_LAYOUT=RPM -DRPM=fedora22 -DCMAKE_INSTALL_PREFIX=/usr -DINSTALL_DOCDIR=share/doc/mariadb -DINSTALL_DOCREADMEDIR=share/doc/mariadb -DINSTALL_INCLUDEDIR=include/mysql -DINSTALL_INFODIR=share/info -DINSTALL_LIBDIR=lib64/mysql -DINSTALL_MANDIR=share/man -DINSTALL_MYSQLSHAREDIR=share/mariadb -DINSTALL_MYSQLTESTDIR=share/mysql-test -DINSTALL_PLUGINDIR=lib64/mysql/plugin -DINSTALL_SBINDIR=libexec -DINSTALL_SCRIPTDIR=bin -DINSTALL_SQLBENCHDIR=share -DINSTALL_SUPPORTFILESDIR=share/mariadb -DMYSQL_DATADIR=/var/lib/mysql -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DENABLED_LOCAL_INFILE=ON -DENABLE_DTRACE=ON -DWITH_EMBEDDED_SERVER=ON -DWITH_READLINE=ON -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_PCRE=system -DWITH_JEMALLOC=no -DTMPDIR=/var/tmp -DWITH_MYSQLD_LDFLAGS=-Wl,-z,relro,-z,now ... $ make VERBOSE=1 ... [ 8%] [ 8%] Building C object mysys/CMakeFiles/mysys.dir/mf_format.c.o cd /builddir/build/BUILD/mariadb-10.0.12/mysys && /usr/lib64/ccache/cc -DHAVE_CONFIG_H -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switch es -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -fno-delete-null-pointer-checks -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized -DDBUG_OFF -I/builddir/build/BU ILD/mariadb-10.0.12/include -I/builddir/build/BUILD/mariadb-10.0.12/mysys -fPIC -o CMakeFiles/mysys.dir/mf_format.c.o -c /builddir/build/BUILD/mariadb-10.0.12/mysys/mf_format.c Building CXX object storage/tokudb/ft-index/util/CMakeFiles/util_static.dir/mempool.cc.o cd /builddir/build/BUILD/mariadb-10.0.12/storage/tokudb/ft-index/util && /usr/lib64/ccache/c++ -DHAVE_CONFIG_H -DTOKUDB_VERSION=\"7.1.6\" -D_DEFAULT_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE=600 -D__LONG_LONG_S UPPORTED -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -std=c++11 -Wall -Werror -Wcast-align -Wshadow -Wmissing-format-attribute -Wpointer-arith -Wmissing-declarations -Wno-missing-noreturn -Wextra -Wno-error=strict-overflow -Wpacked -fno- exceptions -fno-rtti -Wno-error=missing-format-attribute -Wmissing-format-attribute -Wlogical-op -Wtrampolines -Wswitch -Winit-self -Wstrict-null-sentinel -Wno-missing-field-initializers -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_F ORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -fno-delete-null-pointer-checks -fno-exceptions -fn o-rtti -flto -fuse-linker-plugin -O3 -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized -DDBUG_OFF -g -O3 -UNDEBUG -fPIC -I/builddir/build/BUILD/mariadb-10.0.12/storage/tokudb/ft-index/buildheader -I/builddi r/build/BUILD/mariadb-10.0.12/include -I/builddir/build/BUILD/mariadb-10.0.12/storage/tokudb/ft-index/./xz/include -I/builddir/build/BUILD/mariadb-10.0.12/storage/tokudb/ft-index/portability -I/builddir/build/BUILD/mariadb-10.0.12/storage /tokudb/ft-index -isystem /usr/local/include -o CMakeFiles/util_static.dir/mempool.cc.o -c /builddir/build/BUILD/mariadb-10.0.12/storage/tokudb/ft-index/util/mempool.cc /tmp/ccL4qkTx.ltrans0.ltrans.o: In function `main': /builddir/build/BUILD/mariadb-10.0.12/storage/tokudb/ft-index/ft/logformat.cc:847: undefined reference to `toku_do_assert_fail(char const*, char const*, char const*, int, int)' /tmp/ccL4qkTx.ltrans0.ltrans.o: In function `get_error_errno': /builddir/build/BUILD/mariadb-10.0.12/storage/tokudb/ft-index/portability/toku_assert.h:199: undefined reference to `toku_do_assert_fail(char const*, char const*, char const*, int, int)' /tmp/ccL4qkTx.ltrans0.ltrans.o: In function `main': /builddir/build/BUILD/mariadb-10.0.12/storage/tokudb/ft-index/ft/logformat.cc:840: undefined reference to `toku_do_assert_fail(char const*, char const*, char const*, int, int)' /builddir/build/BUILD/mariadb-10.0.12/storage/tokudb/ft-index/ft/logformat.cc:839: undefined reference to `toku_do_assert_fail(char const*, char const*, char const*, int, int)' /builddir/build/BUILD/mariadb-10.0.12/storage/tokudb/ft-index/ft/logformat.cc:838: undefined reference to `toku_do_assert_fail(char const*, char const*, char const*, int, int)' /tmp/ccL4qkTx.ltrans0.ltrans.o:/builddir/build/BUILD/mariadb-10.0.12/storage/tokudb/ft-index/ft/logformat.cc:830: more undefined references to `toku_do_assert_fail(char const*, char const*, char const*, int, int)' follow collect2: error: ld returned 1 exit status
Gliffy Diagrams
Attachments
Issue Links
- relates to
-
MDEV-6449 TokuDB failed to build with 'logformat.cc:847: undefined reference to `toku_do_assert_fail()'
-
- Closed
-
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
I'd also changed _DEFAULT_SOURCE instead of _SVID_SOURCE, otherwise glibc reported that _SVID_SOURCE is deprecated:
diff -up mariadb-10.0.12/storage/tokudb/ft-index/cmake_modules/TokuSetupCompiler.cmake.defsource mariadb-10.0.12/storage/tokudb/ft-index/cmake_modules/TokuSetupCompiler.cmake --- mariadb-10.0.12/storage/tokudb/ft-index/cmake_modules/TokuSetupCompiler.cmake.defsource 2014-07-15 16:47:16.070766166 +0200 +++ mariadb-10.0.12/storage/tokudb/ft-index/cmake_modules/TokuSetupCompiler.cmake 2014-07-15 16:47:36.854819917 +0200 @@ -17,7 +17,7 @@ add_c_defines( if (NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD) ## on FreeBSD these types of macros actually remove functionality add_c_defines( - _SVID_SOURCE + _DEFAULT_SOURCE _XOPEN_SOURCE=600 ) endif ()