diff --git a/extra/meson/0001-Fix-CUDA-test-without-devices.patch b/extra/meson/0001-Fix-CUDA-test-without-devices.patch deleted file mode 100644 index 44613db0d..000000000 --- a/extra/meson/0001-Fix-CUDA-test-without-devices.patch +++ /dev/null @@ -1,49 +0,0 @@ -From bee44c4c029eeee4c77434fd38208a5c02780b44 Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" -Date: Tue, 7 Jan 2020 23:48:18 +0100 -Subject: [PATCH] Fix CUDA test without devices. - -Getting the runtime version fails when no devices are present. ---- - .../version_reqs/prog.cu | 21 ++++++++++--------- - 1 file changed, 11 insertions(+), 10 deletions(-) - -diff --git a/test cases/cuda/11 cuda dependency (nvcc)/version_reqs/prog.cu b/test cases/cuda/11 cuda dependency (nvcc)/version_reqs/prog.cu -index 56688303..bc90081e 100644 ---- a/test cases/cuda/11 cuda dependency (nvcc)/version_reqs/prog.cu -+++ b/test cases/cuda/11 cuda dependency (nvcc)/version_reqs/prog.cu -@@ -9,20 +9,21 @@ int cuda_devices(void) { - - int main(void) { - std::cout << "Compiled against CUDA version: " << CUDART_VERSION << "\n"; -+ - int runtime_version = 0; -- cudaError_t r = cudaRuntimeGetVersion(&runtime_version); -- if (r != cudaSuccess) { -- std::cout << "Couldn't obtain CUDA runtime version (error " << r << "). Exiting.\n"; -- return -1; -+ switch (cudaError_t r = cudaRuntimeGetVersion(&runtime_version)) { -+ case cudaSuccess: -+ std::cout << "CUDA runtime version: " << runtime_version << "\n"; -+ break; -+ case cudaErrorNoDevice: -+ std::cout << "No CUDA hardware found. Exiting.\n"; -+ return 0; -+ default: -+ std::cout << "Couldn't obtain CUDA runtime version (error " << r << "). Exiting.\n"; -+ return -1; - } -- std::cout << "CUDA runtime version: " << runtime_version << "\n"; - - int n = cuda_devices(); -- if (n == 0) { -- std::cout << "No CUDA hardware found. Exiting.\n"; -- return 0; -- } -- - std::cout << "Found " << n << " CUDA devices.\n"; - return 0; - } --- -2.24.1 - diff --git a/extra/meson/0001-environment-Fix-construction-of-CudaLinker.patch b/extra/meson/0001-environment-Fix-construction-of-CudaLinker.patch new file mode 100644 index 000000000..6238e90dc --- /dev/null +++ b/extra/meson/0001-environment-Fix-construction-of-CudaLinker.patch @@ -0,0 +1,41 @@ +From a798616f8ac85c02f0830269410a16c54cbd0cab Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Thu, 27 Feb 2020 15:53:43 +0100 +Subject: [PATCH] environment: Fix construction of CudaLinker + +The 0.53.2 test suite has a new failure: + + Traceback (most recent call last): + File "run_project_tests.py", line 1024, in + detect_system_compiler() + File "run_project_tests.py", line 964, in detect_system_compiler + comp = env.compiler_from_language(lang, MachineChoice.HOST) + File "/build/meson/src/meson-0.53.2/mesonbuild/environment.py", line 1565, in compiler_from_language + comp = self.detect_cuda_compiler(for_machine) + File "/build/meson/src/meson-0.53.2/mesonbuild/environment.py", line 1131, in detect_cuda_compiler + linker = CudaLinker(compiler, for_machine, 'nvlink', CudaCompiler.LINKER_PREFIX, [], version=CudaLinker.parse_version()) + File "/build/meson/src/meson-0.53.2/mesonbuild/linkers.py", line 963, in __init__ + super().__init__('nvlink', *args, **kwargs) + TypeError: __init__() takes 6 positional arguments but 7 positional arguments (and 1 keyword-only argument) were given + +Fixes: c708c52ca225 ("linkers: Update the linker names to be more consistent") +--- + mesonbuild/environment.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py +index 39c6b542..ebadd576 100644 +--- a/mesonbuild/environment.py ++++ b/mesonbuild/environment.py +@@ -1128,7 +1128,7 @@ class Environment: + cpp_compiler = self.detect_cpp_compiler(for_machine) + cls = CudaCompiler + self.coredata.add_lang_args(cls.language, cls, for_machine, self) +- linker = CudaLinker(compiler, for_machine, 'nvlink', CudaCompiler.LINKER_PREFIX, [], version=CudaLinker.parse_version()) ++ linker = CudaLinker(compiler, for_machine, CudaCompiler.LINKER_PREFIX, [], version=CudaLinker.parse_version()) + return cls(ccache + compiler, version, for_machine, is_cross, exe_wrap, host_compiler=cpp_compiler, info=info, linker=linker) + raise EnvironmentException('Could not find suitable CUDA compiler: "' + ' '.join(compilers) + '"') + +-- +2.25.1 + diff --git a/extra/meson/PKGBUILD b/extra/meson/PKGBUILD index a5d094a8a..509ffe0c3 100644 --- a/extra/meson/PKGBUILD +++ b/extra/meson/PKGBUILD @@ -6,7 +6,7 @@ # - disable lto in arch-meson pkgname=meson -pkgver=0.53.1 +pkgver=0.53.2 pkgrel=1 pkgdesc='High productivity build system' url='https://mesonbuild.com/' @@ -21,12 +21,12 @@ checkdepends=('gcc-objc' 'vala' 'rust' 'gcc-fortran' 'mono' 'boost' 'qt5-base' ' 'libelf' 'python-pytest-xdist') source=(https://github.com/mesonbuild/meson/releases/download/${pkgver}/meson-${pkgver}.tar.gz{,.asc} skip-test.diff - 0001-Fix-CUDA-test-without-devices.patch + 0001-environment-Fix-construction-of-CudaLinker.patch arch-meson) -sha512sums=('0c96c354bcd7e6945473c7df0ddff929ef2bae9c2dfc7b48c6c6174c7f2be4f798398929f9c4d5986aa5fc882305ff76371ad0d65a499f058b33b05ff7025859' +sha512sums=('005340f0faaa8fc5065b916355af6c2e3311da59fae67c781eb9ca47c5430dca85e9aa1052c5e92b3da8546b4b197fe623a6d48b073a24e05535141ba59ecac7' 'SKIP' 'fd1694e74cfa628bda81b1056061d75fa288e04d72bda733f3667be43cfb21c60f2e89455e4a101a7f6bef5754fe112dc84e18ec7a0807bc791015c34deea347' - '459559575ac6556cf7f9b340099886442ca222b9cfb584aaad3a2a43c2fe6ce850e7125fb8b7a01782c5f5a57b353adc5683f24aec6717ba78076ad75140fc4e' + 'c214888ef7b095e1baa68743a065438cd4270032c457580d5e6e2f728b694abfe07b609c17b11d6b9f66b0f5ba2702552084508f69003072dc45ae01b09d8eb2' '278f5e4de3aa1170d9b4f9f212985d664f44d90ffec727febeeea1ed570046c6469558a5d123a41bf4c2fdf99dbe7832515b06f1ace423c63e2e95ba6d0ef235') validpgpkeys=('95181F4EED14FDF4E41B518D3BF4693BFEEB9428') # Jussi Pakkanen @@ -36,8 +36,8 @@ prepare() { # Our containers do not allow sanitizers to run patch -Np1 -i ../skip-test.diff - # Fix CUDA test without devices - patch -Np1 -i ../0001-Fix-CUDA-test-without-devices.patch + # Fix CUDA + patch -Np1 -i ../0001-environment-Fix-construction-of-CudaLinker.patch } build() {