[PyCUDA] Build Problems on SuSE 11.0, x86_64 - cannot find -llibboost_python-mt

2009-11-21 Thread Wolfgang Rosner
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 

Re: [PyCUDA] Build Problems on SuSE 11.0, x86_64 - cannot find -llibboost_python-mt

2009-11-21 Thread Andreas Klöckner
On Samstag 21 November 2009, Wolfgang Rosner wrote:
 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

First, all that configure.py does is edit siteconf.py--no need to rerun it 
once sitconf.py is in place.

Second, -lsomething implicitly looks for libsomething.so. No need to specify 
the lib prefix.

HTH,
Andreas


signature.asc
Description: This is a digitally signed message part.
___
PyCUDA mailing list
PyCUDA@tiker.net
http://tiker.net/mailman/listinfo/pycuda_tiker.net


Re: [PyCUDA] Build Problems on SuSE 11.0, x86_64 - cannot find -llibboost_python-mt

2009-11-21 Thread Andreas Klöckner
On Samstag 21 November 2009, Wolfgang Rosner wrote:
 OK, for me it works now, but peomple might be even more (and earlier) happy
  if  the pytools issue had been mentioned in the setup wiki.

Pytools should be installed automatically along with 'python setup.py 
install'. If it didn't: do you have any idea why?

 If you like and give me an wiki account, I'd go to share my experience.

No account required. (though you can create one yourself) Please do share.

Andreas



signature.asc
Description: This is a digitally signed message part.
___
PyCUDA mailing list
PyCUDA@tiker.net
http://tiker.net/mailman/listinfo/pycuda_tiker.net


Re: [PyCUDA] trouble with pycuda-0.93.1rc2 - test_driver.py, etc.

2009-11-21 Thread Janet Jacobsen

Hi, Andreas.  Thanks for this information and your recommendation
to rebuild boost.  I will give it a try, though my effort to do so may
be delayed a week due to travel.  I will report back when I have
rebuilt boost and re-tested. 


Many thanks,
Janet


On 11/20/2009 8:34 PM, Andreas Klöckner wrote:

On Freitag 20 November 2009, Janet Jacobsen wrote:
  

Hi, Andreas.  Last question, first: when I hit the reply
button, your email address shows up as li...@monster.tiker.net.



Huh, weird. I need to look into that. Thanks for letting me know.

  

I take this to mean that I need to rebuild python and
specify --enable-unicode=ucs4 and --enable-shared
when I run the configure step.  Are there other
configure options that I should include?



No, I think that would be the wrong way around. You should rebuild Boost. 
Since Boost seems to have picked up a UCS4 Python, that must've been the 
system-wide 2.4 one. So even if you rebuild Python to match Boost's UCS'iness, 
you'll still be building against a mismatched version of Python (2.4 vs 2.6, 
and who knows what else is different). In the best case, that's is going to 
give you something marginally working that crashes a lot.


Andreas

PS: Out of curiosity: Why on earth does Python support two different UCS 
widths?
  
___
PyCUDA mailing list
PyCUDA@tiker.net
http://tiker.net/mailman/listinfo/pycuda_tiker.net


Re: [PyCUDA] Build Problems on SuSE 11.0, now Pytools not found

2009-11-21 Thread Wolfgang Rosner
Hello, Andreas,

Am Samstag, 21. November 2009 20:00:10 schrieb pycuda-requ...@tiker.net:
 Message: 3
 Date: Sat, 21 Nov 2009 13:39:13 -0500
 From: Andreas Kl?ckner li...@informa.tiker.net
 Subject: Re: [PyCUDA] Build Problems on SuSE 11.0,  x86_64 - cannot
 find -llibboost_python-mt
 To: pycuda@tiker.net
 Message-ID: 200911211339.19819.li...@informa.tiker.net
 Content-Type: text/plain; charset=iso-8859-1

 On Samstag 21 November 2009, Wolfgang Rosner wrote:
  OK, for me it works now, but peomple might be even more (and earlier)
  happy if  the pytools issue had been mentioned in the setup wiki.

 Pytools should be installed automatically along with 'python setup.py
 install'. If it didn't: do you have any idea why?

not sure.

could it be that I ran make install 
instead of python setup.py install ?
(sorry, I'm just getting used to Python, preferred perl in earlier live)

first I thought it was due to the different python path structures.

standard on SuSE is
/usr/lib64/python2.5/site-packages/

but the egg-laying machine seems to put stuff to 
/usr/local/lib64/python2.5/site-packages
instead
(maybe I could have reconfigured this, anyway)



but I don't know why, altough
/usr/local/lib64/python2.5/site-packages/pycuda/
/usr/local/lib64/python2.5/site-packages/pytools-9-py2.5.egg/pytools/
live outside obvious scope, the pycuda demos 

hello_gpu.py
demo.py
demo_struct.py
dump_properties.py
demo_elementwise.py

ran.

But for gl_interop.py
I got No module named vertex_buffer_object
Obviously OpenGL.GL.ARB.vertex_buffer_object 
is new in python-opengl ~ Version 3.
There are only rpms for Version 2.0.something for SuSE 11.0
I got new source from http://pyopengl.sourceforge.net
build and install, obviously to 
/usr/local/lib64/python2.5/site-packages/OpenGL/

However, gl_interop.py did not run until I did
export PYTHONPATH=/usr/local/lib64/python2.5/site-packages/
(was PYTHONPATH= before)

maybe this is since there is still the old python-opengl-2.0.1.09-224.1
/usr/lib64/python2.5/site-packages/OpenGL/GL/ARB/ 
...with-no-vertex-buffer-in-there
in the way which is caught before.

But to figure it out I'm definitely lacking sufficient python experience.



  If you like and give me an wiki account, I'd go to share my experience.

 No account required. (though you can create one yourself) Please do share.

hm, might give it a try.
I think best I could offer was be to prepare an own SuSE page with my 
experience.
It all comes down to different ways and places where stuff is stored.
But I think my approach is not the best one, in the view back it were better 
to configure new stuff so that it meets SuSE structure. Maybe. 
Well, but this might break other dependencies?
Smells like big 'Baustelle'...

So if your expectation of quality on your wiki is not too high, I'll post my 
experience there.

Wolfgang


 Andreas




___
PyCUDA mailing list
PyCUDA@tiker.net
http://tiker.net/mailman/listinfo/pycuda_tiker.net


Re: [PyCUDA] Build Problems on SuSE 11.0, now Pytools not found

2009-11-21 Thread Andreas Klöckner
On Samstag 21 November 2009, Wolfgang Rosner wrote:
  Pytools should be installed automatically along with 'python setup.py
  install'. If it didn't: do you have any idea why?
 
 not sure.
 
 could it be that I ran make install
 instead of python setup.py install ?

make install invokes python setup.py install. That shouldn't have been it.

 (sorry, I'm just getting used to Python, preferred perl in earlier live)
 
 first I thought it was due to the different python path structures.
 
 standard on SuSE is
 /usr/lib64/python2.5/site-packages/
 
 but the egg-laying machine seems to put stuff to
 /usr/local/lib64/python2.5/site-packages
 instead
 (maybe I could have reconfigured this, anyway)

Weird. Curious about the reasoning behind this.

 However, gl_interop.py did not run until I did
 export PYTHONPATH=/usr/local/lib64/python2.5/site-packages/
 (was PYTHONPATH= before)
 
 maybe this is since there is still the old python-opengl-2.0.1.09-224.1
 /usr/lib64/python2.5/site-packages/OpenGL/GL/ARB/
  ...with-no-vertex-buffer-in-there in the way which is caught before.
 
 But to figure it out I'm definitely lacking sufficient python experience.

There is an easy trick to find out what file path actually gets imported:

 import pytools
 pytools.__file__
'/home/andreas/research/software/pytools/pytools/__init__.py'

 hm, might give it a try.
 I think best I could offer was be to prepare an own SuSE page with my
 experience.

Sure--just add a subpage under
http://wiki.tiker.net/PyCuda/Installation/Linux
(like the one for Ubuntu)

 It all comes down to different ways and places where stuff is stored.
 But I think my approach is not the best one, in the view back it were
  better to configure new stuff so that it meets SuSE structure. Maybe.
 Well, but this might break other dependencies?
 Smells like big 'Baustelle'...
 
 So if your expectation of quality on your wiki is not too high, I'll post
  my experience there.

That's the whole point of a Wiki: information of questionable quality that 
people improve as they use it. It's a knowledge retention tool.

Andreas


signature.asc
Description: This is a digitally signed message part.
___
PyCUDA mailing list
PyCUDA@tiker.net
http://tiker.net/mailman/listinfo/pycuda_tiker.net