← Back to team overview

maria-developers team mailing list archive

Re: 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, darx@xxxxxxxx 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 -E cmake_progress_report
>    /usr/local/src/mariadb/bld/CMakeFiles 
>    [ 31%] Built target logformat
>    make -f
>    storage/tokudb/ft-index/ft/CMakeFiles/generate_log_code.dir/build.make
>    storage/tokudb/ft-index/ft/CMakeFiles/generate_log_code.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/generate_log_code.dir/DependInfo.cmake
>    --color=
>    Dependee
>    "/usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft/CMakeFiles/generate_log_code.dir/DependInfo.cmake"
>    is newer than depender
>    "/usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft/CMakeFiles/generate_log_code.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/generate_log_code.dir/depend.internal".
>    Scanning dependencies of target generate_log_code
>    make[2]: Leaving directory `/usr/local/src/mariadb/bld'
>    make -f
>    storage/tokudb/ft-index/ft/CMakeFiles/generate_log_code.dir/build.make
>    storage/tokudb/ft-index/ft/CMakeFiles/generate_log_code.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%] Generating log_code.cc, log_print.cc, log_header.h
>    cd /usr/local/src/mariadb/bld/storage/tokudb/ft-index/ft &&
>    ./logformat .
>    ./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[2]: Leaving directory `/usr/local/src/mariadb/bld'
>    make[1]: ***
>    [storage/tokudb/ft-index/ft/CMakeFiles/generate_log_code.dir/all]
>    Error 2
>    make[1]: Leaving directory `/usr/local/src/mariadb/bld'
>    make: *** [all] Error 2
> 
> checking
> 
>    objdump -x ./storage/tokudb/ft-index/ft/logformat | grep RPATH
>        (still empty)
> 
>    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 (0x00007fff5adff000)
>            libpthread.so.0 => /lib64/libpthread.so.0
>            (0x00007fc4c1c69000)
>            libtokuportability.so => not found
>            libdl.so.2 => /lib64/libdl.so.2 (0x00007fc4c1a65000)
>            librt.so.1 => /lib64/librt.so.1 (0x00007fc4c185d000)
>            libstdc++.so.6 => /usr/lib64/libstdc++.so.6
>            (0x00007fc4c1555000)
>            libm.so.6 => /lib64/libm.so.6 (0x00007fc4c1257000)
>            libgcc_s.so.1 => /lib64/libgcc_s.so.1
>            (0x00007fc4c1040000)
>            libc.so.6 => /lib64/libc.so.6 (0x00007fc4c0c92000)
>            /lib64/ld-linux-x86-64.so.2 (0x00007fc4c1e85000)
> 
> doesn't appear to have had any effect


Follow ups

References