Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Force setup.py to use my custom compiler

I'm trying to get setup.py to compile c++ code with the macports version of gcc. The problem is the code I am trying to build, doesn't support mac's default clang, which is the default gcc on newer osx versions.

I created a custom setup.cfg file

setup.cfg

[build_ext] 
compiler=gcc-mp-4.8

However when I run python setup.py build_ext I get the following error

running build_ext

error: don't know how to compile C/C++ code on platform 'posix' with 'gcc-mp-4.8' compiler

How can I get setup.py to use my version of gcc gcc-mp-4.8?

Currently setup.py defaults to using /usr/bin/clang, when i type gcc -v it shows that it is using gcc version 4.8.2

like image 387
pyCthon Avatar asked Aug 31 '14 18:08

pyCthon


1 Answers

The --compiler option expects "unix", "msvc", "cygwin", "mingw32", "bcpp", or "emx", from my understanding. You can try setting the compiler name by specifying a CC environment variable instead.

Inside setup.py try setting os.environ:

os.environ["CC"] = "gcc-4.8"
os.environ["CXX"] = "gcc-4.8"

or just:

CC=gcc

g++ would be used like this too;

os.environ["CXX"] = "g++-4.7"
like image 61
l'L'l Avatar answered Sep 19 '22 10:09

l'L'l