Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
Hi, Leif! On Dec 02, Leif Walsh wrote: Yep, CMAKE_SKIP_BUILD_RPATH=0 would cause this exact problem. We should add something to our cmake to warn if that is set to 0. I'd suggest this change: --- storage/tokudb/ft-index/ft/CMakeLists.txt 2013-11-19 14:35:31 + +++ storage/tokudb/ft-index/ft/CMakeLists.txt 2013-12-03 09:04:29 + @@ -11 +11 @@ -target_link_libraries(logformat ${LIBTOKUPORTABILITY}) +target_link_libraries(logformat ${LIBTOKUPORTABILITY}_static) logformat is used internally during the build, it's not going to be installed. Thus it can use static libraries and avoid the whole rpath issue altogether. This should probably be done for all binaries that are only used during the build. Regards, Sergei ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
That's a good solution, but I'd still be wary of messing around too much with cmake's RPATH handling. I'll do this in ft-index soon though. Sent from my iPhone On Dec 3, 2013, at 4:09, Sergei Golubchik s...@mariadb.org wrote: Hi, Leif! On Dec 02, Leif Walsh wrote: Yep, CMAKE_SKIP_BUILD_RPATH=0 would cause this exact problem. We should add something to our cmake to warn if that is set to 0. I'd suggest this change: --- storage/tokudb/ft-index/ft/CMakeLists.txt 2013-11-19 14:35:31 + +++ storage/tokudb/ft-index/ft/CMakeLists.txt 2013-12-03 09:04:29 + @@ -11 +11 @@ -target_link_libraries(logformat ${LIBTOKUPORTABILITY}) +target_link_libraries(logformat ${LIBTOKUPORTABILITY}_static) logformat is used internally during the build, it's not going to be installed. Thus it can use static libraries and avoid the whole rpath issue altogether. This should probably be done for all binaries that are only used during the build. Regards, Sergei ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] Build fail of MariaDB10 with TokuDB enabled
On the (eventual) road to successfully building MariaDB10 + TokuDB, Building cd src/mariadb bzr log | head revno: 3911 committer: Alexander Barkov b...@mnogosearch.org branch nick: maria-10.0 timestamp: Tue 2013-11-26 10:53:21 +0400 message: Fixing malformed data in mysql-test/std_data/Index.xml revno: 3910 committer: Sergey Vojtovich s...@mariadb.org on uname -a Linux dev1 3.7.10-1.16-desktop #1 SMP PREEMPT Fri May 31 20:21:23 UTC 2013 (97c14ba) x86_64 x86_64 x86_64 GNU/Linux lsb_release -ar LSB Version: core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64:desktop-4.0-amd64:desktop-4.0-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.2-amd64:graphics-3.2-noarch:graphics-4.0-amd64:graphics-4.0-noarch Distributor ID: openSUSE project Description:openSUSE 12.3 (x86_64) Release:12.3 Codename: Dartmouth with gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/4.8/lto-wrapper Target: x86_64-suse-linux Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.8 --enable-ssp --disable-libssp --disable-plugin --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --enable-linker-build-id --enable-linux-futex --program-suffix=-4.8 --without-system-libunwind --with-arch-32=i586 --with-tune=generic --build=x86_64-suse-linux --host=x86_64-suse-linux Thread model: posix gcc version 4.8.2 20131016 [gcc-4_8-branch revision 203692] (SUSE Linux) cmake --version cmake version 2.8.12.1 applying a needed src patch cd /usr/local/src/mariadb # BUG @ http://www.linuxfromscratch.org/blfs/view/svn/server/mariadb.html sed -i s/srv_buf_size/srv_sort_buf_size/ storage/innobase/row/row0log.cc after cmake, with gcc c++11 support NOT enabled, mkdir bld cd bld cmake .. \ ... \ -DWITHOUT_TOKUDB=1 build completes successfully, make ... ldd sql/mysqld linux-vdso.so.1 (0x7fffb9dff000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f9031e86000) libaio.so.1 = /lib64/libaio.so.1 (0x7f9031c84000) libz.so.1 = /lib64/libz.so.1 (0x7f9031a6e000) libcrypt.so.1 = /lib64/libcrypt.so.1 (0x7f9031832000) libssl.so.1.0.0 = /usr/local/ssl/lib64/libssl.so.1.0.0 (0x7f90315c6000) libcrypto.so.1.0.0 = /usr/local/ssl/lib64/libcrypto.so.1.0.0 (0x7f90311da000) libdl.so.2 = /lib64/libdl.so.2 (0x7f9030fd6000) libstdc++.so.6 = /usr/lib64/libstdc++.so.6 (0x7f9030cce000) libm.so.6 = /lib64/libm.so.6 (0x7f90309d) libgcc_s.so.1 = /lib64/libgcc_s.so.1 (0x7f90307b9000) libc.so.6 = /lib64/libc.so.6 (0x7f903040b000) /lib64/ld-linux-x86-64.so.2 (0x7f90320a2000) repeating, but with TokuDB build enabled, cd bld cmake .. \ ... \ - -DWITHOUT_TOKUDB=1 + -DWITHOUT_TOKUDB=0 build now fails, make ... [ 29%] Built target perfschema Scanning dependencies of target tokuportability_static_conv [ 29%] Building CXX object storage/tokudb/ft-index/portability/CMakeFiles/tokuportability_static_conv.dir/huge_page_detection.cc.o [ 29%] Building CXX object
Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
Hi, darx! On Dec 02, d...@sent.com wrote: On the (eventual) road to successfully building MariaDB10 + TokuDB, applying a needed src patch cd /usr/local/src/mariadb # BUG @ http://www.linuxfromscratch.org/blfs/view/svn/server/mariadb.html sed -i s/srv_buf_size/srv_sort_buf_size/ storage/innobase/row/row0log.cc I do't know what it is (and couldn't find it on that page), but I suppose it's innodb only, so shouldn't matter here. repeating, but with TokuDB build enabled, cd bld cmake .. \ ... \ - -DWITHOUT_TOKUDB=1 + -DWITHOUT_TOKUDB=0 build now fails, make ... [ 31%] Building CXX object storage/tokudb/ft-index/portability/CMakeFiles/tokuportability.dir/toku_time.cc.o Linking CXX shared library libtokuportability.so [ 31%] Built target tokuportability Scanning dependencies of target logformat [ 31%] Building CXX object storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/logformat.cc.o Linking CXX executable logformat [ 31%] Built target logformat Scanning dependencies of target generate_log_code [ 31%] Generating log_code.cc, log_print.cc, log_header.h ./logformat: error while loading shared libraries: libtokuportability.so: cannot open shared object file: No such file or directory make[2]: *** [storage/tokudb/ft-index/ft/log_code.cc] Error 127 make[1]: *** [storage/tokudb/ft-index/ft/CMakeFiles/generate_log_code.dir/all] Error 2 make: *** [all] Error 2 yes, I'm aware that opensuse is not a currently supported platform for TokuDB. If you mean this page: https://mariadb.com/kb/en/how-to-enable-tokudb-in-mariadb/ It only lists platforms where we build tokudb binaries. While we have an opensuse builder, it's openSUSE 11.1, with gcc 4.3.2 and cmake 2.6, so it cannot build TokuDB. That's why openSUSE is not in the list. I don't know of any reason why TokuDB cannot be built on openSUSE, presuming all build requirements are met. And in your case they obviously are. If it's not, I'd like to keep trying to get it working, here. Ah, wait a sec. SuSE. Cannot find .so library. This does ring a bell - may be it's not exactly your problem, but take a look at this: https://github.com/Tokutek/ft-index/issues/73 We have it fixed. But perhaps what you see is somehow related? Try to run 'make VERBOSE=1' instead of 'make', there can be a clue there. Or email the output and let me look at it. Regards, Sergei ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
The problem is that we're trying to run logformat and it can't find libtokuportability.so, even though a few lines up, it says we just build libtokuportability.so. Maybe the loader path is different on suse, can you try looking in the build directory for libtokuportability.so (it's supposed to land in portability/), and can you try running ldd on ft/logformat in the build directory? On Mon, Dec 2, 2013 at 4:00 PM, Sergei Golubchik s...@mariadb.org wrote: Hi, darx! On Dec 02, d...@sent.com wrote: On the (eventual) road to successfully building MariaDB10 + TokuDB, applying a needed src patch cd /usr/local/src/mariadb # BUG @ http://www.linuxfromscratch.org/blfs/view/svn/server/mariadb.html sed -i s/srv_buf_size/srv_sort_buf_size/ storage/innobase/row/row0log.cc I do't know what it is (and couldn't find it on that page), but I suppose it's innodb only, so shouldn't matter here. repeating, but with TokuDB build enabled, cd bld cmake .. \ ... \ - -DWITHOUT_TOKUDB=1 + -DWITHOUT_TOKUDB=0 build now fails, make ... [ 31%] Building CXX object storage/tokudb/ft-index/portability/CMakeFiles/tokuportability.dir/toku_time.cc.o Linking CXX shared library libtokuportability.so [ 31%] Built target tokuportability Scanning dependencies of target logformat [ 31%] Building CXX object storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/logformat.cc.o Linking CXX executable logformat [ 31%] Built target logformat Scanning dependencies of target generate_log_code [ 31%] Generating log_code.cc, log_print.cc, log_header.h ./logformat: error while loading shared libraries: libtokuportability.so: cannot open shared object file: No such file or directory make[2]: *** [storage/tokudb/ft-index/ft/log_code.cc] Error 127 make[1]: *** [storage/tokudb/ft-index/ft/CMakeFiles/generate_log_code.dir/all] Error 2 make: *** [all] Error 2 yes, I'm aware that opensuse is not a currently supported platform for TokuDB. If you mean this page: https://mariadb.com/kb/en/how-to-enable-tokudb-in-mariadb/ It only lists platforms where we build tokudb binaries. While we have an opensuse builder, it's openSUSE 11.1, with gcc 4.3.2 and cmake 2.6, so it cannot build TokuDB. That's why openSUSE is not in the list. I don't know of any reason why TokuDB cannot be built on openSUSE, presuming all build requirements are met. And in your case they obviously are. If it's not, I'd like to keep trying to get it working, here. Ah, wait a sec. SuSE. Cannot find .so library. This does ring a bell - may be it's not exactly your problem, but take a look at this: https://github.com/Tokutek/ft-index/issues/73 We have it fixed. But perhaps what you see is somehow related? Try to run 'make VERBOSE=1' instead of 'make', there can be a clue there. Or email the output and let me look at it. Regards, Sergei ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp -- Cheers, Leif ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
Can you run objdump -x /path/to/logformat | grep RPATH? For example, I get this: % ldd logformat linux-vdso.so.1 (0x7fffe03cd000) libtokuportability.so = /home/leif/git/ft-index/opt/portability/libtokuportability.so (0x7fba00ec1000) libpthread.so.0 = /usr/lib/libpthread.so.0 (0x7fba00ca3000) libdl.so.2 = /usr/lib/libdl.so.2 (0x7fba00a9f000) librt.so.1 = /usr/lib/librt.so.1 (0x7fba00897000) libstdc++.so.6 = /usr/lib/libstdc++.so.6 (0x7fba00593000) libm.so.6 = /usr/lib/libm.so.6 (0x7fba0029) libgcc_s.so.1 = /usr/lib/libgcc_s.so.1 (0x7fba0007a000) libc.so.6 = /usr/lib/libc.so.6 (0x7fb9ffccf000) /lib64/ld-linux-x86-64.so.2 (0x7fba010cd000) % objdump -x logformat | grep RPATH RPATH/home/leif/git/ft-index/opt/portability Maybe RPATH is set differently on suse and our cmake isn't doing it right. On Mon, Dec 2, 2013 at 4:47 PM, d...@sent.com wrote: Hi On Mon, Dec 2, 2013, at 01:00 PM, Sergei Golubchik wrote: I do't know what it is (and couldn't find it on that page), but I suppose it's innodb only, so shouldn't matter here. Just following instructions. It's @ Install MariaDB by running the following commands: sed -i s@data/test@\${INSTALL_MYSQLTESTDIR}@g sql/CMakeLists.txt == sed -i s/srv_buf_size/srv_sort_buf_size/ storage/innobase/row/row0log.cc yes, I'm aware that opensuse is not a currently supported platform for TokuDB. If you mean this page: https://mariadb.com/kb/en/how-to-enable-tokudb-in-mariadb/ It only lists platforms where we build tokudb binaries. While we have an opensuse builder, it's openSUSE 11.1, with gcc 4.3.2 and cmake 2.6, so it cannot build TokuDB. That's why openSUSE is not in the list. thanks I don't know of any reason why TokuDB cannot be built on openSUSE, presuming all build requirements are met. And in your case they obviously are. ok If it's not, I'd like to keep trying to get it working, here. Ah, wait a sec. SuSE. Cannot find .so library. This does ring a bell - may be it's not exactly your problem, but take a look at this: https://github.com/Tokutek/ft-index/issues/73 We have it fixed. But perhaps what you see is somehow related? /lib vs /lib64 still crops up every once in a rare while I'm not doing a ./configure ..., obviously, but my @MariaDB 'cmake' already _does_ include cmake .. \ ... -DINSTALL_LIBDIR=/lib64 \ ... perhaps it's not getting properly captured/passed? Try to run 'make VERBOSE=1' instead of 'make', there can be a clue there. Or email the output and let me look at it. make VERBOSE=1 ... http://pastebin.com/Gqj5FP8N The problem is that we're trying to run logformat and it can't find libtokuportability.so, even though a few lines up, it says we just build libtokuportability.so. Maybe the loader path is different on suse, can you try looking in the build directory for libtokuportability.so (it's supposed to land in portability/), and can you try running ldd on ft/logformat in the build directory? find . | grep libtokuportability ./storage/tokudb/ft-index/portability/libtokuportability_static.a ./storage/tokudb/ft-index/portability/libtokuportability_static_conv.a ./storage/tokudb/ft-index/portability/libtokuportability.so find . | grep ft/logformat ./storage/tokudb/ft-index/ft/logformat ldd ./storage/tokudb/ft-index/ft/logformat linux-vdso.so.1 (0x7fffb2bdf000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7f506fb65000) libtokuportability.so = not found libdl.so.2 = /lib64/libdl.so.2 (0x7f506f961000) librt.so.1 = /lib64/librt.so.1 (0x7f506f759000) libstdc++.so.6 = /usr/lib64/libstdc++.so.6 (0x7f506f451000) libm.so.6 = /lib64/libm.so.6 (0x7f506f153000) libgcc_s.so.1 = /lib64/libgcc_s.so.1 (0x7f506ef3c000) libc.so.6 = /lib64/libc.so.6 (0x7f506eb8e000) /lib64/ld-linux-x86-64.so.2 (0x7f506fd81000) darx -- Cheers, Leif ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
hi On Mon, Dec 2, 2013, at 01:56 PM, Leif Walsh wrote: Can you run objdump -x /path/to/logformat | grep RPATH? cd bld objdump -x ./storage/tokudb/ft-index/ft/logformat | grep RPATH (empty) ??? objdump -x ./storage/tokudb/ft-index/ft/logformat == http://pastebin.com/svdneTx9 darx ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
Given your question, seems there's possibly an rpath issue. Not quite sure what's being done, or why, with rpath + libtokuportability here, but, _this_ may be of some relevance re: RPATH @ opensuse, http://en.opensuse.org/openSUSE:Packaging_checks#Beware_of_Rpath ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
On Mon, Dec 2, 2013, at 05:21 PM, Leif Walsh wrote: look online for reports of problems with cmake and suse. cmake is used quite reglarly with no issues, here anyway. it is, after all, used for the MariaDB build successfully, when TokuDB is disabled. re: rpath, if it's being used for the build phase to get at locally installed libs, then I should note that I cmake with, cmake ..\ ... -DCMAKE_SKIP_BUILD_RPATH=0 \ -DCMAKE_BUILD_WITH_INSTALL_RPATH=1 \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=1 \ ... these were (still are?) necessary to properly use run-time link ssl libs external to the default sys paths -- e.g., ssl installed in /usr/local/ssl, so, together, cmake .. -LAH | egrep -i crypto|ssl|rpath|suffix -- suffixes .a;.so -- OPENSSL_INCLUDE_DIR = /usr/local/ssl/include -- OPENSSL_LIBRARIES = /usr/local/ssl/lib64/libssl.so -- CRYPTO_LIBRARY = /usr/local/ssl/lib64/libcrypto.so -- OPENSSL_MAJOR_VERSION = 1 -- SSL_LIBRARIES = /usr/local/ssl/lib64/libssl.so;/usr/local/ssl/lib64/libcrypto.so;dl CMAKE_SKIP_INSTALL_RPATH:BOOL=NO CMAKE_SKIP_RPATH:BOOL=NO CRYPTO_LIBRARY:FILEPATH=/usr/local/ssl/lib64/libcrypto.so OPENSSL_INCLUDE_DIR:PATH=/usr/local/ssl/include OPENSSL_LIBRARIES:FILEPATH=/usr/local/ssl/lib64/libssl.so OPENSSL_ROOT_DIR:PATH=/usr/local/ssl // path to custom SSL installation WITH_SSL_PATH:PATH=/usr/local/ssl results in mysqld --version mysqld Ver 10.0.7-MariaDB-log for Linux on x86_64 (Source distribution) ldd `which mysqld` `which mysql` | egrep ssl|crypto|bin/ /usr/local/mariadb/bin/mysqld: libssl.so.1.0.0 = /usr/local/ssl/lib64/libssl.so.1.0.0 (0x7fd80fea9000) libcrypto.so.1.0.0 = /usr/local/ssl/lib64/libcrypto.so.1.0.0 (0x7fd80fabd000) /usr/local/mariadb/bin/mysql: libssl.so.1.0.0 = /usr/local/ssl/lib64/libssl.so.1.0.0 (0x7f2d5e65d000) libcrypto.so.1.0.0 = /usr/local/ssl/lib64/libcrypto.so.1.0.0 (0x7f2d5e271000) atm, I'm staring suspiciously at that -DCMAKE_SKIP_BUILD_RPATH=0 ... darx ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
Yep, CMAKE_SKIP_BUILD_RPATH=0 would cause this exact problem. We should add something to our cmake to warn if that is set to 0. Sent from my iPhone On Dec 2, 2013, at 20:36, d...@sent.com wrote: On Mon, Dec 2, 2013, at 05:21 PM, Leif Walsh wrote: look online for reports of problems with cmake and suse. cmake is used quite reglarly with no issues, here anyway. it is, after all, used for the MariaDB build successfully, when TokuDB is disabled. re: rpath, if it's being used for the build phase to get at locally installed libs, then I should note that I cmake with, cmake ..\ ... -DCMAKE_SKIP_BUILD_RPATH=0 \ -DCMAKE_BUILD_WITH_INSTALL_RPATH=1 \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=1 \ ... these were (still are?) necessary to properly use run-time link ssl libs external to the default sys paths -- e.g., ssl installed in /usr/local/ssl, so, together, cmake .. -LAH | egrep -i crypto|ssl|rpath|suffix -- suffixes .a;.so -- OPENSSL_INCLUDE_DIR = /usr/local/ssl/include -- OPENSSL_LIBRARIES = /usr/local/ssl/lib64/libssl.so -- CRYPTO_LIBRARY = /usr/local/ssl/lib64/libcrypto.so -- OPENSSL_MAJOR_VERSION = 1 -- SSL_LIBRARIES = /usr/local/ssl/lib64/libssl.so;/usr/local/ssl/lib64/libcrypto.so;dl CMAKE_SKIP_INSTALL_RPATH:BOOL=NO CMAKE_SKIP_RPATH:BOOL=NO CRYPTO_LIBRARY:FILEPATH=/usr/local/ssl/lib64/libcrypto.so OPENSSL_INCLUDE_DIR:PATH=/usr/local/ssl/include OPENSSL_LIBRARIES:FILEPATH=/usr/local/ssl/lib64/libssl.so OPENSSL_ROOT_DIR:PATH=/usr/local/ssl // path to custom SSL installation WITH_SSL_PATH:PATH=/usr/local/ssl results in mysqld --version mysqld Ver 10.0.7-MariaDB-log for Linux on x86_64 (Source distribution) ldd `which mysqld` `which mysql` | egrep ssl|crypto|bin/ /usr/local/mariadb/bin/mysqld: libssl.so.1.0.0 = /usr/local/ssl/lib64/libssl.so.1.0.0 (0x7fd80fea9000) libcrypto.so.1.0.0 = /usr/local/ssl/lib64/libcrypto.so.1.0.0 (0x7fd80fabd000) /usr/local/mariadb/bin/mysql: libssl.so.1.0.0 = /usr/local/ssl/lib64/libssl.so.1.0.0 (0x7f2d5e65d000) libcrypto.so.1.0.0 = /usr/local/ssl/lib64/libcrypto.so.1.0.0 (0x7f2d5e271000) atm, I'm staring suspiciously at that -DCMAKE_SKIP_BUILD_RPATH=0 ... darx ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
testing that premise, rm -rf bld mkdir bld cd bld cmake .. \ ... - -DCMAKE_SKIP_BUILD_RPATH=0 \ + -DCMAKE_SKIP_BUILD_RPATH=1 \ ... -DWITHOUT_TOKUDB=0 make VERBOSE=1 unfortunately still fails, ... [ 31%] Built target tokuportability make -f storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/build.make storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/depend make[2]: Entering directory `/usr/local/src/mariadb/bld' cd /usr/local/src/mariadb/bld /usr/bin/cmake -E cmake_depends Unix Makefiles /usr/local/src/mariadb /usr/local/src/mariadb/storage/tokudb/ft-index/ft /usr/local/src/mariadb/bld /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/DependInfo.cmake --color= Dependee /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/DependInfo.cmake is newer than depender /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/depend.internal. Dependee /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft/CMakeFiles/CMakeDirectoryInformation.cmake is newer than depender /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/depend.internal. Scanning dependencies of target logformat make[2]: Leaving directory `/usr/local/src/mariadb/bld' make -f storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/build.make storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/build make[2]: Entering directory `/usr/local/src/mariadb/bld' /usr/bin/cmake -E cmake_progress_report /usr/local/src/mariadb/bld/CMakeFiles [ 31%] Building CXX object storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/logformat.cc.o cd /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft /usr/bin/g++-4.8 -DHAVE_CONFIG_H -DTOKUDB_VERSION=\7.0.4\ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_SVID_SOURCE -D_XOPEN_SOURCE=600 -D__LONG_LONG_SUPPORTED -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 -Wall -felide-constructors -fno-exceptions -fno-rtti -Wall -Wno-unused-parameter -fno-exceptions -fno-rtti -flto -fuse-linker-plugin -O2 -g -DNDEBUG -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1 -g -O3 -UNDEBUG -I/usr/local/src/mariadb/bld/storage/tokudb/ft-index/buildheader -I/usr/local/src/mariadb/bld/include -I/usr/local/src/mariadb/bld/storage/tokudb/ft-index/./xz/include -I/usr/local/src/mariadb/storage/tokudb/ft-index/include -I/usr/local/src/mariadb/storage/tokudb/ft-index/toku_include -I/usr/local/src/mariadb/storage/tokudb/ft-index/portability -I/usr/local/src/mariadb/storage/tokudb/ft-index -I/usr/local/src/mariadb/bld/storage/tokudb/ft-index -I/usr/local/src/mariadb/bld/storage/tokudb/ft-index/toku_include -isystem /usr/local/include -I/usr/local/src/mariadb/storage/tokudb/ft-index/ft-o CMakeFiles/logformat.dir/logformat.cc.o -c /usr/local/src/mariadb/storage/tokudb/ft-index/ft/logformat.cc Linking CXX executable logformat cd /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft /usr/bin/cmake -E cmake_link_script CMakeFiles/logformat.dir/link.txt --verbose=1 /usr/bin/g++-4.8 -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 -Wall -felide-constructors -fno-exceptions -fno-rtti -Wall -Wno-unused-parameter -fno-exceptions -fno-rtti -flto -fuse-linker-plugin -O2 -g -DNDEBUG -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1 -g -O3 -UNDEBUG -g -fuse-linker-plugin -Wno-error=strict-overflow CMakeFiles/logformat.dir/logformat.cc.o -o logformat -lpthread ../portability/libtokuportability.so -lpthread -ldl -lrt make[2]: Leaving directory `/usr/local/src/mariadb/bld' /usr/bin/cmake -E cmake_progress_report
Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
Wait, skip build RPATH off is a double-negative that I missed earlier. I think if you fool around with cmake's RPATH-related settings you'll be able to find the right combination, I'm not at a computer right now. At the very least, you should be able to leave them all as their defaults and the build should succeed. Sent from my iPhone On Dec 2, 2013, at 20:56, d...@sent.com wrote: testing that premise, rm -rf bld mkdir bld cd bld cmake .. \ ... - -DCMAKE_SKIP_BUILD_RPATH=0 \ + -DCMAKE_SKIP_BUILD_RPATH=1 \ ... -DWITHOUT_TOKUDB=0 make VERBOSE=1 unfortunately still fails, ... [ 31%] Built target tokuportability make -f storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/build.make storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/depend make[2]: Entering directory `/usr/local/src/mariadb/bld' cd /usr/local/src/mariadb/bld /usr/bin/cmake -E cmake_depends Unix Makefiles /usr/local/src/mariadb /usr/local/src/mariadb/storage/tokudb/ft-index/ft /usr/local/src/mariadb/bld /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/DependInfo.cmake --color= Dependee /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/DependInfo.cmake is newer than depender /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/depend.internal. Dependee /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft/CMakeFiles/CMakeDirectoryInformation.cmake is newer than depender /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/depend.internal. Scanning dependencies of target logformat make[2]: Leaving directory `/usr/local/src/mariadb/bld' make -f storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/build.make storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/build make[2]: Entering directory `/usr/local/src/mariadb/bld' /usr/bin/cmake -E cmake_progress_report /usr/local/src/mariadb/bld/CMakeFiles [ 31%] Building CXX object storage/tokudb/ft-index/ft/CMakeFiles/logformat.dir/logformat.cc.o cd /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft /usr/bin/g++-4.8 -DHAVE_CONFIG_H -DTOKUDB_VERSION=\7.0.4\ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_SVID_SOURCE -D_XOPEN_SOURCE=600 -D__LONG_LONG_SUPPORTED -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 -Wall -felide-constructors -fno-exceptions -fno-rtti -Wall -Wno-unused-parameter -fno-exceptions -fno-rtti -flto -fuse-linker-plugin -O2 -g -DNDEBUG -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1 -g -O3 -UNDEBUG -I/usr/local/src/mariadb/bld/storage/tokudb/ft-index/buildheader -I/usr/local/src/mariadb/bld/include -I/usr/local/src/mariadb/bld/storage/tokudb/ft-index/./xz/include -I/usr/local/src/mariadb/storage/tokudb/ft-index/include -I/usr/local/src/mariadb/storage/tokudb/ft-index/toku_include -I/usr/local/src/mariadb/storage/tokudb/ft-index/portability -I/usr/local/src/mariadb/storage/tokudb/ft-index -I/usr/local/src/mariadb/bld/storage/tokudb/ft-index -I/usr/local/src/mariadb/bld/storage/tokudb/ft-index/toku_include -isystem /usr/local/include -I/usr/local/src/mariadb/storage/tokudb/ft-index/ft-o CMakeFiles/logformat.dir/logformat.cc.o -c /usr/local/src/mariadb/storage/tokudb/ft-index/ft/logformat.cc Linking CXX executable logformat cd /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft /usr/bin/cmake -E cmake_link_script CMakeFiles/logformat.dir/link.txt --verbose=1 /usr/bin/g++-4.8 -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 -Wall -felide-constructors -fno-exceptions -fno-rtti -Wall -Wno-unused-parameter -fno-exceptions -fno-rtti -flto -fuse-linker-plugin -O2 -g -DNDEBUG -DDBUG_OFF -DMY_PTHREAD_FASTMUTEX=1 -g -O3 -UNDEBUG -g -fuse-linker-plugin -Wno-error=strict-overflow CMakeFiles/logformat.dir/logformat.cc.o -o logformat -lpthread ../portability/libtokuportability.so -lpthread -ldl -lrt make[2]: Leaving directory `/usr/local/src/mariadb/bld' /usr/bin/cmake
Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
On Mon, Dec 2, 2013, at 06:06 PM, Leif Walsh wrote: Wait, skip build RPATH off is a double-negative that I missed earlier. I think if you fool around with cmake's RPATH-related settings you'll be able to find the right combination, I'm not at a computer right now. At the very least, you should be able to leave them all as their defaults and the build should succeed. good news, rm -rf bld mkdir bld cd bld cmake .. \ --DCMAKE_SKIP_BUILD_RPATH=0 \ --DCMAKE_BUILD_WITH_INSTALL_RPATH=1 \ --DCMAKE_INSTALL_RPATH_USE_LINK_PATH=1 \ ... -DWITH_SSL=/usr/local/ssl \ -DOPENSSL_ROOT_DIR=/usr/local/ssl \ -DOPENSSL_INCLUDE_DIR=/usr/local/ssl/include \ -DOPENSSL_LIBRARIES=/usr/local/ssl/lib64/libssl.so \ -DCRYPTO_LIBRARY=/usr/local/ssl/lib64/libcrypto.so \ ... -DWITHOUT_TOKUDB=0 make VERBOSE=1 objdump -x ./storage/tokudb/ft-index/ft/logformat | grep RPATH (still empty) ldd ./storage/tokudb/ft-index/ft/logformat linux-vdso.so.1 (0x7fffe4fff000) libpthread.so.0 = /lib64/libpthread.so.0 (0x7fd70dfc) !! libtokuportability.so = /usr/local/src/mariadb/bld/storage/tokudb/ft-index/portability/libtokuportability.so (0x7fd70dd65000) libdl.so.2 = /lib64/libdl.so.2 (0x7fd70db61000) librt.so.1 = /lib64/librt.so.1 (0x7fd70d959000) libstdc++.so.6 = /usr/lib64/libstdc++.so.6 (0x7fd70d651000) libm.so.6 = /lib64/libm.so.6 (0x7fd70d353000) libgcc_s.so.1 = /lib64/libgcc_s.so.1 (0x7fd70d13c000) libc.so.6 = /lib64/libc.so.6 (0x7fd70cd8e000) /lib64/ld-linux-x86-64.so.2 (0x7fd70e1dc000) AND, make install sql/mysqld --version sql/mysqld Ver 10.0.7-MariaDB-log for Linux on x86_64 (Source distribution) ldd `which mysql` `which mysqld` | egrep ssl|crypto libssl.so.1.0.0 = /lib64/libssl.so.1.0.0 (0x7f1187191000) libcrypto.so.1.0.0 = /lib64/libcrypto.so.1.0.0 (0x7f1186dbe000) libssl.so.1.0.0 = /lib64/libssl.so.1.0.0 (0x7f6543007000) libcrypto.so.1.0.0 = /lib64/libcrypto.so.1.0.0 (0x7f6542c34000) it appears something's changed since 'prior' versions, so that now run-time ssl links are maintained without having to mess with the CMAKE rpath settings. i'll recheck this, determine whether rm'ing the RPATH cmake opts I'd used has broken anything new, and figure out how to verify tokudb is correctly built/installed ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled
applying a needed src patch cd /usr/local/src/mariadb # BUG @ http://www.linuxfromscratch.org/blfs/view/svn/server/mariadb.html sed -i s/srv_buf_size/srv_sort_buf_size/ storage/innobase/row/row0log.cc I do't know what it is (and couldn't find it on that page), but I suppose it's innodb only, so shouldn't matter here. FWIW it's http://bugs.mysql.com/bug.php?id=70047, no relation to TokuDB. ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp