[redland-dev] fink python: problems compiling bindings
Brian Clarkson
clarkson at alum.mit.edu
Wed Jun 1 12:47:46 BST 2005
Hi
I have a problem which is similar to that discussed in [1] and [2].
However, the fix that worked for them is uncovering a new problem at the
same point in the build. The python library is not included in the link
line.
Essentially, I am trying to compile the redland-bindings-1.0.1.1 with:
redland-1.0.1
raptor-1.4.6
rasqal-0.9.9
python2.3 (fink version NOT framework)
I noticed that both [1] and [2] are using the framework version of
python and that the framework is correctly included in their link lines
but not mine.
The result of make before I apply the fix in [1] and [2] is:
Making all in python
Making all in test
make[2]: Nothing to be done for `all'.
gcc -DPACKAGE_NAME=?"Redland? RDF? Application? Framework? bindings?"
-DPACKAGE_TARNAME=?"redland-bindings?" -DPACKAGE_VERSION=?"1.0.1.1?"
-DPACKAGE_STRING=?"Redland? RDF? Application? Framework? bindings?
1.0.1.1?" -DPACKAGE_BUGREPORT=?"http://bugs.librdf.org/?"
-DPACKAGE=?"redland-bindings?" -DVERSION=?"1.0.1.1?"
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1
-I. -DREDLAND_POST_I -DREDLAND_DECL_I -DREDLAND_TYPEMAP_I
-I/usr/local/include -I/usr/local/BerkeleyDB.4.3//include
-I/sw/include/python2.3 -g -O2 -I/usr/local/include
-I/usr/local/BerkeleyDB.4.3//include -g -O2 -fPIC -DPIC
./Redland_wrap.c -c -o Redland_wrap.so
In file included from /sw/include/python2.3/Python.h:70,
from Redland_wrap.c:22:
/sw/include/python2.3/objimpl.h:255: warning: use of `long double' type;
its size may change in a future release
/sw/include/python2.3/objimpl.h:255: warning: (Long double usage is
reported only once for each file.
/sw/include/python2.3/objimpl.h:255: warning: To disable this warning,
use -Wno-long-double.)
gcc -g -O2 -I/usr/local/include -I/usr/local/BerkeleyDB.4.3//include -g
-O2 -Wl,-F. -Wl,-F. -bundle Redland_wrap.so `redland-config --libs` -o
Redland.so
ld: Redland_wrap.so illegal reference to symbol: _raptor_locator_byte
defined in indirectly referenced dynamic library
/usr/local/lib/libraptor.1.dylib
make[2]: *** [Redland-stamp] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
when I add the raptor library to the appropriate line in the Makefile (as
in [1]) it fixes the problem above, but then it complains about a bunch
of python symbols missing. Why this is happening is pretty obvious,
there is no python library on the link line:
gcc -g -O2 -I/usr/local/include -I/usr/local/BerkeleyDB.4.3//include -g
-O2 -Wl,-F. -Wl,-F. -bundle Redland_wrap.so `redland-config --libs` -o
Redland.so
I believe it got confused by fink's python environment. Anyway as I was
writing this msg I figured out one way to fix the link line so it would
compile:
gcc -g -O2 -I/usr/local/include -I/usr/local/BerkeleyDB.4.3//include -g
-O2 -Wl,-F. -Wl,-F. -bundle Redland_wrap.so -bundle -bundle_loader
/sw/bin/python2.3 `raptor-config --libs` `redland-config --libs`
But I will send this msg anyway so this gets documented at least. So no
reply is required.
thanks!
[1] http://lists.gnomehack.com/pipermail/redland-dev/2005-May/000932.html
[2]
http://lists.usefulinc.com/pipermail/redland-dev/2005-February/000796.html
More information about the redland-dev
mailing list