Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ImportError: sourmash_lib/_minhash.so: undefined symbol: _ #288

Closed
davidvilanova opened this issue Jun 28, 2017 · 2 comments
Closed

ImportError: sourmash_lib/_minhash.so: undefined symbol: _ #288

davidvilanova opened this issue Jun 28, 2017 · 2 comments

Comments

@davidvilanova
Copy link

Hi getting this strange .so linkage error while compiling soursmash.

~/work/.../sourmash/sourmash$ make clean all
python setup.py clean --all
running clean
removing 'build/temp.linux-x86_64-2.7' (and everything under it)
removing 'build/lib.linux-x86_64-2.7' (and everything under it)
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-2.7' does not exist -- can't clean it
removing 'build'
cd doc && make clean
make[1]: Entering directory `/work/test/sources/sourmash/sourmash/doc'
rm -rf _build/*
make[1]: Leaving directory `/work/test/sources/sourmash/sourmash/doc'
python setup.py build_ext -i
running build_ext
skipping 'sourmash_lib/_minhash.cpp' Cython extension (up-to-date)
building 'sourmash_lib._minhash' extension
creating build
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/sourmash_lib
creating build/temp.linux-x86_64-2.7/third-party
creating build/temp.linux-x86_64-2.7/third-party/smhasher
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I./sourmash_lib -I./third-party/smhasher/ -I/work/test/anaconda2/include/python2.7 -c sourmash_lib/_minhash.cpp -o build/temp.linux-x86_64-2.7/sourmash_lib/_minhash.o -std=c++11 -pedantic -O3
cc1plus: warning: command line option ?-Wstrict-prototypes? is valid for C/ObjC but not for C++
sourmash_lib/_minhash.cpp: In function ?PyObject* __pyx_pf_12sourmash_lib_8_minhash_7MinHash_40intersection(__pyx_obj_12sourmash_lib_8_minhash_MinHash*, __pyx_obj_12sourmash_lib_8_minhash_MinHash*)?:
sourmash_lib/_minhash.cpp:6895:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (((__pyx_t_11 > __pyx_t_12) != 0)) {
         ~~~~~~~~~~~^~~~~~~~~~~~
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I./sourmash_lib -I./third-party/smhasher/ -I/work/test/anaconda2/include/python2.7 -c third-party/smhasher/MurmurHash3.cc -o build/temp.linux-x86_64-2.7/third-party/smhasher/MurmurHash3.o -std=c++11 -pedantic -O3
cc1plus: warning: command line option ?-Wstrict-prototypes? is valid for C/ObjC but not for C++
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/sourmash_lib
g++ -pthread -shared -L/work/test/anaconda2/lib -Wl,-rpath=/work/test/anaconda2/lib,--no-as-needed build/temp.linux-x86_64-2.7/sourmash_lib/_minhash.o build/temp.linux-x86_64-2.7/third-party/smhasher/MurmurHash3.o -L/work/test/anaconda2/lib -lpython2.7 -o build/lib.linux-x86_64-2.7/sourmash_lib/_minhash.so
copying build/lib.linux-x86_64-2.7/sourmash_lib/_minhash.so -> sourmash_lib

Execution

~/work/.../sourmash/sourmash$ ./sourmash
Traceback (most recent call last):
  File "./sourmash", line 4, in <module>
    from sourmash_lib.__main__ import main
  File "/work/test/sources/sourmash/sourmash/sourmash_lib/__init__.py", line 8, in <module>
    from ._minhash import (MinHash, get_minhash_default_seed, get_minhash_max_hash)
ImportError: /work/test/sources/sourmash/sourmash/sourmash_lib/_minhash.so: undefined symbol: _ZTINSt8ios_base7failureB5cxx11E

~/work/.../sourmash/sourmash$ g++ --version
g++ (GCC) 6.1.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Running python python 2.7.13 under linux

Have no idea what this is .

@ctb
Copy link
Contributor

ctb commented Jul 5, 2017

Sorry to let this languish so long - but I will now comment with a totally unhelpful message! I have no idea! However this issue seems to identify something similar - are you using anaconda? If so can you try running conda install libgcc?

@ctb
Copy link
Contributor

ctb commented Dec 30, 2018

Closing for now.

@ctb ctb closed this as completed Dec 30, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants