You are not logged in.
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
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
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
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
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
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
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
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
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