Xymon Mailing List Archive search

Missing libpcre and libgcc in compiled binaries

list Sladewig
Tue, 17 Jul 2007 14:27:53 -0500
Message-Id: <user-29a7c23195c5@xymon.invalid>

Matthew Epp said the following, On 07/17/2007 02:05 PM:
I found the issue. Very odd. For some reason, when I last built PCRE, it did not create symlinks for some of the files. These were missing:
/usr/local/lib/libpcre.so -> libpcre.so.0.0.1
lrwxrwxrwx    1 root     other          16 Jul 17 16:55 /usr/local/lib/libpcre.so.0 -> libpcre.so.0.0.1
-rwxr-xr-x    1 root     other      433948 Jul 12  2006 /usr/local/lib/libpcreposix.so -> libpcreposix.so.0.0.0
lrwxrwxrwx    1 root     other          21 Jul 17 16:56 /usr/local/lib/libpcreposix.so.0 -> libpcreposix.so.0.0.0
So it must have been using the static libs when it linked.
If you still have the old binary around you can run nm on it and look for the references to the functions you are interested in. In this case pcre.

nm hobbitd |grep -i pcre
[289]   |    248184|       0|FUNC |GLOB |0    |UNDEF  |pcre_compile
[228]   |    248196|       0|FUNC |GLOB |0    |UNDEF  |pcre_exec
[480]   |    255612|       4|OBJT |GLOB |0    |22     |pcre_free


In this case the hobbitd binary has UNDEF for the routines with pcre. The system linker/loader would have to resolve these by using external libs such as the .so versions of the lib or the binary is a no-go.
Any statically linked routines wouldn't have UNDEF.

--
steve