--- 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 ---