LD_PRELOAD refers to libraries without path. Reproducible: Always
Created attachment 210694 [details, diff] patch to replace LD_PRELOAD in /usr/bin/esddsp
not sure how wrong is that, but one thing is clear, using /usr/lib is even worse as it does not take into account multilib setups.
I'd say INVALID for two reasons: - nobody has explained why should that be "wrong"; - as Gilles pointed out /usr/lib will break multilib setups (which is exactly *why* they don't use the full library path).
You might be right since my knowledge is not too advanced in this area but I have an issue when I use nxclient. I think nxclient uses that script on the remote machine to send the sound over the network. Then a lot of warning are issued that those to libraries are not found. Do you have a solution to get rid of those warnings? Is there a path defined? Did you have a look at https://bugs.launchpad.net/ubuntu/+source/esound/+bug/214465 ? Thank you in advance, Octavian
Given a) I have no idea about NX b) you have shown no example of those warnings, no I have no idea how to help you. The way Ubuntu "fixes" stuff is of no interest to me, they broke so much stuff before this way it's not even funny any more.
Well, /usr/bin/esddsp sets the LD_PRELOAD in the script If one executes $> export LD_PRELOAD="libesddsp.so.0 libesd.so.0 $LD_PRELOAD" then executes for example: $> locate esddsp you have the warnings ERROR: ld.so: object 'libesddsp.so.0' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object 'libesd.so.0' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object 'libesddsp.so.0' from LD_PRELOAD cannot be preloaded: ignored. ERROR: ld.so: object 'libesd.so.0' from LD_PRELOAD cannot be preloaded: ignored. I still need to investigate when the esddsp reaches the LD_PRELOAD points
You *really* should open the bug for nxclient.
one last question. If the library path is not specified where is this taken from? You do need a library path don't you? any IRC we can continue this discussion?
man ld.so default library path is set in /etc/ld.so.conf and is prefixed by the LD_LIBRARY_PATH variable, and by the RPATH entry in the executable file.
Thanks. the last last question :-) Since there is no /usr/lib in /etc/ld.so.conf nor in /etc/env.d/* who should set the library path when /usr/bin/esddsp is run? Am I missing something? Thank you in advance, Octavian