Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 431998 - x11-drivers/nvidia-drivers-304.37 - media-gfx/darktable cannot initialize OpenCL
Summary: x11-drivers/nvidia-drivers-304.37 - media-gfx/darktable cannot initialize OpenCL
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Doug Goldstein (RETIRED)
URL:
Whiteboard:
Keywords: EBUILD, PATCH
Depends on:
Blocks:
 
Reported: 2012-08-19 21:20 UTC by Serge Gavrilov
Modified: 2012-08-22 02:13 UTC (History)
4 users (show)

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


Attachments
corrected ebuild (nvidia-drivers-304.37.ebuild,12.17 KB, text/plain)
2012-08-19 22:29 UTC, Serge Gavrilov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Serge Gavrilov 2012-08-19 21:20:51 UTC
media-gfx/darktable cannot initialize OpenCL support with latest nvidia-drivers. 

$ darktable -d opencl
[opencl_init] trying to load opencl library: '<system default>'
[opencl_init] opencl library 'libOpenCL' found on your system and loaded
[opencl_init] could not get platforms: -1001
[opencl_init] FINALLY: opencl is NOT AVAILABLE on this system.
[opencl_init] initial status of opencl enabled flag is OFF.

OpenCL works well with 2XX.XX series of nvidia-drivers. 

I asked about this problem in darktable-devel mailing list.

They claim that 

1) https://sourceforge.net/mailarchive/message.php?msg_id=29694734

... error code -1001 is typical for NVIDIA drivers if there
is an installation problem. Maybe the CUDA runtime cannot be found or a
version mismatch.

2) https://sourceforge.net/mailarchive/message.php?msg_id=29695325
   https://sourceforge.net/mailarchive/message.php?msg_id=29695412

... 304.37 is also the version shipped with Ubuntu 12.04  (driver updated a 
few days ago) works perfectly well with DT.
   
 # emerge --info
Portage 2.1.11.10 (default/linux/x86/10.0/desktop, gcc-4.5.4, unavailable, 3.4.9-gentoo i686)
=================================================================
System uname: Linux-3.4.9-gentoo-i686-Intel-R-_Core-TM-2_CPU_6300_@_1.86GHz-with-gentoo-2.0.1
Timestamp of tree: Sun, 19 Aug 2012 00:30:01 +0000
distcc 3.1 i686-pc-linux-gnu [disabled]
ccache version 2.4 [disabled]
app-shells/bash:          4.2_p37
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.6.7-r2, 2.7.3-r2
dev-util/ccache:          2.4-r8
dev-util/cmake:           2.8.5-r2
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.0.1
sys-apps/openrc:          0.9.9.3
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.4_p6::<unknown repository>, 1.5, 1.6.3::<unknown repository>, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11.1
sys-devel/binutils:       2.21
sys-devel/gcc:            3.4.6-r2, 4.3.4, 4.4.5, 4.5.4
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        1.5.26-r1, 2.4-r1
sys-devel/make:           3.82
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.15-r2
Repositories: gentoo sunrise pinkbyte x-portage
Installed sets: @system
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=core2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles news parallel-fetch parse-eapi-ebuild-head protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch xattr"
FFLAGS="-O2 -march=i686 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="ru_RU.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en ru en_US en_GB"
MAKEOPTS=""
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage/layman/pinkbyte /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac aalib accessibility acl acpi alsa amr apache2 apng applet arts asf atm audiofile audit automaount automount avahi avi bash-completion beagle berkdb bitmap-fonts bluetooth branding bzip2 cairo cdda cddb cdr cli colord consolekit corefonts cracklib crypt ctype cuda cups cxx cyrillic dba dbus declarative device-mapper dirac disk-partition divx djvu doc dri dts dvb dvd dvdr dvdread eds embedded emboss encode ethereal exif expat expoblending faac faad fam fastbuild ffmpeg fftw flac fontconfig foomaticdb force-cgi-redirect fortran fpx ftp fts3 fuse gcj gconf gd gdbm gdl geolocation gif gimp glut gmm gmp gmplayer gnome gnome-keyring gphoto gphoto2 gpm gps gpssync gpu graphicsmagick gs gsl gsm gstreamer gtk gtk2 gtkhtml gudev guile h323 handbook iconv icu id3tag idn imagemagick imlib inotify introspection ipv6 jadetex jbig jpeg jpeg2k kdepim kdrive kpathsea lapack latex lcms lensfun libburn libg++ libmpeg2 libnotify librsync-bundle librsync-bundled libsamplerate libv4l libwww lirc lzma mad marble mbox memlimit mikmod mmx mng modules moonlight motif mozilla moznopango mozsvg mp3 mp4 mpeg mudflap nautilus ncurses nls nptl nsplugin ogg opencl opencore-amr opencv openexr opengl openmp pam pango pcre pdf pdfimport pdflib perl plasma png policykit posix postproc ppds pppd pulseaudio pvr python q16 q32 qt qt-faststart qt3support qt4 quicktime raw readline realtime redeyes samba scanner schroedinger sdl semantic-desktop session simplexml sip slang smp soap sockets source sox speex spell spl sqlite sse sse2 sse3 ssh ssl ssse3 startup-notification svg tcltk tcpd theora threads tiff tokenizer tools truetype truetype-fonts type1-fonts udev udisks unicode upower usb v4l v4l2 vaapi vcd vdpau video vidix vim-syntax vlc vmware_guest_linux vmware_guest_windows vorbis wav webgl webkit webm win32codecs wmf wxwidgets x264 x86 xattr xcb xetex xft xinerama xml xml2 xmlrpc xmp xosd xpm xsl xulrunner xv xvid xvmc zlib" ALSA_CARDS="ice1724" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authz_host access auth auth_dbm auth_anon auth_digest alias file-cache echo charset-lite cache disk-cache mem-cache ext-filter case_filter case-filter-in deflate mime-magic cern-meta expires headers usertrack unique-id proxy proxy-connect proxy-ftp proxy-http info include cgi cgid dav dav-fs vhost-alias speling rewrite log_config logio env setenvif mime status autoindex asis negotiation dir imap actions userdir so filter" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en ru en_US en_GB" LIRC_DEVICES="devinput" PHP_TARGETS="php5-3" PYTHON_TARGETS="python2_6 python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="vesa nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

Reproducible: Always
Comment 1 Serge Gavrilov 2012-08-19 22:08:07 UTC
Comparing with files installed by Ubuntu 

https://sourceforge.net/mailarchive/message.php?msg_id=29695412

and Arch 

https://www.archlinux.org/packages/extra/i686/opencl-nvidia/

it seems that gentoo ebuild does not install 

/usr/lib/libnvidia-opencl.so.304.37

(and also libnvidia-wfb.so.304.37 but perhaps this is an another problem)

This seems to be a source of the problem.
Comment 2 Serge Gavrilov 2012-08-19 22:26:38 UTC
I just have verified that installing of 

/usr/lib/libnvidia-opencl.so.304.37

and substituting of /usr/lib/libnvidia-opencl.so instead of /usr/lib/libcuda.so  in /etc/OpenCL/vendors/nvidia.icd fixes the bug.

I am not sure what is libnvidia-wfb.so.304.37
Comment 3 Serge Gavrilov 2012-08-19 22:29:14 UTC
Created attachment 321726 [details]
corrected ebuild

I attach the ebuild fixing the bug
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2012-08-20 00:46:37 UTC
Comment on attachment 321726 [details]
corrected ebuild

--- nvidia-drivers-304.37.ebuild        2012-08-17 00:31:37.000000000 +0200
+++ -   2012-08-20 02:46:25.636469078 +0200
@@ -140,7 +140,7 @@
                convert_to_m "${NV_SRC}"/Makefile.kbuild
        fi
        cat <<- EOF > "${S}"/nvidia.icd
-               /usr/$(get_libdir)/libcuda.so
+               /usr/$(get_libdir)/libnvidia-opencl.so
        EOF
 
        # Allow user patches so they can support RC kernels and whatever else
@@ -370,6 +370,7 @@
        # CUDA & OpenCL
        if use kernel_linux; then
                donvidia ${libdir}/libcuda.so ${NV_SOVER}
+               donvidia ${libdir}/libnvidia-opencl.so ${NV_SOVER}
                donvidia ${libdir}/libnvidia-compiler.so ${NV_SOVER}
                donvidia ${libdir}/libOpenCL.so 1.0.0 ${CL_ROOT}
        fi
Comment 5 coran.fisher@gmail.com 2012-08-21 04:59:05 UTC
The OpenCL issue also breaks boinc.
Comment 6 Doug Goldstein (RETIRED) gentoo-dev 2012-08-21 21:15:31 UTC
Fixed in 304.37-r1.
Comment 7 Chris Smith 2012-08-21 22:46:39 UTC
(In reply to comment #6)
> Fixed in 304.37-r1.

Install fails on amd64:

>>> Install nvidia-drivers-304.37-r1 into /var/tmp/portage/x11-drivers/nvidia-drivers-304.37-r1/image/ category x11-drivers
 * Installing nvidia module
!!! dolib: /var/tmp/portage/x11-drivers/nvidia-drivers-304.37-r1/work//32/libnvidia-opencl.so.304.37 does not exist
 * ERROR: x11-drivers/nvidia-drivers-304.37-r1 failed (install phase):
 *   dolib failed