[MacPorts] #49987: Invalid install_name for shared library
#49987: Invalid install_name for shared library -----------------------------------+-------------------------------- Reporter: alexander.afanasyev@… | Owner: macports-tickets@… Type: defect | Status: new Priority: High | Milestone: Component: ports | Version: 2.3.4 Keywords: | Port: libcryptopp -----------------------------------+-------------------------------- This error was fixed before update to 5.6.3 and now it back again. The shared library is compiled with install_path="libcryptopp.dylib" parameter, which causes dependent applications or library to fail with {{{ dyld: Library not loaded: libcryptopp.dylib Referenced from: /some/path/app Reason: image not found }}} Until this issue fixed upstream, I suggest a similar patch to https://trac.macports.org/browser/trunk/dports/devel/libcryptopp/Portfile?re... The patch could be simpler: change in GNUMakefile install_path to "$(PREFIX)/lib/$@": {{{ diff --git a/GNUmakefile b/GNUmakefile index d2f5404..1bef87e 100755 --- a/GNUmakefile +++ b/GNUmakefile @@ -388,7 +388,7 @@ libcryptopp.so: public_service | $(LIBOBJS) $(CXX) -shared -o $@ $(CXXFLAGS) $(GOLD_OPTION) $(LIBOBJS) $(LDLIBS) libcryptopp.dylib: $(LIBOBJS) - $(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" $(LIBOBJS) + $(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$(PREFIX)/lib/$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" $(LIBOBJS) cryptest.exe: public_service | libcryptopp.a $(TESTOBJS) $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(GOLD_OPTION) $(LDLIBS) }}} -- Ticket URL: <https://trac.macports.org/ticket/49987> MacPorts <https://www.macports.org/> Ports system for OS X
#49987: libcryptopp: Invalid install_name for shared library ------------------------------------+----------------------- Reporter: alexander.afanasyev@… | Owner: raphael@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: libcryptopp | ------------------------------------+----------------------- Changes (by ryandesign@…): * owner: macports-tickets@… => raphael@… * priority: High => Normal Old description:
This error was fixed before update to 5.6.3 and now it back again.
The shared library is compiled with install_path="libcryptopp.dylib" parameter, which causes dependent applications or library to fail with
{{{ dyld: Library not loaded: libcryptopp.dylib Referenced from: /some/path/app Reason: image not found }}}
Until this issue fixed upstream, I suggest a similar patch to https://trac.macports.org/browser/trunk/dports/devel/libcryptopp/Portfile?re... The patch could be simpler: change in GNUMakefile install_path to "$(PREFIX)/lib/$@":
{{{ diff --git a/GNUmakefile b/GNUmakefile index d2f5404..1bef87e 100755 --- a/GNUmakefile +++ b/GNUmakefile @@ -388,7 +388,7 @@ libcryptopp.so: public_service | $(LIBOBJS) $(CXX) -shared -o $@ $(CXXFLAGS) $(GOLD_OPTION) $(LIBOBJS) $(LDLIBS)
libcryptopp.dylib: $(LIBOBJS) - $(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" $(LIBOBJS) + $(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$(PREFIX)/lib/$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" $(LIBOBJS)
cryptest.exe: public_service | libcryptopp.a $(TESTOBJS) $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(GOLD_OPTION) $(LDLIBS) }}}
New description: This error was fixed before update to 5.6.3 and now it back again. The shared library is compiled with install_path="libcryptopp.dylib" parameter, which causes dependent applications or library to fail with {{{ dyld: Library not loaded: libcryptopp.dylib Referenced from: /some/path/app Reason: image not found }}} Until this issue fixed upstream, I suggest a similar patch to browser:trunk/dports/devel/libcryptopp/Portfile@138213 The patch could be simpler: change in GNUMakefile install_path to "$(PREFIX)/lib/$@": {{{ diff --git a/GNUmakefile b/GNUmakefile index d2f5404..1bef87e 100755 --- a/GNUmakefile +++ b/GNUmakefile @@ -388,7 +388,7 @@ libcryptopp.so: public_service | $(LIBOBJS) $(CXX) -shared -o $@ $(CXXFLAGS) $(GOLD_OPTION) $(LIBOBJS) $(LDLIBS) libcryptopp.dylib: $(LIBOBJS) - $(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" $(LIBOBJS) + $(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$(PREFIX)/lib/$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" $(LIBOBJS) cryptest.exe: public_service | libcryptopp.a $(TESTOBJS) $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(GOLD_OPTION) $(LDLIBS) }}} -- -- Ticket URL: <https://trac.macports.org/ticket/49987#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X
#49987: libcryptopp: Invalid install_name for shared library ------------------------------------+----------------------- Reporter: alexander.afanasyev@… | Owner: raphael@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: fixed | Keywords: Port: libcryptopp | ------------------------------------+----------------------- Changes (by raphael@…): * status: new => closed * resolution: => fixed Comment: Thanks, r143402. -- Ticket URL: <https://trac.macports.org/ticket/49987#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts