Message25511
had troubles building python on various platforms
(using gcc-4.0.0 and binutils-2.16.90.0.3):
a) Makefile.pre.in
had to change
$(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
to
$(CXX) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
for the $(BUILDPYTHON) target. LINKCC was ok for sparc
and x86_64 cpus, but *NOT* ok on intel (x86) cpus
(solaris AND linux os!).
the following error is gone now (using CXX):
Modules/ccpython.o:(.eh_frame+0x12): undefined
reference to `__gxx_personality_v0'
seems that ccpython.cc is c++ code and so python needs
libstdc++ (for some reason only on the intel (x86) cpu.
the cleanest way to include that lib is to use g++
instead of gcc. (i dont know wether you need the PURIFY
var as well...).
b) configure.in:
i had to change -ltermcap to -lncurses. otherwise the
readline lib on all of my systems was not found. maybe
it should be checked in configure wether readline needs
termcap or ncurses or none of the libs.
c) unfort all my add libs are not in the std
include/lib path, neither in /usr/local. so i had to
"tune" setup.py. i just changed the lines
add_dir_to_list(self.compiler.library_dirs,
'/usr/local/lib')
add_dir_to_list(self.compiler.include_dirs,
'/usr/local/include')
which is a bad solution. it would be much easier to
have variables like LIBDIR and INCLUDEDIR (maybe
SYSTEM_LIBDIR, SYSTEM_INCLUDEDIR?) which could be
defined as variables or within System.local. the
cleanest solution imho would be to use CFLAGS, LDFLAGS
and LIBS when building the modules.
hope this helps, niki |
|
Date |
User |
Action |
Args |
2007-08-23 14:32:22 | admin | link | issue1216923 messages |
2007-08-23 14:32:22 | admin | create | |
|