inducer / pymetis

A Python wrapper around Metis, a graph partitioning package
http://mathema.tician.de/software/pymetis
Other
164 stars 32 forks source link

PyMetis not building/installing on mac #6

Closed mseesquared closed 9 years ago

mseesquared commented 9 years ago

Currently, I can't seem to install PyMetis on my computer. When running

pip install pymetis

or cloning and running pip install -e /path/to/pymetis, I get the same error:

In file included from src/metis/GKlib/GKlib.h:66:

src/metis/GKlib/gk_externs.h:19:8: error: thread-local storage is unsupported for the current target

extern __thread int gk_cur_jbufs;

       ^

src/metis/GKlib/gk_externs.h:20:8: error: thread-local storage is unsupported for the current target

extern __thread jmp_buf gk_jbufs[];

       ^

src/metis/GKlib/gk_externs.h:21:8: error: thread-local storage is unsupported for the current target

extern __thread jmp_buf gk_jbuf;

       ^

3 errors generated.

error: command 'gcc' failed with exit status 1

Has this issue come up on mac before?

inducer commented 9 years ago

https://stackoverflow.com/questions/2436772/thread-local-storage-macosx

Short version: Upgrade your gcc.

chenray844 commented 5 years ago

@inducer hello

I meet this problem too. when using pip install pymetis in mac.

build-info:

Building wheels for collected packages: pymetis
  Running setup.py bdist_wheel for pymetis ... error
  Complete output from command /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/private/var/folders/y3/xb_8fx894lq_89d7kv0k3gq00000gp/T/pip-install-zmwl0awo/pymetis/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /private/var/folders/y3/xb_8fx894lq_89d7kv0k3gq00000gp/T/pip-wheel-8gcsvgyn --python-tag cp36:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.6-intel-3.6
  creating build/lib.macosx-10.6-intel-3.6/pymetis
  copying pymetis/version.py -> build/lib.macosx-10.6-intel-3.6/pymetis
  copying pymetis/__init__.py -> build/lib.macosx-10.6-intel-3.6/pymetis
  running build_ext
  building 'pymetis._internal' extension
  creating build/temp.macosx-10.6-intel-3.6
  creating build/temp.macosx-10.6-intel-3.6/src
  creating build/temp.macosx-10.6-intel-3.6/src/metis
  creating build/temp.macosx-10.6-intel-3.6/src/metis/GKlib
  creating build/temp.macosx-10.6-intel-3.6/src/metis/libmetis
  creating build/temp.macosx-10.6-intel-3.6/src/wrapper
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset/libs
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset/libs/python
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset/libs/python/src
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset/libs/python/src/converter
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset/libs/python/src/object
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset/libs/smart_ptr
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset/libs/smart_ptr/src
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset/libs/system
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset/libs/system/src
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset/libs/thread
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset/libs/thread/src
  creating build/temp.macosx-10.6-intel-3.6/bpl-subset/bpl_subset/libs/thread/src/pthread
  /usr/bin/clang -fno-strict-aliasing -Wsign-compare -fno-common -dynamic -fwrapv -Wall -O3 -DNDEBUG -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_BUILD_DLL=1 -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION=1 -DBOOST_PYTHON_SOURCE=1 -Dboost=pymetisboost -DBOOST_THREAD_DONT_USE_CHRONO=1 -DHAVE_MREMAP=0 -Isrc/metis/GKlib -Isrc/metis/include -Isrc/metis/libmetis -Ibpl-subset/bpl_subset -I/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c src/metis/GKlib/htable.c -o build/temp.macosx-10.6-intel-3.6/src/metis/GKlib/htable.o
  In file included from src/metis/GKlib/htable.c:11:
  In file included from src/metis/GKlib/GKlib.h:66:
  src/metis/GKlib/gk_externs.h:19:8: error: thread-local storage is not supported for the current target
  extern __thread int gk_cur_jbufs;
         ^
  src/metis/GKlib/gk_externs.h:20:8: error: thread-local storage is not supported for the current target
  extern __thread jmp_buf gk_jbufs[];
         ^
  src/metis/GKlib/gk_externs.h:21:8: error: thread-local storage is not supported for the current target
  extern __thread jmp_buf gk_jbuf;
         ^
  3 errors generated.
  error: command '/usr/bin/clang' failed with exit status 1

  ----------------------------------------
  Failed building wheel for pymetis
  Running setup.py clean for pymetis

clang info:

clang --version
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin18.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

gcc-version

gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin18.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

can use suggest which gcc version I should use to install pymetis successfully?

thanks.

inducer commented 5 years ago

As it says on the linked Stackoverflow page, 4.5 or newer.