please provide opencl-icd virtual package

Bug #763457 reported by Mononofu on 2011-04-17
192
This bug affects 40 people
Affects Status Importance Assigned to Milestone
fglrx-installer (Ubuntu)
Medium
Alberto Milone
Quantal
Medium
Alberto Milone
nvidia-common (Ubuntu)
Medium
Alberto Milone
Quantal
Medium
Alberto Milone
nvidia-graphics-drivers (Ubuntu)
Medium
Alberto Milone
Quantal
Medium
Alberto Milone
nvidia-graphics-drivers-304 (Ubuntu)
Undecided
Unassigned
Quantal
Undecided
Unassigned
nvidia-graphics-drivers-304-updates (Ubuntu)
Undecided
Unassigned
Quantal
Undecided
Unassigned
nvidia-graphics-drivers-319 (Ubuntu)
Undecided
Unassigned
Quantal
Undecided
Unassigned
nvidia-graphics-drivers-319-updates (Ubuntu)
Undecided
Unassigned
Quantal
Undecided
Unassigned
pyopencl (Debian)
Fix Released
Unknown
pyopencl (Ubuntu)
High
Dimitri John Ledkov
Quantal
High
Dimitri John Ledkov

Bug Description

The package python-pyopencl depends on nvidia-current, which makes it impossible to correctly use on AMD / ATI systems.

In debbugs #628702 debian started using a virtual package opencl-icd instead of depending directly on particular graphics driver / opencl implementation.

We should follow the same.

TODO

* syn pyopencl
* nvidia-graphics-drivers or nvidia-common (not sure) to provide opencl-icd
* fglrx-installer to provide opencl-icd

R4v3n (philippe-raven) wrote :

Same problem with Ubuntu 10.04.

I have no idea if this is considered a proper workaround but it "works for me":
Downloaded the .deb from a mirror and edited it according to this (removed nvidia-current)
http://blog.sch.bme.hu/index.php/aldaris/2010/10/13/how-to-workaround-apt-get-unmet-dependencies-error
Then installed it with # dpkg -i fixed-pyopencl.deb

I went through all the apt-get flags but none would let me install it without also pulling the nvidia-current.

This is a pretty bad bug because when I installed python-pyopencl and rebooted on my AMD/ATI system I got a blank screen, no VCs, no errors in Xorg log and the hidden GRUB wasn't very helful either. Reboot, live CD, chroot :(
I discovered what was going on by reinstalling everything and rebooting after every graphic related change.

Changed in pyopencl (Ubuntu):
status: New → Confirmed
frank (frankhorowitz) wrote :

This patch is definitely in the "Works for me" category, as I am not an expert in the fine art of debian/ubuntu package maintainance.

You first need to secure the ATI opencl runtime and dev .deb packages. (Somehow. I think I got mine from http://orwell.fiit.stuba.sk/~nou/ but the 2.1 versions do not seem to be there anymore. Also, I am unsure if installing the SDK from ATI will actually create .deb files or not, since I did not go that route. YMMV. Good luck Mr Phelps.)

Then, grab the sources for python-pyopencl-0.92 from the Ubuntu repository, and apply the attached patch. (The only thing the patch does is create alternatives (to the original nvidia spec) for the ati opencl runtime and dev packages -- as specified by the 2.1 version of those packages above -- which I can't seem to find online anymore.

Build the pyopencl package, install it, and welcome back from dependency hell!

I hope this helps someone else...

tags: added: patch
frank (frankhorowitz) wrote :

Just an addition to my comment above. If you fail to find a .deb for the ATI opencl libraries, you could always install from source, and then use the equivs or checkinstall packages to enroll your ATI SDK installation into the apt/dpkg system. In that case the above patch would potentially be more widely useful.

YMMV.

I ran into the same issue since I have to run nvidia dev drivers which conflict with nvidia-current. Fortunately I caught it before rebooting so it didn't break my video subsystem. However, this is a critical issue.

One more thing to note: unless the dependency is removed entirely or a reasonable workaround is instituted (rebuilding the package is not really a reasonable workaround), requiring either the standard ATI or nvidia packages is unacceptable as the nvidia cuda dev drivers do not come as an ubuntu package and therefore are not visible to dpkg/aptitude.

justfred (frederic-durodie) wrote :

Not sure if this is fully related but when I install python-pyopencl on a fresh Maverick (i686 pea) install (fully updated) it breaks the Compiz Desktop 3d effects [on Dell Latitude E6500 with a NVidia Quadro NVS 160m GPU].

I also noticed that when installing python-pyopencl the package "nvidia-opencl-icd" is listed as a recommended package but can not be installed (cannot be found).

see also http://ubuntuforums.org/showthread.php?t=1791973 more a more complete description of the problem.

Tomasz Rybak (bogomips-post) wrote :

Hello.
I am maintaining Debian package python-pyopencl.
New PyOpenCL version (2011.1.2) is in Debian. I have changed OpenCL-related dependencies.
Now, instead of requiring NVIDIA libopencl, package depends on virtual opencl-icd,
and different packages can provide it. Package still contains build-dependency on NVIDIA's libopencl-dev.

Please test whether this is the correct run-time solution for this bug, and if so,
whether this bug can be closed or should I wait for non-NVIDIA OpenCL libraries
to also fix build-dependencies.

Roman Valov (reddot) wrote :

Hello, Thomas,
could you provide updated pyopencl debs via ppa repository? It will greatly simplify the testing process.

Roman Valov (reddot) wrote :

here's what I get when trying to install package using dpkg

Selecting previously deselected package python-pyopencl.
(Reading database ... 183377 files and directories currently installed.)
Unpacking python-pyopencl (from .../python-pyopencl_2011.1.2+git20110716-1_amd64.deb) ...
dpkg: dependency problems prevent configuration of python-pyopencl:
 python-pyopencl depends on nvidia-libopencl1 (>= 260); however:
  Package nvidia-libopencl1 is not installed.
 python-pyopencl depends on python-py; however:
  Package python-py is not installed.
 python-pyopencl depends on opencl-icd; however:
  Package opencl-icd is not installed.
dpkg: error processing python-pyopencl (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 python-pyopencl

Roman Valov (reddot) wrote :

Finally, here is way I've fixed video acceleration on intel gma with pyopencl+amd app sdk installed on maverick without any patch:

# update-alternatives --config gl_conf

then selected mesa variant

# ldconfig
# reboot

on oneric there is two arch-specific gl_conf alternatives, but only one, native is to be updated.

Tomasz Rybak (bogomips-post) wrote :

Debian now contains PyOpenCL which depends on virtual packages providing OpenCL (opencl-icd).
This means that in Debian http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=628702 has been closed
as any OpenCL library can be used. What can I do to help with fixing this bug in Ubuntu?

I will try to create PPA, but the last time I tried it I had problems with building packages depending on non-free
packages, and it looks like one cannot just upload binary package (which would be easiest for me).

Chris Halse Rogers (raof) wrote :

Ok. We just need to merge your work into the Ubuntu package. I can probably get to this in a week or so; someone else is perfectly welcome do do this work, and I'm happy to sponsor.

Changed in pyopencl (Ubuntu):
importance: Undecided → High

I would be really thankful if anyone could take care of this issue. This bug sure messed up my system and it took me quite some time to figure out which python-packages was responsible.

tags: added: boost1.49

The package python-pyopencl depends on nvidia-current, which makes it impossible to correctly use on AMD / ATI systems.

In debbugs #628702 debian started using a virtual package opencl-icd instead of depending directly on particular graphics driver / opencl implementation.

We should follow the same.

TODO

* syn pyopencl
* nvidia-graphics-drivers or nvidia-common (not sure) to provide opencl-icd
* fglrx-installer to provide opencl-icd

summary: - pyopencl falsely depends on nvidia-current
+ pyopencl - please sync & use opencl-icd virtual package
description: updated
Changed in fglrx-installer (Ubuntu):
status: New → Confirmed
Changed in nvidia-common (Ubuntu):
status: New → Confirmed
Changed in nvidia-graphics-drivers (Ubuntu):
status: New → Confirmed
Changed in fglrx-installer (Ubuntu):
importance: Undecided → Medium
Changed in nvidia-common (Ubuntu):
importance: Undecided → Medium
Changed in nvidia-graphics-drivers (Ubuntu):
importance: Undecided → Medium
Changed in pyopencl (Ubuntu):
assignee: nobody → Dmitrijs Ledkovs (dmitrij.ledkov)
Changed in nvidia-graphics-drivers (Ubuntu):
assignee: nobody → Alberto Milone (albertomilone)
Changed in nvidia-common (Ubuntu):
assignee: nobody → Alberto Milone (albertomilone)
Changed in fglrx-installer (Ubuntu):
assignee: nobody → Alberto Milone (albertomilone)
Dimitri John Ledkov (xnox) wrote :

This bug was fixed in the package pyopencl - 2012.1-1

---------------
pyopencl (2012.1-1) unstable; urgency=low

  * New upstream release.
  * Depend on free ocl-icd-libopencl1 instead of non-free libraries.
  * Add NEWS entry describing OpenCL library dependencies.
  * Change my email.
  * Move python-pyopengl from Recommends to Suggests because package
    can be used for computations without any graphical environment.

 -- Tomasz Rybak <email address hidden> Thu, 21 Jun 2012 21:18:03 +0200

pyopencl (2011.2+git20120517-1) unstable; urgency=low

  * New upstream release.
  * Call dh_numpy3 in debian/rules for NumPy ABI and ABI dependencies
    in Python3 module.
  * Fix copyright for files in src/cl/*
  * Update debian/compat to 9, update dependencies.
  * Add Replaces: python-pyopencl to python-pyopencl-headers to avoid problem
    with updating, and ensure that python-pyopencl and python3-pyopencl
    always use correct version of python-pyopencl-headers. (Closes: #674000)
  * Add NEWS entry describing OpenCL library dependencies. (Closes: #673992)

 -- Tomasz Rybak <email address hidden> Tue, 29 May 2012 19:52:40 +0200

pyopencl (2011.2+git20120508-1) unstable; urgency=low

  * New upstream release.
  * Add Python 3 package, create separate python-pyopencl-headers package.
  * Update Standards-Version to 3.9.3.
  * Update debian/copyright to official 1.0 format.
  * Call dh_numpy in debian/rules for NumPy ABI and ABI dependencies.

 -- Tomasz Rybak <email address hidden> Tue, 08 May 2012 23:04:52 +0200

pyopencl (2011.2-1) unstable; urgency=low

  * New upstream release.
  * Change dependencies and build-dependencies to allow installation
    with non-NVIDIA (particularly AMD) OpenCL provider (Closes: #628702)
  * Remove unnecessary ./configure option pointing to include directory;
    OpenCL header files are now in /usr/include
  * Split into python-pyopencl and python-pyopencl-doc packages.
  * Use dh_sphinxdoc to properly manage documentation.
  * Add doc-base support
  * Fix copyright for files in compyte/*
  * Remove pytest override as package uses only py.test

 -- Tomasz Rybak <email address hidden> Mon, 28 Nov 2011 13:39:37 +0100

pyopencl (2011.1.2+git20110716-1) unstable; urgency=low

  * New upstream release
  * Update Standards-Version to 3.9.2; no changes necessary.
  * Switch to debhelper compat level 8; no changes necessary.
  * Add option in debian/source/ to unapply patches after build.
  * Change debian/rules to use dh_python2 which is recommended in Wheezy
  * Add override python-py of pytest package
  * Disable compressing Sphinx-generated files (Closes: #608778)
  * Change dependencies to OpenCL virtual packages to allow other OpenCL
    providers. #628702 is not yet closed because of lack of change in build
    dependencies.

 -- Tomasz Rybak <email address hidden> Mon, 18 Jul 2011 13:32:06 +0200

Changed in pyopencl (Ubuntu):
status: Confirmed → Fix Released
summary: - pyopencl - please sync & use opencl-icd virtual package
+ please use opencl-icd virtual package
summary: - please use opencl-icd virtual package
+ please provice opencl-icd virtual package
summary: - please provice opencl-icd virtual package
+ please provide opencl-icd virtual package
Changed in pyopencl (Debian):
status: Unknown → Fix Released
tags: added: rls-q-incoming
tags: removed: rls-q-incoming
Changed in nvidia-graphics-drivers (Ubuntu Quantal):
status: Confirmed → Won't Fix
Changed in nvidia-common (Ubuntu Quantal):
status: Confirmed → Won't Fix
Changed in fglrx-installer (Ubuntu Quantal):
status: Confirmed → Won't Fix

12.10 quantal as of today after apt-get update:

"Näillä paketeilla on tyydyttämättömiä riippuvuuksia:
 python-pyopencl : Riippuvuudet: opencl-icd mutta ei ole asennuskelpoinen
                   Riippuvuudet: python-pyopencl-headers (= 2012.1-1ubuntu1) mutta ei ole merkitty asennettavaksi
                   Suosittelut: python-pyopencl-doc mutta ei ole merkitty asennettavaksi
                   Suosittelut: python-opengl mutta ei ole merkitty asennettavaksi
E: Pulmia ei voi korjata, rikkinäisiä paketteja on pysytetty."

Seems like NOT FIXED.

Dimitri John Ledkov (xnox) wrote :

As per bug status above neither fglrx-installer nor nvidia-common provided the opencl-icd package, while pyopencl which depends on a such package got uploaded into quantal. If you want to install pyopencl in quantal _now_, please use equivs to create a "dummy" package named opencl-icd.

Dimitri John Ledkov (xnox) wrote :

(or whatever other packages are missing)

This change in pyopencl has been reverted in raring, so in raring python-pyopencl should be installable.

Roman Valov (reddot) wrote :

Dmitrijs, currently I've downloaded python-pyopencl packages from raring and build package locally with no modifications under quantal. After that package was installed and working find on my quantal box. But anyway it's tricky way and it would be easier to get package from repos. So what's the reason that fixed package couldn't be uploaded into quantal's repositories?

On 4 March 2013 11:32, reddot <email address hidden> wrote:
> Dmitrijs, currently I've downloaded python-pyopencl packages from raring
> and build package locally with no modifications under quantal. After
> that package was installed and working find on my quantal box. But
> anyway it's tricky way and it would be easier to get package from repos.
> So what's the reason that fixed package couldn't be uploaded into
> quantal's repositories?
>

It can and should be. Somebody simply needs to open a new bug, fill
out the description as per
https://wiki.ubuntu.com/StableReleaseUpdates
prepare the SRU and get it uploaded/sponsored.
At the moment, I don't have time to do it. Can you?

Regards,

Dmitrijs.

Roman Valov (reddot) wrote :

Well, Dmitrijs, I see that's not a quick process and I can't promise anything regarding my time to perform this too.
By the way, could you point me out pair of moments:

1) Is this bug is enough to promote SRU: https://bugs.launchpad.net/ubuntu/+source/pyopencl/+bug/1048036 ?
2) How does one upload package to -proposed repository? I was assuming this requires some kind of privileges provided membership in ubuntu's teams. Isn't it?

Graham Inggs (ginggs) on 2013-07-25
Changed in nvidia-graphics-drivers-304 (Ubuntu):
status: New → Fix Released
Changed in nvidia-graphics-drivers-304-updates (Ubuntu):
status: New → Fix Released
Changed in nvidia-graphics-drivers-319 (Ubuntu):
status: New → Fix Released
Changed in nvidia-graphics-drivers-319-updates (Ubuntu):
status: New → Fix Released

Could this be backported to 12.04 since the release will be supported for at least 4 more years?

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in nvidia-graphics-drivers-304 (Ubuntu Quantal):
status: New → Confirmed
Changed in nvidia-graphics-drivers-304-updates (Ubuntu Quantal):
status: New → Confirmed
Changed in nvidia-graphics-drivers-319 (Ubuntu Quantal):
status: New → Confirmed
Changed in nvidia-graphics-drivers-319-updates (Ubuntu Quantal):
status: New → Confirmed
Graham Inggs (ginggs) wrote :

@arvindsraj: what is that you want backported to 12.04?
pyopencl in 12.04 does not depend on opencl-icd

When I install pyopencl, the KDE desktop effects stop working. The problem is that pyopencl depends on nvidia-current and nvidia-settings and these get installed when I do not have an nVidia GPU. Also, since the correct ICD(AMD/Intel for CPUs and not nVidia) is not installed, pyopencl wouldn't work at all on multicore CPU/AMD GPU machines.

Graham Inggs (ginggs) wrote :

Yes, I see the problem.

To fix this for AMD, we would first need to get fglrx-installer fixed in Saucy, then back port that for Precise.
For Intel I think we would need to backport the beignet package, and it would be good if ocl-icd could be backported as well.

Ask someone in #ubuntu-bugs on IRC if they can create the Precise tasks for these packages.

Dimitri John Ledkov (xnox) wrote :

The required changes are too risky for stable releases, and fall out of scope from both Stable Release Updates [1] and Backports [2] process. I am against from making such updates available in the Ubuntu Archive. It will be a support nightmare.

Installing nvidia-current on e.g. intel machine renders many things unusable (e.g. unable to login into desktop session). In the past, the solution was for pyopencl to not depend on ocl-icd / nvidia-current, and simply let it fail. I'm not sure what's the best way to solve this.

[1] https://wiki.ubuntu.com/StableReleaseUpdates
[2] https://wiki.ubuntu.com/UbuntuBackports

Changed in nvidia-graphics-drivers-304 (Ubuntu Quantal):
status: Confirmed → Won't Fix
Changed in nvidia-graphics-drivers-304-updates (Ubuntu Quantal):
status: Confirmed → Won't Fix
Changed in nvidia-graphics-drivers-319 (Ubuntu Quantal):
status: Confirmed → Won't Fix
Changed in nvidia-graphics-drivers-319-updates (Ubuntu Quantal):
status: Confirmed → Won't Fix

Please do reconsider backporting this for stable releases because the current setup is completely broken and it's probably not a good idea to leave it thus since it takes quite a while to figure out what is going wrong.

If it's likely it'll not be backported, please do consider informing users somehow that this package works with nVidia GPUs only. The package could be renamed as python-pyopencl-nvidia or a clause could be included in the description of the package saying it's for nVidia GPUs only. Also, please consider maintaining a PPA for Ubuntu 12.04 and earlier. Since it's a PPA, there is less obligation to provide support I suppose?

Dan Muresan (danmbox) wrote :

In my PPA (https://launchpad.net/~danmbox/+archive/ppa) I've tried backporting ocl-icd_2.0.2-1ubuntu1 (after backporting khronos-opencl-headers), but it's not compilable (weird warnings-turned-into-errors)

dino99 (9d9) wrote :

That version is no more supported; please open a new bug report if the actual archive found version also has the same issue.
The requested package opencl-icd is now available into the archive

Changed in nvidia-common (Ubuntu):
status: Confirmed → Invalid
Changed in nvidia-graphics-drivers (Ubuntu):
status: Confirmed → Invalid
Changed in fglrx-installer (Ubuntu):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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