[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#991833: marked as done (unblock: nvidia-cuda-toolkit/11.2.2-3)



Your message dated Tue, 03 Aug 2021 07:41:26 +0000
with message-id <E1mAp3G-00072z-4u@respighi.debian.org>
and subject line unblock nvidia-cuda-toolkit
has caused the Debian Bug report #991833,
regarding unblock: nvidia-cuda-toolkit/11.2.2-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
991833: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=991833
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package nvidia-cuda-toolkit

Annotated changelog:

  * Use a snapshot of openjdk-8-jre (8u292-b10-3).

currently we use a much older snapshot on ppc64el

  * Tighten library dependencies.

right now it is possible to e.g. use an ancient version of
libcufft10 to satisfy the dependency of libcufftw10:

ii  libcufft10:amd64               10.1.105-1                   amd64        NVIDIA cuFFT Library
ii  libcufftw10:amd64              11.1.1+~10.4.1.152~11.2.2-2  amd64        NVIDIA cuFFTW Library

This is not a supported combination, I have no idea if it would actually
work... So better use very strict dependencies if cuda toolkit libraries
depend on each other.

  * Add (tesla-)470 driver as alternate dependency.

we will probably switch to the 470 driver series during the lifetime of
bullseye since 470 will provide security updates for the next three
years. With this change we don't have to update nvidia-cuda-toolkit
at that time again.

  * Update watch file.

fix parsing the version from the changed website

Besides that, there are some documentation updates.
cuda-gdb compile flags have been wrapped for better manageability
but are otherwise unchanged
build-depends are a bit shuffled for consistency (if something is
needed by nvidia-openjdk-8, too, use the -dev package for [!arm64])
(unfortunately we still can't build nvidia-openjdk-8 from source
since it needs itself to boostrap)

unblock nvidia-cuda-toolkit/11.2.2-3

Andreas
diff --git a/debian/changelog b/debian/changelog
index 887afeb..17b52a0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+nvidia-cuda-toolkit (11.2.2-3) unstable; urgency=medium
+
+  * Use a snapshot of openjdk-8-jre (8u292-b10-3).
+  * Tighten library dependencies.
+  * Add (tesla-)470 driver as alternate dependency.
+  * Update watch file.
+
+ -- Andreas Beckmann <anbe@debian.org>  Sat, 24 Jul 2021 00:01:52 +0200
+
 nvidia-cuda-toolkit (11.2.2-2) unstable; urgency=medium
 
   * Use a snapshot of openjdk-8-jre (8u292-b10-0+deb9u1) for amd64.
diff --git a/debian/control b/debian/control
index 517d7fb..1e727ce 100644
--- a/debian/control
+++ b/debian/control
@@ -28,8 +28,8 @@ Build-Depends-Arch:
 # for nsight-compute/nsight-systems
  libasound2-dev [!arm64],
  libdbus-1-3 [amd64],
- libegl1 [amd64],
  libfontconfig1 [amd64],
+ libfreetype-dev [!arm64] | libfreetype6-dev [!arm64],
  libgl1 [amd64],
  libgssapi-krb5-2 [amd64],
  libnss3 [amd64],
@@ -37,12 +37,11 @@ Build-Depends-Arch:
  libxcomposite1 [amd64],
  libxcursor1 [amd64],
  libxdamage1 [amd64],
- libxi6 [!arm64],
+ libxi-dev [!arm64],
  libxkbcommon-x11-0 [amd64],
  libxrandr2 [amd64],
- libxtst6 [!arm64],
+ libxtst-dev [!arm64],
 # for nvidia-openjdk-8-jre
- libfreetype-dev [!arm64] | libfreetype6-dev [!arm64],
  libgif-dev [!arm64],
  libjpeg-dev (>= 1:0) [!arm64] | libjpeg62-dev [!arm64],
  liblcms2-dev [!arm64],
@@ -64,8 +63,8 @@ Depends:
  ${nvidia-profiler:eq:Version} [${cuda:arch:has-nvidia-profiler}],
  nvidia-cuda-dev (= ${binary:Version}),
  nvidia-opencl-dev (= ${binary:Version}) | opencl-dev,
- g++-${cuda:gcc:DefaultVersion} | g++-10 | clang-10 | g++-9 | clang-9 | g++-8 | clang-8 | clang-7 | g++-7 | clang-6.0 | clang (<< 1:11~) | g++-6 | g++-5,
- gcc-${cuda:gcc:DefaultVersion} | gcc-10 | clang-10 | gcc-9 | clang-9 | gcc-8 | clang-8 | clang-7 | gcc-7 | clang-6.0 | clang (<< 1:11~) | gcc-6 | gcc-5,
+ g++-${cuda:gcc:DefaultVersion} | g++-10 | clang-11 | clang-10 | g++-9 | clang-9 | g++-8 | clang-8 | clang-7 | g++-7 | clang-6.0 | clang (<< 1:12~) | g++-6,
+ gcc-${cuda:gcc:DefaultVersion} | gcc-10 | clang-11 | clang-10 | gcc-9 | clang-9 | gcc-8 | clang-8 | clang-7 | gcc-7 | clang-6.0 | clang (<< 1:12~) | gcc-6,
  ${shlibs:Depends}, ${misc:Depends},
 Recommends:
  nvidia-cuda-toolkit-doc (= ${source:Version}),
diff --git a/debian/gbp.conf b/debian/gbp.conf
index aeb749c..b741131 100644
--- a/debian/gbp.conf
+++ b/debian/gbp.conf
@@ -10,9 +10,8 @@ component = [
 	'amd64',
 	'ppc64el',
 	'arm64',
-	'openjdk-8-source-8u252-b09-1-d9u1',
-	'openjdk-8-source-8u292-b10-0-d9u1',
-	'openjdk-8-jre-amd64-8u292-b10-0-d9u1',
-	'openjdk-8-jre-ppc64el-8u252-b09-1-d9u1',
+	'openjdk-8-source-8u292-b10-3',
+	'openjdk-8-jre-amd64-8u292-b10-3',
+	'openjdk-8-jre-ppc64el-8u292-b10-3',
 	]
 debian-branch = master
diff --git a/debian/nvidia-cuda-toolkit.README.Debian b/debian/nvidia-cuda-toolkit.README.Debian
index 837f37b..63a7663 100644
--- a/debian/nvidia-cuda-toolkit.README.Debian
+++ b/debian/nvidia-cuda-toolkit.README.Debian
@@ -11,57 +11,25 @@ It is worth noting that not all compilers can be used together with NVCC.
 Here is a list of possible combinations, partially based on [1]:
 
     ```
-                 |  CUDA Toolkit Version                                                      |
-    CXX compiler |  8.0  |  9.0  |  9.1  |  9.2  | 10.0  | 10.1  |10.1u1 | 10.2 | 11.0 | 11.1 |
-    -------------+-------+-------+-------+-------+-------+-------+-------+------+------+------+
-    GCC-10       |   -   |   -   |   -   |   -   |   -   |   -   |   -   |   -  |   -  |  OK  |
-    GCC-9        |   -   |   -   |   -   |   -   |   -   |   -   |   -   |   -  |  OK  |  OK  |
-    GCC-8        |   -   |   -   |   -   |   -   |   -   |  OK   |  OK   |  OK  |  OK  |  OK  |
-    GCC-7        |   -   |   -   |   -   |  OK   |  OK   |  OK   |  OK   |  OK  |  OK  |  OK  |
-    GCC-6        |   -   |  OK   |  OK   |  OK   |  OK   |  OK   |  OK   |  OK  |  OK  |  OK  |
-    GCC-5        |  OK   |  OK   |  OK   |  OK   |  OK   |  OK   |  OK   |  OK  |  OK  |  OK  |
-    -------------+-------+-------+-------+-------+-------+-------+-------+------+------+------+
-    CLANG-10     |   -   |   -   |   -   |   -   |   -   |   -   |   -   |   -  |   -  |  OK  |
-    CLANG-9      |   -   |   -   |   -   |   -   |   -   |   -   |   -   |   -  |  OK  |  OK  |
-    CLANG-8      |   -   |   -   |   -   |   -   |   -   |   -   |  OK   |  OK  |  OK  |  OK  |
-    CLANG-7      |   -   |   -   |   -   |   -   |   -   |  OK   |  OK   |  OK  |  OK  |  OK  |
-    CLANG-6.0    |   -   |   -   |   -   |   -   |  OK   |  OK   |  OK   |  OK  |  OK  |  OK  |
-    CLANG-5.0    |   -   |   -   |   -   |  OK   |  OK   |  OK   |  OK   |  OK  |   -  |   -  |
-    CLANG-4.0    |   -   |   -   |  OK   |  OK   |  OK   |  OK   |  OK   |  OK  |   -  |   -  |
-    CLANG-3.9    |   -   |  OK   |  OK   |  OK   |  OK   |  OK   |  OK   |  OK  |   -  |   -  |
-    CLANG-3.8    |  OK   |  OK   |  OK   |  OK   |  OK   |  OK   |  OK   |  OK  |   -  |   -  |
+    CUDA Toolkit Version | Supported GCC Versions | Supported Clang Versions
+    ---------------------+------------------------+-------------------------
+     11.4                | 6 - 10                 | 6.0 - 11
+     11.3                | (5) 6 - 10             | (3.8) 6.0 - 11
+     11.2                | (5) 6 - 10             | (3.8) 6.0 - 11
+     11.1                | (5) 6 - 10             | (3.8) 6.0 - 10
+     11.0                | (5) 6 - 9              | (3.8) 6.0 - 9
+     10.2                | 5 - 8                  | 3.8 - 8
+     10.1 Update 1       | 5 - 8                  | 3.8 - 8
+     10.1                | 5 - 8                  | 3.8 - 7
+     10.0                | 5 - 7                  | 3.8 - 6.0
+      9.2                | 5 - 7                  | 3.8 - 5.0
+      9.1                | 5 - 6                  | 3.8 - 4.0
+      9.0                | 5 - 6                  | 3.8 - 3.9
+      8.0                | 5                      | 3.8
+      7.5                | 4.9 (5)                | 3.6
     ```
 
-In the above table, '?' means 'not tested', '-' means 'never work',
-'OK' means 'should work'.
-
-CUDA 8.0 Specific
------------------
-
-The recommended way, as declared in NEWS, to compile your CUDA application
-with CUDA 8.0 is to globally use clang-3.8/clang++-3.8 as the C/CXX compiler
-for your project. Example:
-
-  CC=clang-3.8 make
-
-However, when you have to mix the use of GCC and CLANG, things differ.
-Due to the difference on the default options of the two compilers, you
-may have to add flags such as -fPIC/-fPIE or alike to CLANG's argument
-list, to avoid the linkage failure as reported in BUG #861878 [2].
-See [3] for detail about these compiler options. Example:
-
-  nvcc -ccbin clang-3.8 --compiler-options -fPIC ...
-
-Sidenotes
----------
-
-Debian Stretch ships CUDA 8.0, and the same time its default GCC is
-GCC-6. So we changed the default compiler to clang-3.8 for the CUDA 8.0
-package because Stretch ships no GCC-5.
-
 [1] https://gist.github.com/ax3l/9489132
-[2] https://bugs.debian.org/861878
-[3] https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html
 
 
 Installing the CUDA Code Samples
@@ -76,14 +44,16 @@ https://developer.nvidia.com/cuda-downloads#linux
 This download includes an old driver and the full toolkit, but unfortunately
 there is no separate download available for the Samples.
 
-Install the Samples to ~/NVIDIA_CUDA-11.1_Samples/ with
+Install the Samples to ~/NVIDIA_CUDA-11.2_Samples/ with
 
-  sh cuda_11.1.1_455.32.00_linux.run --silent --samples --samplespath=$HOME
+  sh cuda_11.2.2_460.32.03_linux.run --silent --samples --samplespath=$HOME
 
 (Adjust the filename if you downloaded a different version.)
 
 The following Debian packages are needed to build the examples:
   * freeglut3-dev
+  * libfreeimage-dev
+  * libglfw3-dev
   * libvulkan-dev
   * pkgconf
 This optional package will be used if it is installed, too:
@@ -92,15 +62,15 @@ For using clang as host compiler, this package is needed as well:
   * libomp-dev
 
 To build the example programs, change to the directory where the Samples were
-installed (by default: ~/NVIDIA_CUDA-11.1_Samples/) and run
+installed (by default: ~/NVIDIA_CUDA-11.2_Samples/) and run
 
     MA_LIBDIR=/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)
     make CUDA_PATH=/usr CUDA_SEARCH_PATH=$MA_LIBDIR GLPATH=$MA_LIBDIR VULKAN_SDK_PATH=$MA_LIBDIR
 
 Optionally add HOST_COMPILER=... to select a different compiler for the host
-parts of the code. Currently up to g++-10 and clang++-10 are supported.
+parts of the code. Currently up to g++-10 and clang++-11 are supported.
 
 For more information on the Samples, please see
 https://developer.nvidia.com/cuda-code-samples
 
- -- Andreas Beckmann <anbe@debian.org>  Mon, 09 Nov 2020 17:28:19 +0100
+ -- Andreas Beckmann <anbe@debian.org>  Sun, 18 Jul 2021 01:02:40 +0200
diff --git a/debian/nvidia-openjdk-8-jre.lintian-overrides b/debian/nvidia-openjdk-8-jre.lintian-overrides
index 33d71a7..d276dcc 100644
--- a/debian/nvidia-openjdk-8-jre.lintian-overrides
+++ b/debian/nvidia-openjdk-8-jre.lintian-overrides
@@ -10,5 +10,5 @@ package-contains-documentation-outside-usr-share-doc
 package-has-unnecessary-activation-of-ldconfig-trigger
 exit-in-shared-library
 repeated-path-segment
+shared-library-lacks-prerequisites
 spelling-error-in-binary
-spelling-error-in-copyright
diff --git a/debian/rules b/debian/rules
index f2dc84d..38e6afc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,15 +3,32 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-# most flags derived from gdb 8.2 in buster
-# README.NVIDIA mentions --enable-targets="x86_64-apple-darwin,x86_64-unknown-linux-gnu,arm-elf-linux-gnu,m68k-unknown-linux-gnu"
-CUDA_GDB_FLAGS	 = \
-	--program-prefix=cuda- --with-gdb-datadir='$${prefix}/share/cuda-gdb' --with-jit-reader-dir='$${libdir}/cuda-gdb' --with-system-gdbinit='$${sysconfdir}/cuda-gdb/gdbinit' \
-	--enable-cuda --enable-targets="$(DEB_HOST_GNU_TYPE),m68k-unknown-linux-gnu" --disable-nls \
-	--disable-gdbtk --disable-shared --disable-readline --with-system-readline --with-expat --with-system-zlib --without-guile --with-babeltrace --enable-tui --with-lzma --with-python=python3 --enable-64-bit-bfd --disable-sim
+# cuda-gdb/README mentions --enable-targets="x86_64-apple-darwin,x86_64-unknown-linux-gnu,arm-elf-linux-gnu,m68k-unknown-linux-gnu"
+CUDA_GDB_FLAGS	 =
+CUDA_GDB_FLAGS	+= --program-prefix=cuda-
+CUDA_GDB_FLAGS	+= --with-gdb-datadir='$${prefix}/share/cuda-gdb'
+CUDA_GDB_FLAGS	+= --with-jit-reader-dir='$${libdir}/cuda-gdb'
+CUDA_GDB_FLAGS	+= --with-system-gdbinit='$${sysconfdir}/cuda-gdb/gdbinit'
+CUDA_GDB_FLAGS	+= --enable-cuda
+CUDA_GDB_FLAGS	+= --enable-targets="$(DEB_HOST_GNU_TYPE),m68k-unknown-linux-gnu"
+CUDA_GDB_FLAGS	+= --disable-nls
+# the following flags were taken from gdb 8.2 in buster
+CUDA_GDB_FLAGS	+= --disable-gdbtk
+CUDA_GDB_FLAGS	+= --disable-shared
+CUDA_GDB_FLAGS	+= --disable-readline
+CUDA_GDB_FLAGS	+= --with-system-readline
+CUDA_GDB_FLAGS	+= --with-expat
+CUDA_GDB_FLAGS	+= --with-system-zlib
+CUDA_GDB_FLAGS	+= --without-guile
+CUDA_GDB_FLAGS	+= --with-babeltrace
 ifneq (,$(filter $(DEB_HOST_ARCH),amd64))
 CUDA_GDB_FLAGS	+= --with-intel-pt
 endif
+CUDA_GDB_FLAGS	+= --enable-tui
+CUDA_GDB_FLAGS	+= --with-lzma
+CUDA_GDB_FLAGS	+= --with-python=python3
+CUDA_GDB_FLAGS	+= --enable-64-bit-bfd
+CUDA_GDB_FLAGS	+= --disable-sim
 
 DEB_BUILD_MAINT_OPTIONS		 = hardening=+all
 DEB_CPPFLAGS_MAINT_APPEND	 = -I$(CURDIR)/nvidia-cuda-tree-$(DEB_HOST_ARCH)/cuda_cudart/include
@@ -232,9 +249,6 @@ ifeq (amd64,$(DEB_HOST_ARCH))
 	chrpath -d build/nsight_systems/$(NSIGHT_SYSTEMS_HOST_DIR)/libQt5WebEngineCore.so.5
 	chrpath -d build/nsight_systems/$(NSIGHT_SYSTEMS_HOST_DIR)/libicu*.so.56
 	chrpath -d build/nsight_systems/$(NSIGHT_SYSTEMS_HOST_DIR)/libpapi.so.5
-else
-	chrpath -d build/nsight_systems/$(NSIGHT_SYSTEMS_HOST_DIR)/QdstrmImporter
-	chrpath -d build/nsight_systems/$(NSIGHT_SYSTEMS_HOST_DIR)/lib[ACDIPST]*.so
 endif
 	$(RM) -v build/nsight_systems/$(NSIGHT_SYSTEMS_HOST_DIR)/libstdc++.so.6
 	$(RM) -v build/nsight_systems/$(NSIGHT_SYSTEMS_HOST_DIR)/libcrypto.so*
@@ -300,7 +314,9 @@ endif
 endif
 	dh_shlibdeps --remaining-packages -X/stubs/ -- -llibcuda
 	$(RM) -r libcuda debian/shlibs.local
-	sed -i -r 's/XXXlibcuda1XXX/$${package:libcuda1}/g' debian/*.substvars
+	sed -r -i -e 's/XXXlibcuda1XXX/$${package:libcuda1}/g' \
+		$(foreach lib,$(LIB_BASENAMES),-e 's/$(lib)$($(lib).SOVERSION)(,|$$)/$${$(lib):eq:Version}\1/g') \
+		debian/*.substvars
 
 # running dh_strip is not permitted by the NVIDIA license
 override_dh_dwz:
diff --git a/debian/rules.defs b/debian/rules.defs
index 823d20c..51a055f 100644
--- a/debian/rules.defs
+++ b/debian/rules.defs
@@ -10,17 +10,24 @@ endif
 CUDA_ARCH_LIST_NO_OPENJDK		+= arm64
 
 package_libcuda1.Debian			+= libcuda1			(>= $${nvidia:MinVersion}) [!armhf !ppc64el] |
+package_libcuda1.Debian			+= libnvidia-tesla-470-cuda1	(>= $${nvidia:MinVersion}) [amd64 i386 arm64 ppc64el] |
 package_libcuda1.Debian			+= libnvidia-tesla-460-cuda1	(>= $${nvidia:MinVersion}) [amd64 i386 arm64 ppc64el] |
 
+package_libcuda1.Ubuntu			+= libnvidia-compute-470	(>= $${nvidia:MinVersion}) [amd64 i386] |
+package_libcuda1.Ubuntu			+= libnvidia-compute-470-server	(>= $${nvidia:MinVersion}) [amd64 i386] |
+package_libcuda1.Ubuntu			+= libnvidia-compute-465	(>= $${nvidia:MinVersion}) [amd64 i386] |
+package_libcuda1.Ubuntu			+= libnvidia-compute-465-server	(>= $${nvidia:MinVersion}) [amd64 i386] |
 package_libcuda1.Ubuntu			+= libnvidia-compute-460	(>= $${nvidia:MinVersion}) [amd64 i386] |
 package_libcuda1.Ubuntu			+= libnvidia-compute-460-server	(>= $${nvidia:MinVersion}) [amd64 i386] |
 
 package_libnvidia-ml1.Debian		+= libnvidia-ml1		(>= $${nvidia:MinVersion}) [!armhf !ppc64el] |
+package_libnvidia-ml1.Debian		+= libnvidia-tesla-470-ml1	(>= $${nvidia:MinVersion}) [amd64 i386 arm64 ppc64el] |
 package_libnvidia-ml1.Debian		+= libnvidia-tesla-460-ml1	(>= $${nvidia:MinVersion}) [amd64 i386 arm64 ppc64el] |
 
 package_libnvidia-ml1.Ubuntu		 = $(package_libcuda1.Ubuntu)
 
 package_driver.Debian			+= nvidia-driver		(>= $${nvidia:MinVersion}) [!i386 !armhf !ppc64el] |
+package_driver.Debian			+= nvidia-tesla-470-driver	(>= $${nvidia:MinVersion}) [amd64 arm64 ppc64el] |
 package_driver.Debian			+= nvidia-tesla-460-driver	(>= $${nvidia:MinVersion}) [amd64 arm64 ppc64el] |
 
 package_driver.Ubuntu			 =
@@ -90,8 +97,7 @@ nsight-systems-target.VERSION		 = $(CUDA_VERSION_nsight_systems)
 
 DEFAULT_GCC_VERSION			 = 10
 
-OPENJDK_VERSION.default			 = 8u292-b10-0+deb9u1
-OPENJDK_VERSION.ppc64el			 = 8u252-b09-1~deb9u1
+OPENJDK_VERSION.default			 = 8u292-b10-3
 
 NSIGHT_COMPUTE_DESKTOP_DIR.amd64	 = linux-desktop-glibc_2_11_3-x64
 NSIGHT_COMPUTE_DESKTOP_DIR.i386		 = linux-desktop-glibc_2_11_3-x86
diff --git a/debian/watch b/debian/watch
index a7a02b3..8850b23 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,2 +1,2 @@
 version=4
-opts=searchmode=plain https://developer.nvidia.com/cuda-downloads https?://[-./0-9a-zA-Z]+/local_installers/cuda_([0-9.]+)_[0-9.]+_linux(?:_[0-9a-zA-Z]+)?.run
+opts=searchmode=plain,downloadurlmangle=s/\\//g https://developer.nvidia.com/cuda-downloads https?:\\?/\\?/[-.\\/0-9a-zA-Z]+\\?/local_installers\\?/cuda_([0-9.]+)_[0-9.]+_linux(?:_[0-9a-zA-Z]+)?.run
diff --git a/debian/watch.in b/debian/watch.in
index 09f905f..9438093 100644
--- a/debian/watch.in
+++ b/debian/watch.in
@@ -1,2 +1,2 @@
 version=4
-opts=searchmode=plain #CUDA_DOWNLOAD_URL# https?://[-./0-9a-zA-Z]+/local_installers/cuda_([0-9.]+)_[0-9.]+_linux(?:_[0-9a-zA-Z]+)?.run
+opts=searchmode=plain,downloadurlmangle=s/\\//g #CUDA_DOWNLOAD_URL# https?:\\?/\\?/[-.\\/0-9a-zA-Z]+\\?/local_installers\\?/cuda_([0-9.]+)_[0-9.]+_linux(?:_[0-9a-zA-Z]+)?.run

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply to: