肉球でキーボード

MLエンジニアの技術ブログです

setup.py をg++で明示的にコンパイルする

Mac で g++ でコンパイルされた setup.py を実行しようとすると、clang でコンパイルされ困ったので、解決策を書き留めておきます。

ハマった内容

Cython で書かれた python パッケージを setup.py でインストールする際に、MacXcode 付属のclang がコンパイラとして使用され、 g++ 付属のライブラリで import error がでてしまった。

実行環境
- macOS Catalina 10.15.6
- g++ 11.1.0 (Homebrew GCC 11.1.0_1)

解決方法

明示的にコンパイラをg++ に設定して、setup.py を実行する

ARCHFLAGS="-arch x86_64" CC=g++ CXX=g++ python setup.py 

参考

MacでGCCを"正しく"環境構築しよう! - Qiita

Macでsetup.pyから拡張モジュールをコンパイルする時にgccを使う方法 - Qiita