I have compiled my own shared library "libgsttest.so" which I put in /usr/lib/test
/usr/lib/test/libgsttest.so
I added a file "test.conf" in /etc/ld.so.conf.d containing one line:
/usr/lib/test
the I run ldconfig. To check whether ldconfig found the library, i run:
ldconfig -p | grep test
libgsttest.so (libc6) => /usr/lib/test/libgsttest.so
This shared library is used by a gstreamer plugin (but my guess is that that doesn't really matter to the problem). When I start my plugin, linux protests:
Could not load plugin file: Opening module failed: libgsttest.so: cannot open shared object file: No such file or directory
any ideas why my program cannot find my .so while ldconfig finds it?
EDIT: I have the exact same configuration running on an Opensuse 13.1 with an intel processor where I have no problems!
EDIT 2: some more details on my configuration:
EDIT 3: I am sure the library is in the correct format: since putting it in /usr/lib and running ldconfig fixes the problem. The real question remains: why doens't my program find it when it's in the subdir?
I just found a workaround which seems to have helped:
I put my library in /usr/lib/ and ran ldconfig --> everything works
I remove my library from /usr/lib --> everything keeps working.
Maybe ldconfig tries to be too smart; and didn't notice any changes in /usr/lib/test/ since it wasn't tracking this folder before. By changing something in /usr/lib/ I might have forced him to do a real refresh?