https://sourceware.org/bugzilla/show_bug.cgi?id=30043
--- Comment #3 from Michael Matz <matz at suse dot de> --- Proper shared libraries (those which programs link against via DT_NEEDED) have to be placed in directories in which the dynamic linker searches for them. You can play games with DT_RUNPATH of course but that would not be the normal action. So, shared libraries need to be placed in $(libdir). What you are talking about are dynamic modules: ELF DSOs intended for dlopen, i.e. to be loaded at runtime. Usually the difference is already visual in the filenames: shared libs have major.minor.micro version files and the foobar.so file is a symlink. Modules have just the .so file (and are usually not named 'lib*', though that's a convention not always followed). So the DSOs you create for modules (the collector stuff) indeed is properly placed into $(pkglibdir), but the shared library libgprofng.so.0 (which we know is one because the gprofng binary links against it) needs to be put into $(libdir). I don't know why H.J. suggested to put it into $(pkglibdir) but it's an incorrect advise. -- You are receiving this mail because: You are on the CC list for the bug.