Numeric compiling problem under QNX 4.25

Robert Kern robert.kern at gmail.com
Tue Apr 3 17:52:06 EDT 2007


ZMY wrote:
> On Apr 3, 10:51 am, Robert Kern <robert.k... at gmail.com> wrote:
>> ZMY wrote:
>>> Is "ld" part of make command? I am not familiar with compiling with
>>> make in general.
>> No, it's the linker. I takes the object files (.o) which are generated by the
>> compiler (cc, I imagine) and links them together into the shared library (.so).
>> make is a program that can automate builds given instructions, but Numeric
>> doesn't use it, nor do most other Python packages.
>>
>>> Most other extensions (including math, os, struct, cPickle) from
>>> Python 2.2 works when I install python on QNX.
>> No, I was wondering if you could build any other third-party extension modules.
>> Did you install Python from source? When building extension modules, Python uses
>> whatever linker was used to build itself.
>>
>> --
>> Robert Kern
>>
>> "I have come to believe that the whole world is an enigma, a harmless enigma
>>  that is made terrible by our own mad attempt to interpret it as though it had
>>  an underlying truth."
>>   -- Umberto E
> 
> Dear Robert,
> 
> Looks like you are right. Here is what I got when I compile the
> Python2.2 from source (or I believe so):
> 
> $ sudo make SHELL=/usr/local/bin/bash
> Password:
> case $MAKEFLAGS in \
> *-s*) CC='cc' LDSHARED='ld' OPT='-DNDEBUG -O' ./python -E //6/openqnx/
> Python-2.2/setup.py -q build;; \
> *) CC='cc' LDSHARED='ld' OPT='-DNDEBUG -O' ./python -E //6/openqnx/
> Python-2.2/setup.py build;; \
> esac
> running build
> running build_ext
> building 'regex' extension
> skipping //6/openqnx/Python-2.2/Modules/regexmodule.c (build/temp.qnx-
> O-PCI-2.2/regexmodule.o up-to-date)
> skipping //6/openqnx/Python-2.2/Modules/regexpr.c (build/temp.qnx-O-
> PCI-2.2/regexpr.o up-to-date)
> ld build/temp.qnx-O-PCI-2.2/regexmodule.o build/temp.qnx-O-PCI-2.2/
> regexpr.o -L/usr/local/lib -o build/lib.qnx-O-PCI-2.2/regex.so
> unable to execute ld: No such file or directory
> ....
> 
> If there is no 'ld' linker, what should be used instead??

I don't know. I've never used QNX. It looks like the Python binaries were built
with a linker that you don't have on your system. Usually, you have to use the
same compiler/linker combination to build extension modules that you used to
build Python itself.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco




More information about the Python-list mailing list