@Chris
Quote:
I think I had to set "yes" to get the dependencies to compile into the SObj. Otherwise you get something relying on libz.so but it doesn't list it on a readelf -d, and the app using that shared object then tends to crash.
You mentioned "pass_all" in this post.
http://www.amigans.net/modules/newbb/ ... t_id=57507#forumpost57507Only deplibs_check_method is checked for "pass_all". The other, link_all_deplibs is by default set to "unknown". As long as link_all_deplibs isn't "no", then it's considered yes.
I haven't had any issues doing it this way. My shared libvorbis.so looks for libogg.so. Even if it didn't, any program being linked against libvorbis.so should be linked against libogg.so anyway.
I haven't come across any programs that are linked with one .so, like libvorbis.so, and libogg.so is not linked in the main executable, but only in libvorbis.so. If you tried doing that, the program can't be linked.
I did a little "Hello World" test here.
5.RAM Disk:> gcc -use-dynld -lvorbis -o hello hello.c
ld: warning: libogg.so, needed by /SDK/local/newlib/lib/libvorbis.so, not found (try using -rpath or -rpath-link)
/SDK/local/newlib/lib/libvorbis.so: undefined reference to `oggpack_writetrunc'
/SDK/local/newlib/lib/libvorbis.so: undefined reference to `oggpack_writeinit'
/SDK/local/newlib/lib/libvorbis.so: undefined reference to `oggpack_look'
/SDK/local/newlib/lib/libvorbis.so: undefined reference to `oggpack_bytes'
/SDK/local/newlib/lib/libvorbis.so: undefined reference to `oggpack_writeclear'
/SDK/local/newlib/lib/libvorbis.so: undefined reference to `oggpack_adv'
/SDK/local/newlib/lib/libvorbis.so: undefined reference to `oggpack_get_buffer'
/SDK/local/newlib/lib/libvorbis.so: undefined reference to `oggpack_readinit'
/SDK/local/newlib/lib/libvorbis.so: undefined reference to `oggpack_read'
/SDK/local/newlib/lib/libvorbis.so: undefined reference to `oggpack_reset'
/SDK/local/newlib/lib/libvorbis.so: undefined reference to `oggpack_write'
If libogg.so was not a dependency of libvorbis.so, those "undefined references" would still exist.
Edit: New libtiff 3.9.4 shared object uploaded to OS4Depot. Didn't do anything special. Modified libtool with "pass_all". The .so has the dependencies in there, libz (libz.so.1) and libjpeg (libjpeg.so.8).
Edit2: According to other distros, it should be libtiff.so.3. Hmm. I can't see where in the source it would name it that. I'll look into it later.
Edited by MickJT on 2010/10/12 14:45:16
Edited by MickJT on 2010/10/12 14:53:12
Edited by MickJT on 2010/10/12 15:13:38
Edited by MickJT on 2010/10/12 15:14:17