Re: [Maria-developers] Build fail of MariaDB10 with TokuDB enabled

2013-12-03 Thread Sergei Golubchik
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

2013-12-03 Thread Leif Walsh
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

2013-12-02 Thread darx

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

2013-12-02 Thread Sergei Golubchik
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

2013-12-02 Thread Leif Walsh
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

2013-12-02 Thread Leif Walsh
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

2013-12-02 Thread darx
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

2013-12-02 Thread darx
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

2013-12-02 Thread darx
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

2013-12-02 Thread Leif Walsh
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

2013-12-02 Thread darx
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

2013-12-02 Thread Leif Walsh
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

2013-12-02 Thread darx


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

2013-12-02 Thread Laurynas Biveinis
 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