2012年2月27日1:46 Peter Johansson <[email protected]>: >> I think it's desirable that it "just work" wherever it gets installed, >> and no matter who installs it (e.g. prefix=$HOME should work, and >> shouldn't require setting LD_LIBRARY_PATH). >> > In my case it did work with prefix=$HOME because in that case -rpath was > set. Have you tried with ./configure --prefix=$HOME?
Hmm, I tried: configure --prefix=/tmp/oinker ... and it worked then! So why is /usr/local different? Hmmmmmm How odd: $ cat /etc/ld.so.conf include /etc/ld.so.conf.d/*.conf $ cat /etc/ld.so.conf.d/*.conf /usr/lib/atlas # libc default configuration /usr/local/lib ... So it looks like /usr/local/lib is _supposed_ to be searched. But .... hmm <grovel, grovel> Ok, the real problem seems to be that the system maintains a static cache of _library files_ (not directories) for ld.so to use, and simply adding a library doesn't update this cache. Just using the command: sudo ldconfig after installing my package makes everything work! ARghhhhhhhhhhhh I'll refrain from commenting on the people who designed this, but maybe a note in the automake manual saying "on linux systems, you may have to run the ldconfig program to make the system aware of newly installed dynamic libraries in system directories." would be a good thing... Thanks, and sorry for the noise! -miles -- Cat is power. Cat is peace.
