[SciPy-User] Scipy failing -- undefined symbol: _ZNSt8ios_base4InitD1Ev

Baker D.J. D.J.Baker at soton.ac.uk
Thu Mar 4 06:17:54 EST 2010


Hello,

I've just installed scipy on our Linux x86_64 machine using the Intel compilers and MKL. All is not well, however, since when I try to use scipy, for example...

from scipy import linsolve, sparse

I find that there is an unresolved symbol. That is, _ZNSt8ios_base4InitD1Ev. Using c++filt would appear to suggest that I need to add "-lstdc++" to my loader command. 

c++filt _ZNSt8ios_base4InitD1Ev
std::ios_base::Init::~Init()

I'm new to numpy and scipy, and so I'm working in the dark to some degree. I've tried modifying intelccompiler.py in the following way, and recompiling numpy and scipy (the idea being that some of the programs in the scipy build are cxx files)

    compiler_type = 'intel'
    cc_exe = 'icc -O3 -fPIC'
    cxx_exe = 'icpc -O3 -fPIC'
    def __init__ (self, verbose=0, dry_run=0, force=0):
        UnixCCompiler.__init__ (self, verbose,dry_run, force)
        compiler = self.cc_exe
        compiler_cxx = self.cxx_exe
        self.set_executables(compiler=compiler,
                             compiler_so=compiler,
                             compiler_cxx=compiler_cxx,
                             linker_exe=compiler,
                             linker_so=compiler_cxx + ' -shared -lstdc++')

I rebuild scipy using the following command, however the above hasn't helped:

python setup.py config --compiler=intel config_fc --fcompiler=intelem  install --prefix=/local/software/rh53/scipy/0.7.1/intel

Could someone please advise me how to ensure that the "-lstdc++" is successfully passed to the linker as and when I build scipy. This would really be appreciated.

Best -- David.


More information about the SciPy-User mailing list