SWIG compilation woes.

Lyle Johnson ljohnson at resgen.com
Mon Nov 13 12:25:30 EST 2000


Steve,

I went to google (http://www.google.com) and typed in the search keywords
"swig relocations remain against" and it went straight to a pair of pages
which will probably solve your problem:

    http://www.cs.uchicago.edu/pipermail/swig/2000-February/001069.html
    http://www.cs.uchicago.edu/pipermail/swig/2000-February/001074.html

To summarize, the fix seems to be to compile the individual source files
with compiler flags "-fPIC" and "-shared" and then link with linker flag
"-shared".

Hope this helps,

Lyle

"Steve Juranich" <sjuranic at condor.ee.washington.edu> wrote in message
news:Pine.SOL.3.96.1001110095516.13923C-100000 at condor.ee.washington.edu...
> I'm confronted with the task of setting up SWIG myself.  We have a very
> non-standard (degrees of non-standardness?? hmm...) distribution of tcl,
> perl, and python.  Obviously, my first priority is getting the python
tools
> working.
>
> When I run make testbuild, none of the statically linked modules work
(which
> is fine with me) and dynamic modules will work for tcl and Python if the
> modules were written in C.  However, when it gets to testing the C++ code,
> nothing works at all.  For the Python modules in C++, I get a bunch of
> linker errors.  Here's was Test/Build/python_dynamic.c++.output says:
>
>
> make[3]: Entering directory
`/atm/homes/raven0/sjuranic/tmp/SWIG1.1p5/Tests/Build'
> make -f ../../Makefile.template SRCS='' SWIG='../../swig' \
> SWIGOPT='-I../../swig_lib' \
> TARGET='shapes' INTERFACE='shapes.i ' python_cpp
> make[4]: Entering directory
`/atm/homes/raven0/sjuranic/tmp/SWIG1.1p5/Tests/Build'
> ../../swig -c++ -python -I../../swig_lib shapes.i
> Generating wrappers for Python
> /g/rcs/sw/bin/g++ -c


shapes_wrap.c    -DHAVE_CONFIG_H -I/g/rcs/sw/pkgs/python-1.6/include/python1
.6
> /g/rcs/sw/bin/g++ -shared   shapes_wrap.o    -o shapesmodule.so
> Text relocation remains                 referenced
>     against symbol     offset in file
> <unknown>                           0x24      shapes_wrap.o
> ... (I get about 500 of these) ...
> Py_InitModule4                      0x1f8c    shapes_wrap.o
> ld: fatal: relocations remain against allocatable but non-writable
sections
> collect2: ld returned 1 exit status
> make[4]: *** [python_cpp] Error 1
> make[4]: Leaving directory
`/atm/homes/raven0/sjuranic/tmp/SWIG1.1p5/Tests/Build'
> make[3]: *** [python_dynamic] Error 2
> make[3]: Leaving directory
`/atm/homes/raven0/sjuranic/tmp/SWIG1.1p5/Tests/Build'
>
> Can anybody tell me what is going on and how to fix it?  I'm fairly
certain
> that SWIG is (for the most part) configured correctly because it will
> compile Python modules written in C.  But given the OO-ness of Python, I
> will obviously want to be writing some C++ code as well.
>
> Thanks for the help.
>
> ----------------------------------------------------------------------
> Stephen W. Juranich                         sjuranic at ee.washington.edu
> Electrical Engineering         http://students.washington.edu/sjuranic
> University of Washington             http://rcs.ee.washington.edu/ssli
>
>





More information about the Python-list mailing list