Package: chromium
Version: 139.0.7258.138-1
Severity: normal
User: [email protected]
Usertags: ftcbfs

Hi,

chromium fails to cross build from source with build=arm64 and
host=amd64. I cross built on a aarch64 system with:

$ sbuild --dist unstable --host amd64

  [888/54398] CXX 
default_for_rust_host_build_tools/obj/build/rust/allocator/alloc_error_handler_impl/alias.o
  FAILED: 
default_for_rust_host_build_tools/obj/build/rust/allocator/alloc_error_handler_impl/alias.o
 
  clang++-19 -MD -MF 
default_for_rust_host_build_tools/obj/build/rust/allocator/alloc_error_handler_impl/alias.o.d
 -DDCHECK_ALWAYS_ON=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE 
-D__ARM_NEON__=1 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE 
-D_GLIBCXX_ASSERTIONS=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 
-I../.. -Idefault_for_rust_host_build_tools/gen -Wall 
-Wno-unused-local-typedefs -Wno-maybe-uninitialized 
-Wno-deprecated-declarations -Wno-comments -Wno-packed-not-aligned 
-Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi 
-fno-strict-overflow -fno-ident -fno-strict-aliasing -fstack-protector 
-funwind-tables -fPIC -pipe -pthread -Wno-builtin-macro-redefined -D__DATE__= 
-D__TIME__= -D__TIMESTAMP__= -O2 -fdata-sections -ffunction-sections 
-fno-math-errno -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wno-narrowing 
-Wno-class-memaccess -Wno-invalid-offsetof -std=gnu++2a -fno-exceptions 
-fno-rtti -fvisibility-inlines-hidden -Wdate-time -D_FORTIFY_SOURCE=2 -O2 
-ffile-prefix-map=/build/reproducible-path/chromium-139.0.7258.138=. 
-fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -fcf-protection -stdlib=libc++ -Wno-conversion 
-Wno-unused-function -Wno-unused-variable -Wno-unused-private-field 
-Wno-deprecated-declarations -Wno-unknown-pragmas  
-fno-delete-null-pointer-checks  -c ../../build/rust/allocator/alias.cc -o 
default_for_rust_host_build_tools/obj/build/rust/allocator/alloc_error_handler_impl/alias.o
  warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean 
'-Wno-uninitialized'? [-Wunknown-warning-option]
  warning: unknown warning option '-Wno-packed-not-aligned'; did you mean 
'-Wno-packed-non-pod'? [-Wunknown-warning-option]
  warning: unknown warning option '-Wno-class-memaccess'; did you mean 
'-Wno-class-varargs'? [-Wunknown-warning-option]
  error: option 'cf-protection=return' cannot be specified on this target
  error: option 'cf-protection=branch' cannot be specified on this target
  3 warnings and 2 errors generated.

Similarly, to test build=amd64 and host=arm64 I cross built on a x86
machine with:

$ sbuild --dist unstable --host arm64

  [585/54944] CXX 
default_for_rust_host_build_tools/obj/build/rust/allocator/alloc_error_handler_impl/alias.o
  FAILED: 
default_for_rust_host_build_tools/obj/build/rust/allocator/alloc_error_handler_impl/alias.o
 
  clang++-19 -MD -MF 
default_for_rust_host_build_tools/obj/build/rust/allocator/alloc_error_handler_impl/alias.o.d
 -DDCHECK_ALWAYS_ON=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE 
-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -D_GLIBCXX_ASSERTIONS=1 
-DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -I../.. 
-Idefault_for_rust_host_build_tools/gen -Wall -Wno-unused-local-typedefs 
-Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments 
-Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter 
-Wno-psabi -fno-strict-overflow -fno-ident -fno-strict-aliasing 
-fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -msse3 
-Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -O2 
-fdata-sections -ffunction-sections -fno-math-errno -fno-omit-frame-pointer -g0 
-fvisibility=hidden -Wno-narrowing -Wno-class-memaccess -Wno-invalid-offsetof 
-std=gnu++2a -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -Wdate-time 
-D_FORTIFY_SOURCE=2 -O2 
-ffile-prefix-map=/build/reproducible-path/chromium-139.0.7258.138=. 
-fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -mbranch-protection=standard -stdlib=libc++ 
-Wno-conversion -Wno-unused-function -Wno-unused-variable 
-Wno-unused-private-field -Wno-deprecated-declarations -Wno-unknown-pragmas  
-fno-delete-null-pointer-checks  -c ../../build/rust/allocator/alias.cc -o 
default_for_rust_host_build_tools/obj/build/rust/allocator/alloc_error_handler_impl/alias.o
  clang++-19: error: unsupported option '-mbranch-protection=' for target 
'x86_64-pc-linux-gnu'

Building with ninja -v (see https://bugs.debian.org/1111693) it became
apparent that all other compilation units are built with the correct
--target option (eg: --target=aarch64-linux-gnu), whereas in the case of
default_for_rust_host_build_tools the option is not present.

To see a few examples, search for --target= in the logs at:
https://people.debian.org/~ema/chromium_139.0.7258.138-1_arm64.build

Thanks,
  Emanuele

Reply via email to