[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