Merge pyopencl 0.92~beta+git20100709-1 (multiverse) from Debian Unstable (contrib)

Bug #607407 reported by Tomasz Rybak
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pyopencl (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

PyOpenCL is Python wrapper around OpenCL libraries.

As it depends on NVIDIA driver-related packages, currently it is in Debian Unstable contrib.
As soon as there are another implementations of OpenCL available in Debian/Ubuntu, this package should be able to use them instead of NVIDIA ones.

Because of differences between NVIDIA-related packages in Debian and Ubuntu there is some work needed to allow for python-pyopencl to build on Ubuntu. I have tested its building and installation on Ubuntu 10.04 LTS.

Thanks.

Tags: patch

Related branches

summary: - Please sync python-pyopencl 0.92~beta-git20100709 from Debian Unstable
+ Please sync pyopencl 0.92~beta-git20100709 from Debian Unstable
(contrib)
summary: - Please sync pyopencl 0.92~beta-git20100709 from Debian Unstable
+ Please sync pyopencl 0.92~beta-git20100709-1 from Debian Unstable
(contrib)
Benjamin Drung (bdrung)
summary: - Please sync pyopencl 0.92~beta-git20100709-1 from Debian Unstable
- (contrib)
+ Sync pyopencl 0.92~beta+git20100709-1 from Debian Unstable (contrib)
summary: - Sync pyopencl 0.92~beta+git20100709-1 from Debian Unstable (contrib)
+ Sync pyopencl 0.92~beta+git20100709-1 (multiverse) from Debian Unstable
+ (contrib)
Revision history for this message
Benjamin Drung (bdrung) wrote : Re: Sync pyopencl 0.92~beta+git20100709-1 (multiverse) from Debian Unstable (contrib)

Ubuntu's nvidia-graphics-drivers doesn't provide nvidia-libopencl1-dev and therefore this package fails to build:

pbuilder-satisfydepends-dummy: Depends: nvidia-libopencl1-dev which is a virtual package. or
                                          libopencl1-dev which is a virtual package.

Changed in ubuntu:
status: New → Incomplete
Revision history for this message
Tomasz Rybak (bogomips-post) wrote :

In Ubuntu all files related to NVIDIA drivers are in package nvidia-current.
I was able to build package after applying this patch:
Index: control
===================================================================
--- control
+++ control
@@ -6,7 +6,7 @@
  python-support,
  python-all-dev,
  python-setuptools,
- nvidia-libopencl1-dev | libopencl1-dev,
+ nvidia-libopencl1-dev | libopencl1-dev | nvidia-current-dev,
  libboost-python-dev,
  mesa-common-dev,
  python-numpy,
@@ -22,8 +22,7 @@
 Package: python-pyopencl
 Architecture: amd64 i386
 Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends},
- libnvidia-compiler1,
- nvidia-opencl-common,
+ nvidia-opencl-common | nvidia-current,
  python-numpy,
  python-matplotlib,
  python-pytools (>= 7),
Index: rules
===================================================================
--- rules
+++ rule
@@ -8,7 +8,7 @@

 override_dh_auto_configure:
  ./configure.py --boost-python-libname=boost_python-py \
- --cl-enable-gl
+ --cl-enable-gl --cl-inc-dir=/usr/include/nvidia-current

 override_dh_auto_build:
  dh_auto_build --buildsystem=python_distutils

The question is - should I try to have the same package in Debian and Ubuntu or
For now X-team (responsible for NVIDIA packges) does not intend to split package to have situation similar to Debian,
so Debian and Ubuntu CUDA/OpenCL packages will need to differ in Deps/Build-Deps.

Revision history for this message
Stefano Rivera (stefanor) wrote :

Please turn that patch into a debdiff, test it on maverick, attach it, and mark the bug as NEW

Revision history for this message
Tomasz Rybak (bogomips-post) wrote :

I include debdiff; after applying package builds on Maverick without problems.

I hope that soon this diff will not be needed - I have filled bug #608917 to add "Provides" fields to nvidia-current package so it behaves as Debian package.

Revision history for this message
Tomasz Rybak (bogomips-post) wrote :

Sorry - previous patch was incomplete.

Changed in ubuntu:
status: Incomplete → New
summary: - Sync pyopencl 0.92~beta+git20100709-1 (multiverse) from Debian Unstable
+ Merge pyopencl 0.92~beta+git20100709-1 (multiverse) from Debian Unstable
(contrib)
Revision history for this message
Fabrice Coutadeur (fabricesp) wrote :

Hi,

Uploaded. Thanks for your work!

I made the following changes to your debdiff:
- update the description to close this bug report and clearly states which files are modified
- run update-maintainer to update the maintainer field to the Ubuntu's value
- change the distribution to Maverick

Please take care of that next time you submit something for sponsorship ;-)

Thanks,
Fabrice

Revision history for this message
Fabrice Coutadeur (fabricesp) wrote :

Also, to be clean, I think that setup.py should be patched in Debian to set USE_SHIPPED_BOOST to False, to avoid messy messages and delays. Could you please report that to Debian?

Thanks again,

Fabrice

Changed in ubuntu:
status: New → Fix Committed
tags: added: patch
Revision history for this message
Tomasz Rybak (bogomips-post) wrote :

Thanks for sponsorship.I will take care about mentioned problems next time, but hope that X team will take care about bug #608917 and there will be no need to have differences between Debian and Ubuntu package.

As for USE_SHIPPED_BOOST - upstream started distributing Boost with package to solve problems people had with building PyOpneCL on Windows and MacOSX. As Debian/Ubuntu have proper dependency management, there is no need to have Boost as part of source. I am wondering whether to patch it or to ask upstream to add option to disable checking presence of shipped boost.

Revision history for this message
Artur Rona (ari-tczew) wrote :

pyopencl (0.92~beta+git20100709-1ubuntu1) maverick; urgency=low

  * Package taken from Debian (LP: #607407)
  * debian/control: Changed dependencies to fit Ubuntu NVIDIA packages
  * debian/rules: added --cl-inc-dir to point to the correct headers
 -- Tomasz Rybak <email address hidden> Sat, 24 Jul 2010 20:43:30 +0200

affects: ubuntu → pyopencl (Ubuntu)
Changed in pyopencl (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.