Hello, On Tue, 13 Nov 2018, tu...@posteo.de wrote: >I got a weird looking error while upgrading/recompiling nasm: >cmake -C >/var/tmp/portage/media-libs/libjpeg-turbo-2.0.1/work/libjpeg-turbo-2.0.1-abi_x86_64.amd64/gentoo_common_config.cmake > -G Unix Makefiles -DCMAKE_INSTALL_PREFIX=/usr >-DCMAKE_INSTALL_DEFAULT_DOCDIR=/usr/share/doc/libjpeg-turbo-2.0.1 >-DENABLE_STATIC=no -DWITH_JAVA=no -DWITH_MEM_SRCDST=ON >-DCMAKE_BUILD_TYPE=Gentoo >-DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/media-libs/libjpeg-turbo-2.0.1/work/libjpeg-turbo-2.0.1-abi_x86_64.amd64/gentoo_toolchain.cmake > /var/tmp/portage/media-libs/libjpeg-turbo-2.0.1/work/libjpeg-turbo-2.0.1 >loading initial cache file >/var/tmp/portage/media-libs/libjpeg-turbo-2.0.1/work/libjpeg-turbo-2.0.1-abi_x86_64.amd64/gentoo_common_config.cmake > * ACCESS DENIED: fopen_wr: /? >Build type Gentoo >Install path /usr >Compiler flags: >C -march=native -O -pipe >C++ >Linker flags: >Executable -Wl,-O1 -Wl,--as-needed >Module -Wl,-O1 -Wl,--as-needed >Shared -Wl,-O1 -Wl,--as-needed > >>>> Source configured. > * --------------------------- ACCESS VIOLATION SUMMARY > --------------------------- > * LOG FILE: "/var/log/sandbox/sandbox-16492.log" > * >VERSION 1.0 >FORMAT: F - Function called >FORMAT: S - Access Status >FORMAT: P - Path as passed to function >FORMAT: A - Absolute Path (not canonical) >FORMAT: R - Canonical Path >FORMAT: C - Command Line > >F: fopen_wr >S: deny >P: /? >A: /? >R: /? >C: /usr/bin/nasm /? > * > --------------------------------------------------------------------------------
The problem is cmake's way to figure out what nasm it has got: ==== /usr/share/cmake/Modules/CMakeDetermineASMCompiler.cmake:79 ==== list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS MSVC ) set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_MSVC "/?") set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_MSVC "Microsoft ==== Workaround1: ==== --- libjpeg-turbo-2.0.1.ebuild~ 2018-11-13 20:45:58.000000000 +0100 +++ libjpeg-turbo-2.0.1.ebuild 2018-11-13 20:44:02.000000000 +0100 @@ -52,6 +52,7 @@ -DENABLE_STATIC="$(usex static-libs)" -DWITH_JAVA="$(multilib_native_usex java)" -DWITH_MEM_SRCDST=ON + -DCMAKE_ASM_NASM_COMPILER_ID=GNU ) [[ ${ABI} == "x32" ]] && mycmakeargs+=( -DREQUIRE_SIMD=OFF ) #420239 cmake-utils_src_configure ==== Workaround2: if you have dev-lang/yasm installed, use: ASM_NASM=/usr/bin/yasm [ebuild|emerge] ... Workaround3: delete those MSVC lines from /usr/share/cmake/Modules/CMakeDetermineASMCompiler.cmake Workaround4: patch cmake-utils.eclass to add -DCMAKE_ASM_NASM_COMPILER_ID=GNU to cmakeargs in cmake-utils_src_configure. HTH, -dnh, I'd prefer solution 3 ;) -- my other signature is more intellectual