You are not logged in.

#1 2009-06-20 23:27:17

FeatherMonkey
Member
Registered: 2007-02-26
Posts: 313

[Solved]Building against libreadline.so.6

I must be missing something really simple here I suspect it doesn't help I have a very limited understanding of c/c++

I've got bash from testing which is working fine not encountered anything so far. So having found php on testing all went well but I've tried a few times to build mysql and haven't got a clue what I'm missing.

After building I get
error while loading shared libraries: libreadline.so.5: cannot open shared object file: No such file or directory

Which I sort of expected in prebuilt binaries, I've checked ldconfig as I presume it is using this to find the libs it needs.

ldconfig -p | grep readline
    libreadline.so.6 (libc6,x86-64) => /lib/libreadline.so.6
    libreadline.so (libc6,x86-64) => /lib/libreadline.so

Can someone point me in the right direction please.

Last edited by FeatherMonkey (2009-06-21 11:13:51)

Offline

#2 2009-06-21 00:44:26

SamC
Member
From: Calgary
Registered: 2008-05-13
Posts: 611
Website

Re: [Solved]Building against libreadline.so.6

Presumably the build error is coming from something used in the mysql build process that expects to find libreadline.so.5. Find out which program it is, and rebuild it against the new library.

Offline

#3 2009-06-21 01:13:52

FeatherMonkey
Member
Registered: 2007-02-26
Posts: 313

Re: [Solved]Building against libreadline.so.6

Not sure I explained myself to well. I have no build error it is a runtime error, which I thought should of been eliminated by rebuilding after running ldconfig.

I would of thought --without-readline which is in the PKGBUILD would of enabled it to use the new system lib.

Think this is a little above my pay grade, guess I'll wait for the kind packagers or downgrade...

Last edited by FeatherMonkey (2009-06-21 01:15:33)

Offline

#4 2009-06-21 01:38:14

ataraxia
Member
From: Pittsburgh
Registered: 2007-05-06
Posts: 1,553

Re: [Solved]Building against libreadline.so.6

grep for libreadline.so.5 in your apps and libraries (/usr/bin /usr/bin /usr/lib etc) and see what you find. When things are compiled, they will keep the soname of the library they are linked against. ldconfig just helps figure out what directory it lives in.

Offline

#5 2009-06-21 01:45:20

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,462
Website

Re: [Solved]Building against libreadline.so.6

There is a tool called "lddd" in the devtools package.  Look in its output for libreadline.   It is probably something in the dependency chain that needs rebuilt.

Offline

#6 2009-06-21 10:13:13

FeatherMonkey
Member
Registered: 2007-02-26
Posts: 313

Re: [Solved]Building against libreadline.so.6

Well that left me even more confused in raw.txt I have a fair few

/usr/bin/smbclient:
    libreadline.so.5 => not found

/usr/bin/fluidsynth:
    libreadline.so.5 => not found

/usr/bin/rpcclient:
    libreadline.so.5 => not found

/usr/bin/hxtool:
    libreadline.so.5 => not found

/usr/bin/certtool:
    libreadline.so.5 => not found

/usr/bin/gpgsm:
    libreadline.so.5 => not found

/usr/bin/xmlcatalog:
    libreadline.so.5 => not found
    libhistory.so.5 => not found

/usr/bin/gpgv2:
    libreadline.so.5 => not found

/usr/bin/xmllint:
    libreadline.so.5 => not found
    libhistory.so.5 => not found

/usr/bin/ecpg:
    libreadline.so.5 => not found

/usr/bin/isql:
    libreadline.so.5 => not found

/usr/bin/pilot-dlpsh:
    libreadline.so.5 => not found

/usr/bin/luac:
    libreadline.so.5 => not found
    libhistory.so.5 => not found

/usr/bin/gpg2:
    libreadline.so.5 => not found

/usr/bin/gss:
    libreadline.so.5 => not found

/usr/bin/pg_config:
    libreadline.so.5 => not found

/usr/bin/sqlite3:
    libreadline.so.5 => not found

/usr/bin/mysql:
    libreadline.so.5 => not found

/usr/bin/gpg-connect-agent:
    libreadline.so.5 => not found

/usr/bin/kftp:
    libreadline.so.5 => not found

/usr/bin/net:
    libreadline.so.5 => not found

/usr/bin/lua:
    libreadline.so.5 => not found
    libhistory.so.5 => not found

/usr/bin/iusql:
    libreadline.so.5 => not found

/usr/bin/jack_transport:
    libreadline.so.5 => not found

/sbin/lvm:
    libreadline.so.5 => not found
    libreadline.so.5 => not found

/sbin/dmsetup:
    libreadline.so.5 => not found
    libreadline.so.5 => not found

/usr/sbin/parted:
    libreadline.so.5 => not found

/usr/sbin/kadmin:
    libreadline.so.5 => not found

/usr/sbin/wpa_cli:
    libreadline.so.5 => not found

/usr/sbin/ktutil:
    libreadline.so.5 => not found

/usr/sbin/iprop-log:
    libreadline.so.5 => not found

/usr/sbin/kdigest:
    libreadline.so.5 => not found

/usr/sbin/cryptsetup:
    libreadline.so.5 => not found

/lib/libdevmapper.so.1.02:
    libreadline.so.5 => not found

/usr/lib/libsl.so.0.2.1:
    libreadline.so.5 => not found

/usr/lib/ruby/1.8/x86_64-linux/readline.so:
    libreadline.so.5 => not found

/usr/lib/python2.6/lib-dynload/readline.so:
    libreadline.so.5 => not found

/usr/lib/libcryptsetup.so.0.0.0:
    libreadline.so.5 => not found

/usr/lib/vlc/codec/libfluidsynth_plugin.so:
    libreadline.so.5 => not found

/usr/lib/libfluidsynth.so.1.1.2:
    libreadline.so.5 => not found

All I've done is add a new line before ^/ so my awk pattern will print the section. Now if understand what the tool is doing correctly it looks like I have a lot of rebuilding to do.(Though running a find on some of the libs from raw.txt is finding some.)
raw.txt contains
/usr/lib/thunderbird-2.0/libxpcom.so:
    libxpcom_core.so => not found
And my find returns..
/usr/lib/thunderbird-2.0/libxpcom_core.so

On a final note as this has gone beyond my capabilities, after the suggestion of using lddd I happened to run ldd

ldd $(which mysql)
    linux-vdso.so.1 =>  (0x00007fff00dfe000)
    libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x00007f17f860f000)
    libreadline.so.5 => not found
    libncursesw.so.5 => /lib/libncursesw.so.5 (0x00007f17f83b5000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f17f8199000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007f17f7f62000)
    libnsl.so.1 => /lib/libnsl.so.1 (0x00007f17f7d4a000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00007f17f7b35000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f17f7827000)
    libm.so.6 => /lib/libm.so.6 (0x00007f17f75a5000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f17f738f000)
    libc.so.6 => /lib/libc.so.6 (0x00007f17f703a000)
    /lib/ld-linux-x86-64.so.2 (0x00007f17f8a0c000)

So it looks like though I've built it, the actual binary is missing the lib, so I'm a bit lost here.

Well I learnt a bit more here but think a downgrade is the easiest solution for me. Unless anyone has more snippets that'll enlighten me. It certainly looks like it is related to the actual building of mysql rather than something in the dependency chain to me.

I'm coming to the conclusion giving me lddd maybe a bit like giving a 2 year old a loaded gun ;-)

My gratitude goes to all those packagers out there many thanks to all of you.

Last edited by FeatherMonkey (2009-06-21 10:16:29)

Offline

#7 2009-06-21 10:24:31

Allan
Pacman
From: Brisbane, AU
Registered: 2007-06-09
Posts: 11,462
Website

Re: [Solved]Building against libreadline.so.6

Your lddd output tells me that you either
1) your mirror was out of sync and now you need to do a complete update, or
2) you only chose a few packages from [testing], which is a very bad idea unless you really know what you are doing

Offline

#8 2009-06-21 10:35:54

FeatherMonkey
Member
Registered: 2007-02-26
Posts: 313

Re: [Solved]Building against libreadline.so.6

Hehe number 2 lets try that... I just wanted bash OK I'll get back to this after a reboot.

/me Goes looking for the livecd..

Edit
Thank you Allan

Last edited by FeatherMonkey (2009-06-21 10:36:54)

Offline

#9 2009-06-21 11:13:06

FeatherMonkey
Member
Registered: 2007-02-26
Posts: 313

Re: [Solved]Building against libreadline.so.6

Thank you Allan was exactly the problem.

Just noticed this maybe in the wrong place not sure how I missed it but I suspect it should be better in testing.

Offline

Board footer

Powered by FluxBB