everything breaks when I try to compile dev-util/nvidia-cuda-sdk, becuase the package maintainer is probably a scientist: No one needs MPI, OpenMPI and most certainly not hwloc when trying to play around with CUDA! BEGIN MESS: # emerge dev-util/nvidia-cuda-sdk Calculating dependencies... done! >>> Verifying ebuild manifests >>> Emerging (1 of 4) sys-apps/hwloc-1.11.2::gentoo >>> Failed to emerge sys-apps/hwloc-1.11.2, Log file: >>> '/tmp/portage/sys-apps/hwloc-1.11.2/temp/build.log' >>> Jobs: 0 of 4 complete, 1 failed Load avg: 0.30, 0.27, 0.95 *** Resuming merge... Calculating dependencies... done! * emerge --keep-going: dev-util/nvidia-cuda-sdk-8.0.44 dropped because it * requires =virtual/mpi-2.0-r4, virtual/mpi * emerge --keep-going: sys-cluster/openmpi-1.10.3-r2 dropped because it * requires >=sys-apps/hwloc-1.10.0-r2[abi_x86_32(-),abi_x86_64(-)], >=sys- * apps/hwloc-1.10.0-r2[abi_x86_32(-),abi_x86_64(-)] * emerge --keep-going: virtual/mpi-2.0-r4 dropped because it requires >=sys- * cluster/openmpi-1.10.2-r1[abi_x86_32(-),abi_x86_64(-),cxx,fortran,threads] * Messages for package sys-apps/hwloc-1.11.2: * ERROR: sys-apps/hwloc-1.11.2::gentoo failed (configure phase): * econf failed * * Call stack: * ebuild.sh, line 115: Called src_configure * environment, line 3921: Called autotools-multilib_src_configure * environment, line 774: Called multilib-minimal_src_configure * environment, line 3086: Called multilib_foreach_abi 'multilib-minimal_abi_src_configure' * environment, line 3300: Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure' * environment, line 3016: Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure' * environment, line 3014: Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure' * environment, line 653: Called multilib-minimal_abi_src_configure * environment, line 3080: Called multilib_src_configure * environment, line 3519: Called autotools-utils_src_configure * environment, line 815: Called econf '--docdir=/usr/share/doc/hwloc-1.11.2' '--enable-shared' '--enable-static' '--disable-silent-rules' '--docdir=/usr/share/doc/hwloc-1.11.2' '--enable-cairo' '--enable-cuda' '--disable-debug' '--disable-gl' '--disable-opencl' '--enable-pci' '--disable-plugins' '--enable-libnuma' '--enable-libxml2' '--with-x' * phase-helpers.sh, line 662: Called __helpers_die 'econf failed' * isolated-functions.sh, line 117: Called die * The specific snippet of code: * die "$@" * * If you need support, post the output of `emerge --info '=sys-apps/hwloc-1.11.2::gentoo'`, * the complete build log and the output of `emerge -pqv '=sys-apps/hwloc-1.11.2::gentoo'`. * The complete build log is located at '/tmp/portage/sys-apps/hwloc-1.11.2/temp/build.log'. * The ebuild environment file is located at '/tmp/portage/sys-apps/hwloc-1.11.2/temp/environment'. * Working directory: '/tmp/portage/sys-apps/hwloc-1.11.2/work/hwloc-1.11.2-abi_x86_32.x86' * S: '/tmp/portage/sys-apps/hwloc-1.11.2/work/hwloc-1.11.2' * Messages for package dev-util/nvidia-cuda-sdk-8.0.44: * emerge --keep-going: dev-util/nvidia-cuda-sdk-8.0.44 dropped because it * requires =virtual/mpi-2.0-r4, virtual/mpi * Messages for package sys-cluster/openmpi-1.10.3-r2: * emerge --keep-going: sys-cluster/openmpi-1.10.3-r2 dropped because it * requires >=sys-apps/hwloc-1.10.0-r2[abi_x86_32(-),abi_x86_64(-)], >=sys- * apps/hwloc-1.10.0-r2[abi_x86_32(-),abi_x86_64(-)] * Messages for package virtual/mpi-2.0-r4: * emerge --keep-going: virtual/mpi-2.0-r4 dropped because it requires >=sys- * cluster/openmpi-1.10.2-r1[abi_x86_32(-),abi_x86_64(-),cxx,fortran,threads] * * The following 4 packages have failed to build, install, or execute * postinst: * * (sys-apps/hwloc-1.11.2:0/5::gentoo, ebuild scheduled for merge), Log file: * '/tmp/portage/sys-apps/hwloc-1.11.2/temp/build.log' * (dev-util/nvidia-cuda-sdk-8.0.44:0/0::gentoo, ebuild scheduled for merge) * (sys-cluster/openmpi-1.10.3-r2:0/0::science, ebuild scheduled for merge) * (virtual/mpi-2.0-r4:0/0::gentoo, ebuild scheduled for merge) * END MESS Simple solution: # emerge --nodeps dev-util/nvidia-cuda-sdk >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-util/nvidia-cuda-sdk-8.0.44::gentoo >>> Installing (1 of 1) dev-util/nvidia-cuda-sdk-8.0.44::gentoo >>> Jobs: 1 of 1 complete Load avg: 3.08, 2.45, 1.64 Reproducible: Always
The assumption that MPI is required cannot be generalized. The CUDA SDK provides a simpleMPI example which requires MPI. Tested with nvidia-cuda-sdk-8.0.44, the example is just not compiled. However, in previous versions the SDK failed to install. Thus, the MPI dependency cannot be removed in general. Hence, we could add a mpi use flag to the nvidia-cuda-sdk-8.0.44 ebuild. Anyway, no ones need the sdk to play around with CUDA. Furthermore, no one NEEDS to spend spare time providing ebuilds, as the "scientist maintainer" does...
commit 6269fb24068730c5b128235508c21097a38dedfd Author: Marius Brehler <marbre@linux.sungazer.de> AuthorDate: Thu Nov 3 13:16:55 2016 +0100 Commit: David Seifert <soap@gentoo.org> CommitDate: Thu Nov 3 18:37:18 2016 +0100 dev-util/nvidia-cuda-sdk: Add mpi use flag, fix sample installation Gentoo-bug: 598486 Package-Manager: portage-2.3.0 Closes: https://github.com/gentoo/gentoo/pull/2729