← Back to team overview

maria-developers team mailing list archive

Re: 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 (0x00007fffe03cd000)
    libtokuportability.so =>
/home/leif/git/ft-index/opt/portability/libtokuportability.so
(0x00007fba00ec1000)
    libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fba00ca3000)
    libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fba00a9f000)
    librt.so.1 => /usr/lib/librt.so.1 (0x00007fba00897000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fba00593000)
    libm.so.6 => /usr/lib/libm.so.6 (0x00007fba00290000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fba0007a000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00007fb9ffccf000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fba010cd000)
 % 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, <darx@xxxxxxxx> 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 (0x00007fffb2bdf000)
>         libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f506fb65000)
>         libtokuportability.so => not found
>         libdl.so.2 => /lib64/libdl.so.2 (0x00007f506f961000)
>         librt.so.1 => /lib64/librt.so.1 (0x00007f506f759000)
>         libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f506f451000)
>         libm.so.6 => /lib64/libm.so.6 (0x00007f506f153000)
>         libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f506ef3c000)
>         libc.so.6 => /lib64/libc.so.6 (0x00007f506eb8e000)
>         /lib64/ld-linux-x86-64.so.2 (0x00007f506fd81000)
>
> darx
>



-- 
Cheers,
Leif

Follow ups

References