For Programmers: Free Programming Magazines  


Home > Archive > Unix Programming > September 2006 > libm.so.1 library not found by ldd









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author libm.so.1 library not found by ldd
schitroc@gmail.com

2006-09-25, 7:00 pm

Hi All,

I am trying to figure out why libm.so.1 version not found. See below
for details:
$ ldd libutilbase014.so
libm.so.1 => /usr/lib/sparcv9/libm.so.1
libm.so.1 (SUNW_1.1.1) => (version not found)
libsocket.so.1 => /usr/lib/sparcv9/libsocket.so.1
libnsl.so.1 => /usr/lib/sparcv9/libnsl.so.1
libgen.so.1 => /usr/lib/sparcv9/libgen.so.1
libpthread.so.1 => /usr/lib/sparcv9/libpthread.so.1
libc.so.1 => /usr/lib/64/libc.so.1
libdl.so.1 => /usr/lib/64/libdl.so.1
libmp.so.2 => /usr/lib/64/libmp.so.2
libthread.so.1 => /usr/lib/64/libthread.so.1
/usr/platform/SUNW,Sun-Fire-280R/lib/sparcv9/libc_psr.so.1

$ ls -l /usr/lib/libm.so*
lrwxrwxrwx 1 root root 9 May 9 2002 /usr/lib/libm.so
-> libm.so.1*
-rwxr-xr-x 1 root bin 102424 Aug 10 1999
/usr/lib/libm.so.1*

The libm.so.1 is located in /usr/lib and /usr/lib is in the
$LD_LIBRARY_PATH; then why ldd is complaining about version not found?

Thanks in advance for any input on this matter.

Sil C.

Doug McIntyre

2006-09-25, 7:00 pm

schitroc@gmail.com writes:
>I am trying to figure out why libm.so.1 version not found. See below
>for details:
>$ ldd libutilbase014.so
> libm.so.1 => /usr/lib/sparcv9/libm.so.1
> libm.so.1 (SUNW_1.1.1) => (version not found)


Because you don't have version tag SUNW_1.1.1, you must have an
earlier version. (strings libm, look for SUNW, you'll probably find SUNW_1.1)

Ie. your binary was compiled on a later version of Solaris, or a later
version of libm library than the one you are running.

You can patch your library versions up with Sun patches, or rebuild
everything on your ealier box than trying to use binaries from later
OS revs.

Casper H.S. Dik

2006-09-26, 4:01 am

schitroc@gmail.com writes:

>Hi All,


>I am trying to figure out why libm.so.1 version not found. See below
>for details:
>$ ldd libutilbase014.so
> libm.so.1 => /usr/lib/sparcv9/libm.so.1
> libm.so.1 (SUNW_1.1.1) => (version not found)


>$ ls -l /usr/lib/libm.so*
>lrwxrwxrwx 1 root root 9 May 9 2002 /usr/lib/libm.so
>-> libm.so.1*
>-rwxr-xr-x 1 root bin 102424 Aug 10 1999
>/usr/lib/libm.so.1*


>The libm.so.1 is located in /usr/lib and /usr/lib is in the
>$LD_LIBRARY_PATH; then why ldd is complaining about version not found?


Your libm.so.1 is too old for your application; it was compiled against
a newer version and uses symbols from that newer version.

Casper
--
Expressed in this posting are my opinions. They are in no way related
to opinions held by my employer, Sun Microsystems.
Statements on Sun products included here are not gospel and may
be fiction rather than truth.
schitroc@gmail.com

2006-09-26, 8:04 am


Doug McIntyre wrote:
> schitroc@gmail.com writes:
>
> Because you don't have version tag SUNW_1.1.1, you must have an
> earlier version. (strings libm, look for SUNW, you'll probably find SUNW_1.1)
>
> Ie. your binary was compiled on a later version of Solaris, or a later
> version of libm library than the one you are running.
>
> You can patch your library versions up with Sun patches, or rebuild
> everything on your ealier box than trying to use binaries from later
> OS revs.


Thanks guys for your valuable input. Now everything makes sense to me.

Cheers,
Sil C.

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com