Did you upgrade from OS X 10.7 (Lion), or do you have a machine that
started with Mountain Lion? If you've upgraded, try using this
siteconf.py (it took a bit of mucking around with the CXXFLAGS and
LDFLAGS to get it right on my machine):
BOOST_INC_DIR = []
BOOST_LIB_DIR = []
BOOST_COMPILER = 'gcc43'
USE_SHIPPED_BOOST = True
BOOST_PYTHON_LIBNAME = ['boost_python']
BOOST_THREAD_LIBNAME = ['boost_thread']
CUDA_TRACE = False
CUDA_ROOT = '/usr/local/cuda/'
CUDA_ENABLE_GL = False
CUDA_ENABLE_CURAND = True
CUDADRV_LIB_DIR = ['${CUDA_ROOT}/lib']
CUDADRV_LIBNAME = ['cuda']
CUDART_LIB_DIR = ['${CUDA_ROOT}/lib']
CUDART_LIBNAME = ['cudart']
CURAND_LIB_DIR = ['${CUDA_ROOT}/lib']
CURAND_LIBNAME = ['curand']
CXXFLAGS = ["-arch", "x86_64", "-arch", "i386", "-mmacosx-version-min=10.7"]
LDFLAGS = ["-F/Library/Frameworks","-framework CUDA","-arch",
"x86_64", "-arch", "i386", "-mmacosx-version-min=10.7"]
CXXFLAGS.extend(['-isysroot',
'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk'])
LDFLAGS.extend(['-isysroot',
'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk'])
This points to the right path for the SDK for the CXX/LD FLAGS (I
think XCode changed the path of it's SDKs at 4.4, although it may have been
earlier). I wasn't able to compile with the OSX10.8 sdk, so if you
started with Mountain Lion, you may be stuck, but ymmv
Hope this helps.
Best,
Suman
On Mon, Oct 8, 2012 at 1:50 PM, Robert Thompson <[email protected]> wrote:
> Has anyone had success in compiling & installing PyCUDA on OSX 10.8? I've
> followed most of the procedures outlined on
> http://wiki.tiker.net/PyCuda/Installation/Mac (they seem to be slightly
> out-dated), but I get the following error:
>
> [bob ~/local/src/pycuda-2012.1]$ make
> ctags -R src || true
> ctags: illegal option -- R
> usage: ctags [-BFadtuwvx] [-f tagsfile] file ...
> /Library/Frameworks/Python.framework/Versions/7.3/Resources/Python.app/Contents/MacOS/Python
> setup.py build
> running build
> running build_py
> running build_ext
> building '_driver' extension
> gcc -fno-strict-aliasing -fno-common -dynamic -O3 -DNDEBUG
> -DPYGPU_PACKAGE=pycuda -DHAVE_CURAND=1 -DBOOST_PYTHON_SOURCE=1
> -DPYGPU_PYCUDA=1 -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION=1
> -DBOOST_THREAD_BUILD_DLL=1 -Dboost=pycudaboost -DBOOST_ALL_NO_LIB=1
> -Isrc/cpp -Ibpl-subset/bpl_subset -I/usr/local/cuda/include
> -I/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-packages/numpy/core/include
> -I/Library/Frameworks/Python.framework/Versions/7.3/include/python2.7 -c
> src/cpp/cuda.cpp -o build/temp.macosx-10.5-i386-2.7/src/cpp/cuda.o -arch
> x86_64 -arch i386 -isysroot /
> src/cpp/cuda.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’:
> src/cpp/cuda.hpp:595: instantiated from here
> src/cpp/cuda.hpp:595: error: explicit instantiation of
> ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition
> available
> src/cpp/cuda.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’:
> src/cpp/cuda.hpp:595: instantiated from here
> src/cpp/cuda.hpp:595: error: explicit instantiation of
> ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition
> available
> src/cpp/cuda.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’:
> src/cpp/cuda.hpp:595: instantiated from here
> src/cpp/cuda.hpp:595: error: explicit instantiation of
> ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition
> available
> src/cpp/cuda.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’:
> src/cpp/cuda.hpp:595: instantiated from here
> src/cpp/cuda.hpp:595: error: explicit instantiation of
> ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition
> available
> src/cpp/cuda.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’:
> src/cpp/cuda.hpp:595: instantiated from here
> src/cpp/cuda.hpp:595: error: explicit instantiation of
> ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition
> available
> src/cpp/cuda.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’:
> src/cpp/cuda.hpp:595: instantiated from here
> src/cpp/cuda.hpp:595: error: explicit instantiation of
> ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition
> available
> src/cpp/cuda.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’:
> src/cpp/cuda.hpp:595: instantiated from here
> src/cpp/cuda.hpp:595: error: explicit instantiation of
> ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition
> available
> src/cpp/cuda.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’:
> src/cpp/cuda.hpp:595: instantiated from here
> src/cpp/cuda.hpp:595: error: explicit instantiation of
> ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition
> available
> src/cpp/cuda.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’:
> src/cpp/cuda.hpp:595: instantiated from here
> src/cpp/cuda.hpp:595: error: explicit instantiation of
> ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition
> available
> src/cpp/cuda.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’:
> src/cpp/cuda.hpp:595: instantiated from here
> src/cpp/cuda.hpp:595: error: explicit instantiation of
> ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition
> available
> src/cpp/cuda.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’:
> src/cpp/cuda.hpp:595: instantiated from here
> src/cpp/cuda.hpp:595: error: explicit instantiation of
> ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition
> available
> src/cpp/cuda.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’:
> src/cpp/cuda.hpp:595: instantiated from here
> src/cpp/cuda.hpp:595: error: explicit instantiation of
> ‘std::basic_ostream<_CharT, _Traits>&
> std::operator<<(std::basic_ostream<_CharT, _Traits>&, const
> std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits =
> std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition
> available
> lipo: can't figure out the architecture type of:
> /var/folders/06/9qzjs1956fz7dqj5zy8v_64m0000gn/T//cczfJ8L5.out
> error: command 'gcc' failed with exit status 1
> make: *** [all] Error 1
> [bob ~/local/src/pycuda-2012.1]$
>
>
> My siteconf.py looks like this:
>
> BOOST_INC_DIR = []
> BOOST_LIB_DIR = []
> BOOST_COMPILER = 'gcc43'
> USE_SHIPPED_BOOST = True
> BOOST_PYTHON_LIBNAME = ['boost_python']
> BOOST_THREAD_LIBNAME = ['boost_thread']
> CUDA_TRACE = False
> CUDA_ROOT = '/usr/local/cuda/'
> CUDA_ENABLE_GL = False
> CUDA_ENABLE_CURAND = True
> CUDADRV_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib']
> CUDADRV_LIBNAME = ['cuda']
> CUDART_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib']
> CUDART_LIBNAME = ['cudart']
> CURAND_LIB_DIR = ['${CUDA_ROOT}/lib', '${CUDA_ROOT}/lib']
> CURAND_LIBNAME = ['curand']
> CXXFLAGS = ["-arch", "x86_64", "-arch", "i386"]
> LDFLAGS = ["-arch", "x86_64", "-arch", "i386"]
> CXXFLAGS.extend(['-isysroot','/'])
> LDFLAGS.extend(['-isysroot','/'])
>
>
> There is no SDK in '/Developer/SDKs' so I just pointed it to / (which worked
> for other software). I do indeed have Xcode 4.5.1 installed, EPD 7.3-2 32
> bit, and the necessary CUDA toolkit/sdk/drivers. I've also tried removing
> the x86_64 from CXXFLAGS and LDFLAGS but I get the same result. Thanks for
> taking the time to read this!
>
> -Robert
>
>
> _______________________________________________
> PyCUDA mailing list
> [email protected]
> http://lists.tiker.net/listinfo/pycuda
>
_______________________________________________
PyCUDA mailing list
[email protected]
http://lists.tiker.net/listinfo/pycuda