Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 391131 - x11-drivers/ati-drivers + x11-drivers/nvidia-drivers - libOpenCL.so.1 file collision
Summary: x11-drivers/ati-drivers + x11-drivers/nvidia-drivers - libOpenCL.so.1 file co...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Luca Barbato
URL:
Whiteboard:
Keywords:
Depends on: 372847
Blocks: opencl-tracker
  Show dependency tree
 
Reported: 2011-11-20 16:03 UTC by Bartosz Krzeszewski
Modified: 2012-02-04 14:07 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bartosz Krzeszewski 2011-11-20 16:03:48 UTC
There is file collision betwean x11-drivers/nvidia-drivers-290.06 and x11-drivers/ati-drivers-11.11 in two files: /usr/lib64/libOpenCL.so.1 /usr/lib32/libOpenCL.so.1

Reproducible: Always

Steps to Reproduce:
1. emerge x11-drivers/nvidia-drivers-290.06
2. emerge x11-drivers/ati-drivers-11.11 with opencl use flag enabled

Actual Results:  
 * Detected file collision(s):
 * 
 *      /usr/lib64/libOpenCL.so.1
 *      /usr/lib32/libOpenCL.so.1
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * x11-drivers/nvidia-drivers-290.06
 *      /usr/lib32/libOpenCL.so.1
 *      /usr/lib64/libOpenCL.so.1
 * 
 * Package 'x11-drivers/ati-drivers-11.11' NOT merged due to file
 * collisions. If necessary, refer to your elog messages for the whole
 * content of the above message.


Expected Results:  
ati-drivers should install

I need both ati and nvida drivers because I often switch my hard drive betwean my laptop and desktop
Comment 1 Enrico Tagliavini 2011-11-22 15:45:19 UTC
Hi Bartosz. Unluck at the moment it is not supported. That's why i added the opencl USE flag to ati-drivers, so you can avoid installing opencl runtime libraries and the file collision with nvidia-drivers.

As soon as bug #372847 will be fixed i will adapt ati-drivers to use eselect opencl so you will be able to have as many opencl libraries as you wish :).

Of course if you want to help developing/testing eselect opencl (see bug #372847 ) you are more then welcome.

I leave the bug open waiting for the merge of eselect-opencl module in the main tree.

Cheers
Comment 2 Chí-Thanh Christopher Nguyễn gentoo-dev 2011-11-24 15:56:42 UTC
Added a blocker to x11-drivers/ati-drivers
Comment 3 Enrico Tagliavini 2011-11-24 16:21:22 UTC
Thank you, this nice idea didn't come to my mind :|
Comment 4 Ben 2011-12-18 12:54:28 UTC
Please change ebuilds to this:

    opencl? ( video_cards_nvidia? ( 
        x11-drivers/nvidia-drivers 
        >=dev-util/nvidia-cuda-toolkit-3.1 
    ) )
Comment 5 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2011-12-21 10:35:21 UTC
The real issue here is that both package install precompiled libs directly to /usr/lib. 

@ati/nvidia drivers maintainer

Please start by installing libraries where they belong i.e. /opt or at least into some subdirectory of /usr/lib like it's done for OpenGL. Use symlink for now if you must or better envd file, until we have eselect working.
Comment 6 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2011-12-21 16:28:01 UTC
(In reply to comment #5)
> Please start by installing libraries where they belong i.e. /opt or at least
> into some subdirectory of /usr/lib like it's done for OpenGL.

Promising place used by Intel OpenCL is:
/usr/$(get_libdir)/OpenCL/vendor/{ati,nvidia,intel}
Please notice we would need to modify icd files to include full path. Having all implementations in common place would make eselecting dead easy.
Comment 7 Enrico Tagliavini 2011-12-24 14:48:50 UTC
(In reply to comment #5)
> @ati/nvidia drivers maintainer
> 
> Please start by installing libraries where they belong i.e. /opt or at least
> into some subdirectory of /usr/lib like it's done for OpenGL. Use symlink for
> now if you must or better envd file, until we have eselect working.

I've just uploaded a revision of ati-drivers to x11 overlay http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=commitdiff;h=49a88849d73ae9790e55e628330ab78f0b55e7a0

Please take a look at it and request any additional change if needed :). I've used the /usr/$(get_libdir)/OpenCL/vendor/amd directory for the runtime libraries and an envd file as you suggested.
Comment 8 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2012-02-04 12:40:38 UTC
*nvidia-drivers-290.10-r1 (04 Feb 2012)

  04 Feb 2012; Kacper Kowalik <xarthisius@gentoo.org>
  +nvidia-drivers-290.10-r1.ebuild, metadata.xml:
  Add revbump that installs OpenCL related libraries in place that doesn't
  create conflicts and is expected by app-admin/eselect-opencl

*ati-drivers-12.1-r1 (04 Feb 2012)
  04 Feb 2012; Kacper Kowalik <xarthisius@gentoo.org>
  ati-drivers-12.1-r1.ebuild:
  Drop opencl use flag and install OpenCL unconditionally

  04 Feb 2012; Kacper Kowalik <xarthisius@gentoo.org>
  +ati-drivers-12.1-r1.ebuild:
  Add revbump that installs OpenCL related libraries in place that doesn't
  create conflicts and is expected by app-admin/eselect-opencl. Env file and
  blocker against nvidia are no longer needed
Comment 9 Enrico Tagliavini 2012-02-04 14:07:06 UTC
Thank you very very much! Just installed it. Works :D. Marking as FIXED