[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