[MacPorts] #49987: libcryptopp: Invalid install_name for shared library (was: Invalid install_name for shared library)
MacPorts
noreply at macports.org
Fri Dec 11 21:16:57 PST 2015
#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?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)
> }}}
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 at 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
More information about the macports-tickets
mailing list