| Paste number 8876: | reply to nick |
| Pasted by: | pogma |
| When: | 5 years, 1 month ago |
| Share: | Tweet this! | http://paste.lisp.org/+6UK |
| Channel: | #fink |
| Paste contents: |
Nick Kledzik wrote:
> Peter, can you give me more background on the motivation to have a library with the same base name (libssl.0.9.7.dylib) as a system library but intstalled in /sw/lib? Even if I fix this specific problem, it still seems fragile. Any programs using that style could easily break if run with DYLD_LIBRARY_PATH set.
There are many reasons to have a library in a different prefix with the same basename as a system library. Different build options, newer micro version, locally patched copy etc..
DYLD_FALLBACK*PATH is used for libraries and frameworks not found in their install path (according to man 1 dyld), but currently, dyld will look to see if library is loaded by checking the full path, and if not will look to see if a library with the same basename is loaded and be happy. This is wrong...
FALLBACK paths should only be searched after looking for the file in it's install path, that is what is documented to happen, and what happens in 10.3 and earlier.
Another issue, probably worthy of another bug report, is the sheer number of libraries loaded as a result of loading /usr/X11R6/lib/libfreetype.dylib. Check this out:
echo "int main(){}" > foo.c
cc -o foo foo.c /usr/X11R6/lib/libfreetype.dylib
env DYLD_PRINT_LIBRARIES=1 ./foo
Please, please please fix this bug :)
Thanks,
Peter This paste has no annotations.