[GRASS-dev] getting vdigit to compile correctly on the Mac
William Kyngesburye
woklist at kyngchaos.com
Sat Sep 13 15:20:49 EDT 2008
On Sep 13, 2008, at 2:05 PM, William Kyngesburye wrote:
>> If not, it may be necessary to make the symlinks in /usr/local/lib
>>
>> Michael
>>
> Python is not broken, so we should try to avoid "fixing" it with
> symlinks. it's more a problem of a confused or broken linker.
>
> Either someone figures out distutils, or we work around it by
> editing platform.make (until a better fix is found) or do something
> in configure.
Here's a mostly proper way to do it - technically, binary python
extensions on OSX don't need to link directly to python (as I've
mentioned before). Either you use the -bundle-loader link flag (the
standard way, what distutils would do) or use -undefined
dynamic_lookup (the alternative).
Since we already use -undefined dynamic_lookup to handle the libgdi
problem, we don't need any of the python ldflags. In the vdigit
makefile, like this:
EXTRA_LIBS = $(VECTLIB) $(GISLIB) $(GDALLIBS) $(VEDITLIB) $
(WXWIDGETSLIB)
ifeq ($(findstring darwin,$(ARCH)),darwin)
EXTRA_LIBS := -bundle -undefined dynamic_lookup $(EXTRA_LIBS)
else
EXTRA_LIBS := $(EXTRA_LIBS) $(PYTHONLDFLAGS) -lgdi
endif
I moved the PYTHONLDFLAGS into the non-OSX extra-libs. In the same
manner, since wxnviz also has a binary python extension, we should do
the same thing in the wxpython nviz makefile (just without the -lgdi
bit):
EXTRA_LIBS = $(GISLIB) $(WXWIDGETSLIB) $(XLIBPATH) $(XMLIB) $(XTLIB) $
(XLIB) $(XEXTRALIBS) $(OGSFLIB) $(NVIZLIB)
ifeq ($(findstring darwin,$(ARCH)),darwin)
EXTRA_LIBS := -bundle -undefined dynamic_lookup $(EXTRA_LIBS)
else
EXTRA_LIBS := $(EXTRA_LIBS) $(PYTHONLDFLAGS)
endif
-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/
"I ache, therefore I am. Or in my case - I am, therefore I ache."
- Marvin
More information about the grass-dev
mailing list