Opened 21 years ago
Last modified 9 years ago
#1007 closed defect
libpng.3.1.2.5.dylib installed with wrong "install_name" — at Initial Version
Reported by: | hideishi@… | Owned by: | darwinports-bugs@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.0 |
Keywords: | Cc: | waqar@… | |
Port: | libpng |
Description
libpng.3.1.2.5.dylib is compiled with wrong "install_name" such as " -install_name $destroot/$prefix/lib/libpng.3.dylib".
This is because libpng.3.dylib is compiled at "destroot" stage, where libpng12.0.dylib is compiled at "build" stage hence correct install_name.
At "destroot" stage, $destroot is added to the prefix of install path, so the "install_name" has $destroot as well.
Proposed fix:
- change the makefile so that libpng.3.dylib is compiled at "build" stage.
- use the following patch which forces the "install_name" to
$prefix/lib/libpng.3.dylib
--- scripts/makefile.darwin~ Thu Oct 3 20:32:34 2002 +++ scripts/makefile.darwin Fri Oct 10 16:22:47 2003 @@ -85,14 +85,14 @@
$(LIBNAME).$(PNGVER).dylib: $(OBJSDLL)
$(CC) -dynamiclib \
- -install_name $(DL)/$(LIBNAME).$(PNGMAJ).dylib \
+ -install_name $(LIBPATH)/$(LIBNAME).$(PNGMAJ).dylib \
-flat_namespace -undefined suppress \ -o $(LIBNAME).$(PNGVER).dylib \ $(OBJSDLL)
libpng.3.$(PNGMIN).dylib: $(OBJSDLL)
$(CC) -dynamiclib \
- -install_name $(DL)/libpng.3.dylib \
+ -install_name $(LIBPATH)/libpng.3.dylib \
-current_version 3 -compatibility_version 3 \ -flat_namespace -undefined suppress \ -o libpng.3.$(PNGMIN).dylib \