This is partially fixed in Trusty (nvidia-graphics-drivers-331): nvidia-libopencl1-331 is now a separate package which the main driver only Recommends:, so co-installing ocl-icd-libopencl1 and nvidia-331 is now allowed, but as virtual packages aren't versioned, pyopencl will still think nvidia-libopencl1-331 satisfies its libopencl1 dependency.
There are a few obvious solutions, but none of them are neat:
-Have pyopencl Depend: specifically on ocl-icd-libopencl1. The maintainer has previously said he doesn't want to do that: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=682435
-Have nvidia-libopencl1-* not Provide: libopencl1 (effectively defining the libopencl1 virtual package to be "at least OpenCL 1.2").
-Remove the Recommends: nvidia-libopencl1-331 from nvidia-331, allowing pyopencl's preference for ocl-icd-libopencl1 (Depends: ocl-icd-libopencl1 | libopencl1) to take effect. Possibly replace it with a Recommends: ocl-icd-libopencl1 to retain "has OpenCL by default".
This is partially fixed in Trusty (nvidia- graphics- drivers- 331): nvidia- libopencl1- 331 is now a separate package which the main driver only Recommends:, so co-installing ocl-icd-libopencl1 and nvidia-331 is now allowed, but as virtual packages aren't versioned, pyopencl will still think nvidia- libopencl1- 331 satisfies its libopencl1 dependency.
There are a few obvious solutions, but none of them are neat: bugs.debian. org/cgi- bin/bugreport. cgi?bug= 682435 libopencl1- 331 from nvidia-331, allowing pyopencl's preference for ocl-icd-libopencl1 (Depends: ocl-icd-libopencl1 | libopencl1) to take effect. Possibly replace it with a Recommends: ocl-icd-libopencl1 to retain "has OpenCL by default".
-Have pyopencl Depend: specifically on ocl-icd-libopencl1. The maintainer has previously said he doesn't want to do that: http://
-Have nvidia-libopencl1-* not Provide: libopencl1 (effectively defining the libopencl1 virtual package to be "at least OpenCL 1.2").
-Remove the Recommends: nvidia-