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@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 (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