Can't install Orange: "error: command 'clang' failed with exit status 1"

gcc, macos, orange, python

Solution

Problem solved: Xcode 4 doesn't actually come with gcc-4.2; it comes with the new LLVM compilers.

It was just a matter of doing:

export CC=llvm-gcc-4.2
export CXX=llvm-g++-4.2

then building Orange.

Problem

I am trying to install Orange on my Mac OS X 10.7.3 (Lion) and I keep getting an error when using either pip or building from source. First, I was getting an error that read: ``` error: command 'gcc-4.0' failed with exit status 1 ``` I have Xcode 4, which comes bundled with gcc 4.2.1. So I installed 64-bit/32-bit Python 2.7.3, which has gcc 4.2 built in. I also tried to override the compiler choice using: ``` export CC=gcc-4.2 ``` But this produced a different error: ``` gcc-4.2 not found, using clang instead ... error: command 'clang' failed with exit status 1 ``` Here is the full log: ``` $ python setup.py build running build running build_py copying Orange/version.py -> build/lib.macosx-10.6-intel-2.7/Orange running build_ext gcc-4.2 not found, using clang instead building 'Orange.orange' extension running pyxtract for Orange.orange /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python ../pyxtract/defvectors.py /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python ../pyxtract/pyprops.py -n orange /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python ../pyxtract/pyxtract.py -m -n orange lib_kernel.cpp lib_components.cpp lib_preprocess.cpp lib_learner.cpp lib_io.cpp lib_vectors.cpp cls_example.cpp cls_value.cpp cls_orange.cpp cls_misc.cpp functions.cpp orange.cpp Parsing lib_kernel.cpp Parsing lib_components.cpp Parsing lib_preprocess.cpp Parsing lib_learner.cpp Parsing lib_io.cpp Parsing lib_vectors.cpp Parsing cls_example.cpp Parsing cls_value.cpp Parsing cls_orange.cpp Parsing cls_misc.cpp Parsing functions.cpp Parsing orange.cpp Warning: class 'PearsonCorrelation' will not be picklable Warning: class 'ItemsetNodeProxy' will not be picklable clang -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -INone -Isource/include -Isource/orange/liblinear -Isource/orange/ppp -Isource/orange/px -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c source/orange/assoc.cpp -o build/temp.macosx-10.6-intel-2.7/source/orange/assoc.o -fPIC -fpermissive -fno-common -w -DDARWIN -DORANGE_EXPORTS clang: warning: argument unused during compilation: '-fpermissive' In file included from source/orange/assoc.cpp:25: In file included from source/orange/random.hpp:26: In file included from source/orange/root.hpp:25: source/orange/garbage.hpp:221:9: error: use of undeclared identifier 'raiseError' raiseError("bad cast from %s to %s", typeid(U).name(), typeid(T).name()); ^ source/orange/garbage.hpp:253:7: error: use of undeclared identifier 'raiseError' raiseError("Orange internal error: NULL pointer to '%s'", TYPENAME(typeid(T))); ^ source/orange/garbage.hpp:261:7: error: use of undeclared identifier 'raiseError' raiseError("Orange internal error: NULL pointer to '%s'", TYPENAME(typeid(T))); ^ source/orange/garbage.hpp:301:7: error: use of undeclared identifier 'raiseError' raiseError("Orange internal error: NULL pointer to '%s'", TYPENAME(typeid(T))); ^ source/orange/garbage.hpp:312:7: error: use of undeclared identifier 'raiseError' raiseError("Orange internal error: NULL pointer to '%s'", TYPENAME(typeid(T))); ^ In file included from source/orange/assoc.cpp:27: source/orange/examplegen.hpp:143:38: error: expected member name or ';' after declaration specifiers TExampleIterator::TExampleIterator(const TExampleIterator &other); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ source/orange/examplegen.hpp:143:38: error: expected ')' source/orange/examplegen.hpp:143:37: note: to match this '(' TExampleIterator::TExampleIterator(const TExampleIterator &other); ^ source/orange/assoc.cpp:33:1: error: explicit specialization of 'st_classDescription' after instantiation DEFINE_TOrangeVector_classDescription(PAssociationRule, "TAssociationRules", true, ORANGE_API) ^ source/orange/orvector.hpp:105:57: note: expanded from macro 'DEFINE_TOrangeVector_classDescription' TClassDescription TOrangeVector< _TYPE, _WRAPPED >::st_classDescription = { _NAME, &typeid(TOrangeVector< _TYPE, _WRAPPED >), &TOrange::st_classDescription, TOrange_properties, TOrange_components }; ^ source/orange/ppp/assoc.ppp:111:72: note: implicit instantiation first required here {"rules", "association rules", &typeid(POrange), &TAssociationRules::st_classDescription, offsetof(TAssociationClassifier, rules), false, false, 0}, ^ 8 errors generated. error: command 'clang' failed with exit status 1 ```

Original source