On Fri, 1 Jul 2011 17:12:29 -0400, Nicolas Pinto wrote:
One bit of information that might be relevant is that you can
only import one package that uses shipped boost at a time, for some
reason.
Any idea what the reason could be. I love the fact that I can now
"pip
install -vU py{cuda,opencl}" on every machine I have and it works
beautfiully with the shipped boost *BUT* not when a program wants to
use both. I'd love to contribute a fix but I have a limited bandwidth
and a pointer would be helpful.
I think there are some global structures (type tables?) that are
supposed to be shared among all BPL-using modules, and I think the fact
that there are now two modules trying to export those is what makes
things break. I'm not sure how those structures are accessed. If they're
accessed by symbol name with some dynamic linker magic, here's a trick
that could work: Simply compile pycuda with -Dboost=pycudaboost and
pyopencl with -Dboost=pyopenclboost. That should (somewhat forcibly)
rename that "boost" namespace. It might also break all kinds of other
stuff. But it's worth trying.
Let me know how it goes.
Andreas
_______________________________________________
PyCUDA mailing list
PyCUDA@tiker.net
http://lists.tiker.net/listinfo/pycuda