libnet and torque both install an archive called libnet.a in /usr/lib. # equery belongs /usr/lib/libnet.a [ Searching for file(s) /usr/lib/libnet.a in *... ] net-libs/libnet-1.1.2.1-r1 (/usr/lib/libnet.a) sys-cluster/torque-1.2.0_p1 (/usr/lib/libnet.a) Steps to reproduce: 1. emerge libnet 2. emerge torque 3. equery belongs /usr/lib/libnet.a This is probably fundamentally an upstream problem, as calling something in a PBS system libnet seems kind of insane to me, but this should be checked for. Note that libnet installs /usr/lib/libnet.so*, whereas torque does not. Any programs that later attempt to link against torque fail because collect picks up libnet.so from libnet before libnet.a from torque. Also note that this issue likely affects sys-cluster/openpbs as well, but I haven't tested this.
is the libnet.a from the same source code, or is it totally different?
Different source trees. All the net-libs/libnet source files for the library are prefixed libnet_, appearing different in readelf. There's also a lot more source files included in libnet than there are in the torque libnet.a.
looking at the libs of torque: /usr/lib/libattr.a /usr/lib/libcmds.a /usr/lib/liblog.a /usr/lib/libnet.a /usr/lib/libpbs.a /usr/lib/libsite.a /usr/lib/pbs_sched.a I see two possible options: 1. move them to /usr/lib/torque 2. rename them to libtorque_XXX or something similar.
ok after talking with patl directly, option #1 is best, as very few things link against torque (and none of them are in the tree yet). They are only things like alternative schedulers (eg maui) and interfaces for PBS.
fixed in cvs now, using /usr/$libdir/torque.