← Back to team overview

maria-developers team mailing list archive

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 <bar@xxxxxxxxxxxxxxx>
		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 <svoj@xxxxxxxxxxx>

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 (0x00007fffb9dff000)
	        libpthread.so.0 => /lib64/libpthread.so.0
	        (0x00007f9031e86000)
	        libaio.so.1 => /lib64/libaio.so.1 (0x00007f9031c84000)
	        libz.so.1 => /lib64/libz.so.1 (0x00007f9031a6e000)
	        libcrypt.so.1 => /lib64/libcrypt.so.1
	        (0x00007f9031832000)
	        libssl.so.1.0.0 => /usr/local/ssl/lib64/libssl.so.1.0.0
	        (0x00007f90315c6000)
	        libcrypto.so.1.0.0 =>
	        /usr/local/ssl/lib64/libcrypto.so.1.0.0
	        (0x00007f90311da000)
	        libdl.so.2 => /lib64/libdl.so.2 (0x00007f9030fd6000)
	        libstdc++.so.6 => /usr/lib64/libstdc++.so.6
	        (0x00007f9030cce000)
	        libm.so.6 => /lib64/libm.so.6 (0x00007f90309d0000)
	        libgcc_s.so.1 => /lib64/libgcc_s.so.1
	        (0x00007f90307b9000)
	        libc.so.6 => /lib64/libc.so.6 (0x00007f903040b000)
	        /lib64/ld-linux-x86-64.so.2 (0x00007f90320a2000)

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
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability_static_conv.dir/file.cc.o
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability_static_conv.dir/memory.cc.o
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability_static_conv.dir/os_malloc.cc.o
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability_static_conv.dir/portability.cc.o
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability_static_conv.dir/toku_assert.cc.o
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability_static_conv.dir/toku_crash.cc.o
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability_static_conv.dir/toku_fair_rwlock.cc.o
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability_static_conv.dir/toku_path.cc.o
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability_static_conv.dir/toku_pthread.cc.o
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability_static_conv.dir/toku_time.cc.o
		Linking CXX static library
		libtokuportability_static_conv.a
		[ 30%] Built target tokuportability_static_conv
		[ 30%] Generating tokuportability_static_depends.cc
		Scanning dependencies of target tokuportability_static
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability_static.dir/tokuportability_static_depends.cc.o
		Linking CXX static library libtokuportability_static.a
		/usr/bin/ar: creating
		/usr/local/src/mariadb/bld/storage/tokudb/ft-index/portability/libtokuportability_static.a
		[ 30%] Built target tokuportability_static
		Scanning dependencies of target tokuportability
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability.dir/huge_page_detection.cc.o
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability.dir/file.cc.o
		[ 30%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability.dir/memory.cc.o
		[ 31%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability.dir/os_malloc.cc.o
		[ 31%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability.dir/portability.cc.o
		[ 31%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability.dir/toku_assert.cc.o
		[ 31%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability.dir/toku_crash.cc.o
		[ 31%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability.dir/toku_fair_rwlock.cc.o
		[ 31%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability.dir/toku_path.cc.o
		[ 31%] Building CXX object
		storage/tokudb/ft-index/portability/CMakeFiles/tokuportability.dir/toku_pthread.cc.o
		[ 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 that's a dealbreaker, I'd like to know MariaDB project's position, if
any, on getting that support in place.

If it's not, I'd like to keep trying to get it working, here.

darx


Follow ups