[SciPy-dev] Building newcore with the intel compilers on Itanium2...
Fernando.Perez at colorado.edu
Wed Nov 2 23:23:33 CST 2005
Andrew Docherty (who recently posted) and I have been pounding on the problem
of getting newcore to build/link correctly with the intel compilers on an
While things are _almost_ working, the link steps are not being done
correctly, and this leads to failed imports (unresolved symbols).
Once we figure it all out, I'll write up and commit some notes and probably
apply a few small patches here and there, but right now I'm needing a bit of help.
The gist of the problem seems to be to convince distutils to link with icc,
and NOT with gcc. I'm building with an environment where
and with the following build command:
python setup.py config_fc --fcompiler=intele build
While this picks up the correct fortran Itanium2 compiler (ifort), and the C
sources are actually also compiled with icc, the actual link steps are still
being done with gcc, for some reason. From the build log:
gcc -pthread -shared
build/temp.linux-ia64-2.3/scipy/base/src/multiarraymodule.o -o build\
While the build completes successfully, this leads to an import error:
phillips[~]> python -c 'import scipy'
Traceback (most recent call last):
File "<string>", line 1, in ?
line 30, in ?
from scipy.base import *
line 5, in ?
undefined symbol: ?1__serial_memmove
That undefined symbol is part of the intel libraries, and it would get picked
up if the link step was done with icc, I think (or at least one could ask it
to link against the needed library).
Or is it in fact correct to link using gcc (since that's what python itself
was built with) and should we just try to get gcc to pick up the intel
libraries in the final link step? I'll try to get that to work as well, in
Any help would be much appreciated at this point.
More information about the Scipy-dev