Created attachment 465904 [details] config.log Portage 2.3.4 (python 2.7.13-final-0, default/linux/amd64/13.0/desktop/plasma, gcc-6.3.0, glibc-2.24-r1, 4.9.9-gentoo x86_64) ================================================================= System uname: Linux-4.9.9-gentoo-x86_64-Intel-R-_Core-TM-_i7-4710HQ_CPU_@_2.50GHz-with-gentoo-2.3 KiB Mem: 16331064 total, 12214432 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Sat, 04 Mar 2017 00:30:01 +0000 sh bash 4.4_p12 ld GNU ld (Gentoo 2.27 p1.0) 2.27 app-shells/bash: 4.4_p12::gentoo dev-java/java-config: 2.2.0-r3::gentoo dev-lang/perl: 5.24.1-r1::gentoo dev-lang/python: 2.7.13::gentoo, 3.5.3::gentoo, 3.6.0::gentoo dev-util/cmake: 3.7.2::gentoo dev-util/pkgconfig: 0.29.1::gentoo sys-apps/baselayout: 2.3::gentoo sys-apps/openrc: 0.23.2::gentoo sys-apps/sandbox: 2.10-r3::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r2::gentoo sys-devel/automake: 1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.15-r2::gentoo sys-devel/binutils: 2.27::gentoo sys-devel/gcc: 6.3.0::gentoo sys-devel/gcc-config: 1.8-r1::gentoo sys-devel/libtool: 2.4.6-r3::gentoo sys-devel/make: 4.2.1::gentoo sys-kernel/linux-headers: 4.10::gentoo (virtual/os-headers) sys-libs/glibc: 2.24-r1::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 hnaparst location: /var/lib/layman/hnaparst masters: gentoo priority: 50 steam-overlay location: /var/lib/layman/steam-overlay masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=native -mtune=native" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -march=native -mtune=native" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="lv_LV.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j9" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="7zip X a52 aac acl acpi alsa amd64 ao audiofile avx avx2 berkdb bluetooth branding bzip2 cairo cdda cdr clang cli consolekit cracklib crypt cuda cups curl cxx dbus declarative dhcpcd dri dts dvd dvdr emboss encode exif extraengine fam fat fbcon ffmpeg firefox flac gd gdbm gif gimp git glamor glut gmp gnuplot gnutls gpg gpm gsl gtk gtk3 gudev gzip hddtemp iconv icu ieee1394 inotify ipv6 javascript jemalloc jpeg jpeg2k kde kipi kwallet lame lcms legacy-systray libnotify lm_sensors lzma lzo mad matroska mdnsresponder-compat memlimit mhash mime minizip mmap mmx mng modules mozilla mp3 mp4 mpeg mpi mplayer mtp multilib multitarget ncurses networkmanager nls nocd nptl nsplugin ntfs ogg openal opencl opengl openmp oss pam pango pch pcntl pcre pdf pie plasma plotutils png policykit portaudio posix postgres ppds profile pulseaudio python qml qt3support qt5 quicktime raw rdesktop readline recode resolvconf sasl sdl sdl2 seccomp session sharedmem slang smp sockets sound spell sqlite sqlite3 sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 startup-notification steamruntime suid svg symlink syslog sysvipc szip tcmalloc tcpd theora threads tiff truetype udev udisks unicode upower usb v4l vaapi vdpau vhosts videos vnc vorbis vulkan wavpack wayland webkit widgets wifi wxwidgets x264 xattr xcb xcomposite xinerama xml xmp xmpp xosd xpm xscreensaver xsl xv xvid zeroconf zlib" ABI_X86="64 32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="evdev synaptics libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="ru en" LLVM_TARGETS="AMDGPU BPF NVPTX ARM X86 AArch64 Hexagon MSP430 Mips PowerPC Sparc SystemZ XCore" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-7" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5 python3_6" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="intel i965 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" USE_PYTHON="3.5 2.7" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
$ emerge -pv nvidia-cuda-toolkit These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] dev-util/nvidia-cuda-toolkit-8.0.61:0/8.0.61::gentoo USE="-debugger -doc -eclipse -profiler" 0 KiB
Created attachment 465906 [details] build.log
It has something to do with multi-ilib support I had no trouble compiling 1.10.xxxx but any 1.11.xxx failed as you mentioned.. where multi-lib support was added. Change your ABI_X86 from ABI_X86="64 32" to ABI_X86="amd64 32" Does it compile now?
There's some cryptic comment in the ebuild: # dev-util/nvidia-cuda-toolkit is always multilib It's pretty clear which team added that and probably didn't build with cuda enabled. Anyways, I don't have the hardware, but if one of you can contact me via email/irc, I'd be happy to work with you to get this fixed.
(In reply to Justin Bronder from comment #4) > It's pretty clear which team added that and probably didn't build with cuda > enabled. Anyways, I don't have the hardware, but if one of you can contact > me via email/irc, I'd be happy to work with you to get this fixed. It's pretty clear you like to throw blame without actually checking it. +*hwloc-1.10.1 (20 Feb 2015) + + 20 Feb 2015; Christoph Junghans <ottxor@gentoo.org> +hwloc-1.10.1.ebuild: + version bump (bug #538760) and multilib support (bug #540036) Not us.
(In reply to Michał Górny from comment #5) > (In reply to Justin Bronder from comment #4) > > It's pretty clear which team added that and probably didn't build with cuda > > enabled. Anyways, I don't have the hardware, but if one of you can contact > > me via email/irc, I'd be happy to work with you to get this fixed. > > It's pretty clear you like to throw blame without actually checking it. > > +*hwloc-1.10.1 (20 Feb 2015) > + > + 20 Feb 2015; Christoph Junghans <ottxor@gentoo.org> +hwloc-1.10.1.ebuild: > + version bump (bug #538760) and multilib support (bug #540036) > > Not us. https://bugs.gentoo.org/show_bug.cgi?id=540036#c1 https://bugs.gentoo.org/show_bug.cgi?id=540036#c16
(In reply to Justin Bronder from comment #6) > > Not us. > > https://bugs.gentoo.org/show_bug.cgi?id=540036#c1 https://bugs.gentoo.org/show_bug.cgi?id=540036#c2 > https://bugs.gentoo.org/show_bug.cgi?id=540036#c16 This is merely answering random ebuild question.
I'm a little bit confused now. Is there any solution? Same problem with sys-apps/hwloc-1.11.7
anyone?
(In reply to Gary HUnt from comment #3) > It has something to do with multi-ilib support > > I had no trouble compiling 1.10.xxxx > > but any 1.11.xxx failed as you mentioned.. where multi-lib support was added. > > > Change your ABI_X86 from > > ABI_X86="64 32" > > > to > > ABI_X86="amd64 32" > > > Does it compile now? No
the ebuild has erratic configure options. --enable-cuda is defined in config/hwloc.m4 but apaprently it is *not* sufficient for CUDA support. --enable-cuda expects hwloc_have_cudart=yes which is activated with -lcudart linking flag. passing -lcudart into ldflags will likely fix this problem, at least it does following to be enabled: checking for cudaGetDeviceProperties in -lcudart... yes in local test.
I came across this one as well. It happens with all versions I've tried. I am unable to narrow it down, but I will add that when building from upstream, hwloc build does not find cuda headers or libraries on it's own. It will compile from upstream if I export CPPFLAGS=-I/opt/cuda/include && export LDFLAGS=-L/opt/cuda/lib64. So I'm pretty sure it's just not finding libraries for some reason. This is on a fresh installation, I did not have this issue on a system that had been running for a while. No other program has problems finding CUDA when building. Portage 2.3.16 (python 2.7.14-final-0, default/linux/amd64/13.0, gcc-5.4.0, glibc-2.26-r3, 4.14.3-ck x86_64) ================================================================= System uname: Linux-4.14.3-ck-x86_64-Intel-R-_Xeon-R-_CPU_X5660_@_2.80GHz-with-gentoo-2.4.1 KiB Mem: 12304132 total, 9256504 free KiB Swap: 12595196 total, 12595196 free Timestamp of repository gentoo: Thu, 07 Dec 2017 07:05:01 +0000 Head commit of repository gentoo: dfa46930d0763c882135afc61ed97a0e49d84076 sh bash 4.4_p12 ld GNU ld (Gentoo 2.29.1 p3) 2.29.1 app-shells/bash: 4.4_p12::gentoo dev-lang/perl: 5.26.1-r1::gentoo dev-lang/python: 2.7.14-r1::gentoo, 3.5.4-r1::gentoo dev-util/cmake: 3.10.0::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.4.1-r2::gentoo sys-apps/openrc: 0.34.11::gentoo sys-apps/sandbox: 2.12::gentoo sys-devel/autoconf: 2.69-r4::gentoo sys-devel/automake: 1.15.1-r1::gentoo sys-devel/binutils: 2.29.1-r1::gentoo sys-devel/gcc: 5.4.0-r3::gentoo, 6.4.0::gentoo, 7.2.0::gentoo sys-devel/gcc-config: 1.9.0-r1::gentoo sys-devel/libtool: 2.4.6-r4::gentoo sys-devel/make: 4.2.1-r1::gentoo sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers) sys-libs/glibc: 2.26-r3::gentoo Repositories: gentoo location: /usr/portage sync-type: git sync-uri: https://github.com/gentoo-mirror/gentoo.git priority: -1000 localrepo location: /usr/local/portage masters: gentoo vapoursynth location: /var/lib/layman/vapoursynth masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-I/opt/cuda/include" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CPPFLAGS="-I/opt/cuda/include" CXXFLAGS="-march=native -Ofast -pipe" DISTDIR="/usr/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms sign strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://192.17.174.4/pub/gentoo http://cosmos.illinois.edu/pub/gentoo/ http://mirror.leaseweb.com/gentoo/ http://mirrors.rit.edu/gentoo/" LDFLAGS="-L/opt/cuda/lib64" MAKEOPTS="-j6" PKGDIR="/usr/portage/packages" PORTAGE_COMPRESS="bzip2" PORTAGE_COMPRESS_FLAGS="-9" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X acpi aes amd64 berkdb bzip2 clang cli cracklib crypt cuda cxx dri drm egl external-fuse gallium gbm gcj gdbm iconv llvm modules multilib ncurses nls nptl nptlonly nvidia opencl opengl openmp openssl pam pcre pulseaudio python readline seccomp session sqlite ssl tcpd threads unicode usb uvm vdpau xa xattr xvmc zlib" ABI_X86="32 64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" CURL_SSL="openssl" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" LLVM_TARGETS="X86" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="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: CC, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_RSYNC_EXTRA_OPTS
changing "multilib_src_configure()" to just "src_configure()" allows it to build. So it does not know it's multilib.
Created attachment 508752 [details] patched ebuild I attached an updated ebuild, not sure if it's proper Gentoo way to trigger it, but it works for me. I just changed "use_enable cuda" to "multilib_use_enable cuda"
ok i think multilib_use_enable not even an option? and i just commented that line out basically? I still get "checking for cudaGetDeviceProperties in -lcudart... no" but it continues building with NVML support
ok last one :) Changing multilib-minimal to multilib-build also allows it to build. I think minimal eclass is choking or missing something. Hopefully that's enough info to catch it, let me know if I can provide anything else.
Created attachment 508986 [details] working ebuild I believe this is a simplest and a proper solution, if cuda is always multilib, why not just set "multilib_native_use_enable cuda"?
Guys, I'm unable to rebuild hwloc since march 2017. Is it possible to do something?
did u try the ebuild i posted? # mkdir -p /usr/local/portage/{metadata,profiles} echo -e "masters = gentoo\nauto-sync = false\n" > /usr/local/portage/metadata/layout.conf echo -e "[localrepo]\nlocation = /usr/local/portage\n" > /etc/portage/repos.conf/localrepo mkdir -p /usr/local/portage/sys-apps/hwloc/files wget https://raw.githubusercontent.com/blopsalot/blop-overlay/master/sys-apps/hwloc/hwloc-9999.ebuild -O /usr/local/portage/sys-apps/hwloc/hwloc-1.11.8.ebuild wget https://raw.githubusercontent.com/gentoo/gentoo/master/sys-apps/hwloc/files/hwloc-1.8.1-gl.patch -O /usr/local/portage/sys-apps/hwloc/files/hwloc-gl.patch chown -R portage:portage /usr/local/portage cd /usr/local/portage/sys-apps/hwloc repoman manifest ebuild hwloc-1.11.8.ebuild merge
I did some more digging. The problem is that nvidia-cuda-toolkit (at least as of 9.0.176) isn't actually multilib. #540036 seems to suggest that libcudart was multilib at some point, but it's not now. Reassigning to the sci team (maintainer of nvidia-cuda-toolkit).
NVIDIA deprecated 32bit x86 starting with CUDA 7. It is NOT deprecated on 32bit ARM. https://devtalk.nvidia.com/default/topic/633730/unix-graphics-announcements-and-news/deprecation-plans-for-32-bit-linux-x86-cuda-toolkit-and-cuda-driver/
CUDA maintainers can't do anything about it. CUDA support just needs to be disabled for non-native ABI.
(In reply to Michał Górny from comment #23) > CUDA maintainers can't do anything about it. CUDA support just needs to be > disabled for non-native ABI. Are you suggesting that we detect abi_X86_32 and just drop the configure flag or that we create a blocker? The feels like it's just kicking the can down the road and will make packages using hwloc run into this same issue.
(In reply to blopsalot from comment #19) > did u try the ebuild i posted? > > # > mkdir -p /usr/local/portage/{metadata,profiles} > echo -e "masters = gentoo\nauto-sync = false\n" > > /usr/local/portage/metadata/layout.conf > echo -e "[localrepo]\nlocation = /usr/local/portage\n" > > /etc/portage/repos.conf/localrepo > mkdir -p /usr/local/portage/sys-apps/hwloc/files > wget > https://raw.githubusercontent.com/blopsalot/blop-overlay/master/sys-apps/ > hwloc/hwloc-9999.ebuild -O > /usr/local/portage/sys-apps/hwloc/hwloc-1.11.8.ebuild > wget > https://raw.githubusercontent.com/gentoo/gentoo/master/sys-apps/hwloc/files/ > hwloc-1.8.1-gl.patch -O > /usr/local/portage/sys-apps/hwloc/files/hwloc-gl.patch > chown -R portage:portage /usr/local/portage > cd /usr/local/portage/sys-apps/hwloc > repoman manifest > ebuild hwloc-1.11.8.ebuild merge Yes, this one worked fine. At least emerged ) How can I test it that it is not breaking anything?
(In reply to Justin Bronder from comment #24) > (In reply to Michał Górny from comment #23) > > CUDA maintainers can't do anything about it. CUDA support just needs to be > > disabled for non-native ABI. > > Are you suggesting that we detect abi_X86_32 and just drop the configure > flag or that we create a blocker? The feels like it's just kicking the can > down the road and will make packages using hwloc run into this same issue. multilib_native_use_enable, as the users already did (note that I haven't diffed the ebuild for any more changes). I don't see what other option can you be thinking about, except for leaving things broken until nvidia miraculously changes their mind and starts supporting old x86 hardware.
commit 97df9e785f7b8b323c6a836d3f82070a5dcad9ac Author: Justin Bronder <jsbronder@gentoo.org> Date: Mon Mar 26 12:53:49 2018 -0400 sys-apps/hwloc: bump 1.11.10 Bump for https://bugs.gentoo.org/650882 Also kicking the can on https://bugs.gentoo.org/611678 Package-Manager: Portage-2.3.24, Repoman-2.3.6