[GRASS-dev] discussion: replacing ps.map

William Kyngesburye woklist at kyngchaos.com
Fri Apr 6 11:32:05 EDT 2007


On Apr 6, 2007, at 9:29 AM, Glynn Clements wrote:

>> But instead I have an undefined symbol in the
>> display library:
>>
>> ld: Undefined symbols:
>> _PS_Driver referenced from libgrass expected to be defined in /
>> Applications/GRASS-6.3.app/Contents/Resources/lib/
>> libgrass_psdriver.dylib
>
> It appears to be using the version in /Applications rather than the
> local version.
>
In my haste to get off to work, I didn't notice that ^_^

> This suggests that the linker needs something similar to the
> -Wl,-rpath-link switch which is used on Linux:
>
> 	CC_SEARCH_FLAGS='-Wl,-rpath-link,${LIB_RUNTIME_DIR}'
>
> This tells the linker where to look for dependencies.
>
> Without that, you will need to ensure that the lib directory of any
> installed version of GRASS isn't searched automatically (e.g. due to
> $DYLD_LIBRARY_PATH or similar).

Hm, in the GRASS way of linking, all libs are linked in directly,  
whether they are indirect or not.  Shouldn't the psdriver lib be  
linked to raster lib then?  Currently grass.make has:

RASTERLIB     = -l$(RASTER_LIBNAME) $(PNGDRIVERLIB) $(DRIVERLIB) $ 
(GISLIB)

If I add $(PSDRIVERLIB) to that, it doesn't try to link the installed  
libraries and everything builds successfully.

-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/

"Those people who most want to rule people are, ipso-facto, those  
least suited to do it."

- A rule of the universe, from the HitchHiker's Guide to the Galaxy





More information about the grass-dev mailing list