Opened 15 years ago

Closed 15 years ago

#21567 closed defect (fixed)

libgeotiff-1.2.5 fails to buld the utility programs (listgeo,geotifcp) correctly

Reported by: katzlbt (Dr. Thomas) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 1.8.0
Keywords: libgeotiff 1.2.5 Cc:
Port: libgeotiff

Description

PROBLEM: Trying to execute one of the utility programs that come with libgeotiff gives a dynamic link error:

$ listgeo
dyld: Library not loaded: libgeotiff.dylib.1.2.5
  Referenced from: /opt/local/bin/listgeo
  Reason: image not found
Trace/BPT trap

FIX: instead of using the dynamic version of the library (that gets renamed from libgeotiff.dylib.1.2.5 to libgeotiff.1.2.5.dylib) before installing, use the static .a version when linking the utils:

FILE: bin/Makefile(.in)

#ORIGINAL: LIBS=   -L$(GEOTIFFDIR) -lgeotiff @LIBS@
LIBS=   -L$(GEOTIFFDIR) ../libgeotiff.a @LIBS@

I am not sure if this is the best way to fix it, but it works. I manually edited the Makefile so I have no patch. Hope this helps.

Thanks for macports!

Change History (4)

comment:1 Changed 15 years ago by Veence (Vincent)

There is a tool to do that: install_name_tool. I will have a look, since I am currently porting grass and qgis (grass is done, I'm working on the latest qgis)

comment:2 Changed 15 years ago by Veence (Vincent)

Add the following line at the end of the Portfile, before the closing brace of the post-destroot target:

    system "find ${destroot}${prefix}/bin -type f -not -name '*.*' -and -not -name Makefile -print -exec install_name_tool -change libgeotiff.dylib.${version} ${prefix}/lib/libgeotiff.${version}.dylib {} \\;"

and all will be nice. But I don't understand why the Makefile does not install the "makegeo" executable…

comment:3 Changed 15 years ago by Veence (Vincent)

Sorry, bad cut/copy. It should read:

system "find ${destroot}${prefix}/bin -type f -exec install_name_tool -change libgeotiff.dylib.${version} ${prefix}/lib/libgeotiff.${version}.dylib {} \\;"

comment:4 Changed 15 years ago by Veence (Vincent)

Resolution: fixed
Status: newclosed

Committed in r58168

Note: See TracTickets for help on using tickets.