[Pkg-cmake-team] Bug#1013630: cmake does not properly detect x32 architecture with nasm/yasm

Laurent Bigonville bigon at debian.org
Fri Jun 24 12:46:45 BST 2022


Package: cmake
Version: 3.23.2-1
Severity: important
Tags: upstream

Hello,

Currently svt-av1 FTBFS on x32 with the following errror:

[ 11%] Building ASM_NASM object Source/Lib/Common/ASM_SSE2/CMakeFiles/COMMON_ASM_SSE2.dir/intrapred_sse2.asm.o
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnux32/Source/Lib/Common/ASM_SSE2 && /usr/bin/yasm -DARCH_X86_64=1 -DEN_AVX512_SUPPORT=0 -DEXCLUDE_HASH=0 -DREPRODUCIBLE_BUILDS=1 -DSAFECLIB_STR_NULL_SLACK=1 -D_FORTIFY_SOURCE=2 -I/<<PKGBUILDDIR>>/. -I/<<PKGBUILDDIR>>/Source/API -I/<<PKGBUILDDIR>>/Source/Lib/Common/Codec -I/<<PKGBUILDDIR>>/Source/Lib/Common/C_DEFAULT -I/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2 -DUNIX64 -f elf -o CMakeFiles/COMMON_ASM_SSE2.dir/intrapred_sse2.asm.o /<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:57: warning: `rcx' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:57: error: undefined symbol `rcx' (first use)
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:57: error:  (Each undefined symbol is reported only once.)
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:58: warning: `rdx' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:58: error: undefined symbol `rdx' (first use)
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:66: warning: `rdi' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:66: error: undefined symbol `rdi' (first use)
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:67: warning: `rdi' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:67: warning: `rsi' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:67: error: undefined symbol `rsi' (first use)
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:68: warning: `rdi' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:68: warning: `rdi' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:68: warning: `rsi' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:69: warning: `rdi' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:70: warning: `rdi' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:70: warning: `rsi' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:81: warning: `rcx' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:87: warning: `rdi' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:88: warning: `rdi' is a register in 64-bit mode
/<<PKGBUILDDIR>>/Source/Lib/Common/ASM_SSE2/intrapred_sse2.asm:88: warning: `rsi' is a register in 64-bit mode
[...]

As you can see, yasm is called with "-f elf" and not "-f elfx32"

That should be fixed upstream

Kind regards,
Laurent Bigonville



-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.18.0-2-amd64 (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=fr_BE.UTF-8, LC_CTYPE=fr_BE.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: SELinux: enabled - Mode: Permissive - Policy name: refpolicy

Versions of packages cmake depends on:
ii  cmake-data    3.23.2-1
ii  libarchive13  3.6.0-1
ii  libc6         2.33-7
ii  libcurl4      7.83.1-2
ii  libexpat1     2.4.8-1
ii  libgcc-s1     12.1.0-4
ii  libjsoncpp25  1.9.5-4
ii  librhash0     1.4.3-1
ii  libstdc++6    12.1.0-4
ii  libuv1        1.44.1-2
ii  procps        2:3.3.17-7+b1
ii  zlib1g        1:1.2.11.dfsg-4

Versions of packages cmake recommends:
ii  gcc   4:11.2.0-2
ii  make  4.3-4.1

Versions of packages cmake suggests:
pn  cmake-doc     <none>
pn  cmake-format  <none>
ii  ninja-build   1.11.0-1

-- no debconf information



More information about the Pkg-cmake-team mailing list