Hello, Andreas Klöckner,
I can't get pycuda to build on my box.
I tried at least 10 times, try to reproduce details now.
In the archive, there was a similar thread with a SuSE 11.1 64 bit box ,
posted by Jonghwan Rhee
http://article.gmane.org/gmane.comp.python.cuda/955
but that did not really provide a solution.
"cannot find -llibboost_python-mt"
although the file is in place
==========================================
Details:
openSUSE 11.0 (X86-64)
kernel:
Linux version 2.6.25.18-0.2-debug (ge...@buildhost) (gcc version 4.3.1
20080507 (prerelease) [gcc-4_3-branch revision 135036] (SUSE Linux) ) #1 SMP
2008-10-21 16:30:26 +0200
-----------------------------------------------------------------
what I did:
load snapshot
:~>tar -xvzf pycuda-release-0.93.tar.gz
:~>cd pycuda/
:~>cp ../siteconf.py . (get config from previous trials)
:~>./configure.py
1st configure call:
:~>./configure.py
Traceback (most recent call last):
File "./configure.py", line 3, in <module>
from aksetup_helper import configure_frontend
File "/home/wrosner/test/cuda/pycuda/pycuda/aksetup_helper.py", line 3, in
<module>
distribute_setup.use_setuptools()
...
File "/home/wrosner/test/cuda/pycuda/pycuda/distribute_setup.py", line 228,
in _rename_path
os.rename(path, new_name)
OSError: [Errno 13] Permission denied
running again
:~>./configure.py
....
....*** I'm taking the configured values as defaults
looks OK so far
:~>python setup.py build
... some gcc runs seem ok but then
.....
g++ -pthread -shared build/temp.linux-x86_64-2.5/src/cpp/cuda.o
build/temp.linux-x86_64-2.5/src/cpp/bitlog.o
build/temp.linux-x86_64-2.5/src/wrapper/wrap_cudadrv.o
build/temp.linux-x86_64-2.5/src/wrapper/mempool.o
build/temp.linux-x86_64-2.5/src/wrapper/wrap_cudagl.o -L/usr/lib64 -L/usr/lib64
-L/usr/lib64 -llibboost_python-mt -llibboost_thread-mt -llibcuda -lpython2.5 -o
build/lib.linux-x86_64-2.5/pycuda/_driver.so
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld:
cannot find -llibboost_python-mt
collect2: ld returned 1 exit status
error: command 'g++' failed with exit status 1
-------------------------
The file it is there without doubt:
:~>la /usr/lib64/libboost_python-mt.so
lrwxrwxrwx 1 root root 25 21. Nov 00:57 /usr/lib64/libboost_python-mt.so ->
libboost_python.so.1.39.0
==============================================
I tried different sym link names, fiddling with pathes and names in the
siteconf.py - always same picture.
I tried to call the g++ manually with modified params, even with full path
-l/usr/lib64/libboost_python-mt.so
still does not want to find it
while fiddling, I came across some boost_python in /usr/lib/,
but there I got complaint "incompatible" or so.
Found that there was a 586 package installed, which I have removed.
But at least, the ld could _find_ the file.
Seems like a problem with the 64 bit architecture?
Can I build pycuda / boost in 32-bit-mode without screwing my whole system???
==================================================
:~>cat siteconf.py
BOOST_INC_DIR = ['/usr/include']
BOOST_LIB_DIR = ['/usr/lib64']
BOOST_COMPILER = 'gcc43'
BOOST_PYTHON_LIBNAME = ['libboost_python-mt']
BOOST_THREAD_LIBNAME = ['libboost_thread-mt']
CUDA_TRACE = False
CUDA_ENABLE_GL = True
CUDADRV_LIB_DIR = ['/usr/lib64']
CUDADRV_LIBNAME = ['libcuda']
CXXFLAGS = []
LDFLAGS = []
=========================================
:~>g++ --version
g++ (SUSE Linux) 4.3.1 20080507 (prerelease) [gcc-4_3-branch revision 135036]
rpm -qa | grep boost
libboost_graph1_36_0-1.36.0-11.1
libboost_thread1_39_0-1.39.0-6.1
boost-license-1.36.0-11.1
libboost_system1_36_0-1.36.0-11.1
libboost_system1_39_0-1.39.0-6.1
boost1_36-devel-1.36.0-0.pm.1.1
libboost_test1_36_0-1.36.0-11.1
libboost_signals1_39_0-1.39.0-6.1
libboost_math1_39_0-1.39.0-6.1
boost-devel-1.39.0-6.1
libboost_regex1_36_0-1.36.0-11.1
libboost_python1_39_0-1.39.0-6.1
libboost_graph1_39_0-1.39.0-6.1
boost-jam-3.1.14-51.1
libboost_math1_36_0-1.36.0-11.1
libboost_filesystem1_36_0-1.36.0-11.1
boost1_36-1.36.0-0.pm.1.1
libboost_test1_39_0-1.39.0-6.1
libboost_date_time1_36_0-1.36.0-11.1
libboost_wave1_39_0-1.39.0-6.1
libboost_iostreams1_39_0-1.39.0-6.1
libboost_program_options1_39_0-1.39.0-6.1
libboost_iostreams1_36_0-1.36.0-11.1
libboost_serialization1_36_0-1.36.0-11.1
boost-license1_39_0-1.39.0-6.1
libboost_serialization1_39_0-1.39.0-6.1
libboost_mpi1_39_0-1.39.0-6.1
libboost_signals1_36_0-1.36.0-11.1
boost-doc-1.39.0-6.1
libboost_filesystem1_39_0-1.39.0-6.1
libboost_program_options1_36_0-1.36.0-11.1
libboost_date_time1_39_0-1.39.0-6.1
libboost_regex1_39_0-1.39.0-6.1
is the version mix a problem?
standard on my dist ist v34 for boost, highest I found was 36.
The lowest for libboost_python and libboost_thread I could find were v39
however.
==========================================
rerun build:
:~> python setup.py build
Scanning installed packages
Setuptools installation detected at /home/wrosner/test/cuda/pycuda/pycuda
Non-egg installation
Removing elements out of the way...
Already patched.
/home/wrosner/test/cuda/pycuda/pycuda/setuptools-0.6c9-py2.5.egg-info already
patched.
Extracting in /tmp/tmp7nfyvI
Now working in /tmp/tmp7nfyvI/distribute-0.6.4
Building a Distribute egg in /home/wrosner/test/cuda/pycuda/pycuda
/home/wrosner/test/cuda/pycuda/pycuda/setuptools-0.6c9-py2.5.egg-info already
exists
/usr/include /boost/ python .hpp
/usr/lib64 / lib libboost_python-mt .so
/usr/lib64 / lib libboost_python-mt .dylib
/usr/lib64 / lib libboost_python-mt .lib
/usr/lib64 / libboost_python-mt .so
/usr/lib64 / lib libboost_thread-mt .so
/usr/lib64 / lib libboost_thread-mt .dylib
/usr/lib64 / lib libboost_thread-mt .lib
/usr/lib64 / libboost_thread-mt .so
/usr/local/cuda /bin/ nvcc
/usr/local/cuda/include / cuda .h
/usr/lib64 / lib libcuda .so
/usr/lib64 / lib libcuda .dylib
/usr/lib64 / lib libcuda .lib
/usr/lib64 / libcuda .so
/usr/lib64/python2.5/distutils/dist.py:263: UserWarning: Unknown distribution
option: 'install_requires'
warnings.warn(msg)
running build
running build_py
running build_ext
building '_driver' extension
g++ -pthread -shared build/temp.linux-x86_64-2.5/src/cpp/cuda.o
build/temp.linux-x86_64-2.5/src/cpp/bitlog.o
build/temp.linux-x86_64-2.5/src/wrapper/wrap_cudadrv.o
build/temp.linux-x86_64-2.5/src/wrapper/mempool.o
build/temp.linux-x86_64-2.5/src/wrapper/wrap_cudagl.o -L/usr/lib64 -L/usr/lib64
-L/usr/lib64 -llibboost_python-mt -llibboost_thread-mt -llibcuda -lpython2.5 -o
build/lib.linux-x86_64-2.5/pycuda/_driver.so
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld:
cannot find -llibboost_python-mt
collect2: ld returned 1 exit status
error: command 'g++' failed with exit status 1
===================================================================
once I found a message "your gcc is to old", but cannot reproduce this any
more.
I tried older version of pycuda, but snaphot cannot be unpacked:
tar -xvzf /home/.../pycuda-release-0.92.tar.gz
tar: Das sieht nicht wie ein „tar“-Archiv aus.
getting stucked :-(((
any help appreciated
sincerely
Wolfgang Rosner
[email protected]
_______________________________________________
PyCUDA mailing list
[email protected]
http://tiker.net/mailman/listinfo/pycuda_tiker.net