[MacPorts] #49987: Invalid install_name for shared library
MacPorts
noreply at macports.org
Fri Dec 11 18:00:46 PST 2015
#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?rev=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>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list