Source: nageru
Version: 2.2.0-2
tags: patch

Hello, with newer toolchains the default changed to sha256 IIRC, and lld fails 
to link objects

See: e.g. 
https://launchpadlibrarian.net/647717885/buildlog_ubuntu-lunar-arm64.nageru_2.2.0-2ubuntu1_BUILDING.txt.gz
debugedit: debian/nageru/usr/bin/kaeru: Unknown DWARF DW_FORM_0x1f20
debugedit: Cannot handle 8-byte build ID
dh_strip: error: debugedit --build-id --build-id-seed=nageru/2.2.0-2ubuntu1 
debian/nageru/usr/bin/kaeru returned exit code 1
debugedit: Cannot handle 8-byte build ID
dh_strip: error: debugedit --build-id --build-id-seed=futatabi/2.2.0-2ubuntu1 
debian/futatabi/usr/bin/futatabi returned exit code 1
dh_strip: error: Aborting due to earlier error
make: *** [debian/rules:9: binary-arch] Error 25
dpkg-buildpackage: error: fakeroot debian/rules binary-arch subprocess returned 
exit status 2

To avoid failures with lld-15, the suggestion is to add this on rules file:

ifneq (, $(shell which lld))
  export DEB_LDFLAGS_MAINT_APPEND += -fuse-ld=lld -Wl,--build-id=sha1
endif


after the

export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed -latomic

line.
This way you will be compatible with llvm-14 and llvm-15 and future releases.


BTW according to your build log, you are using bfd linker, not lld, this is 
probably why its still working in Debian

Build dir: /nageru-2.2.0/obj-x86_64-linux-gnu
Build type: native build
Project name: nageru
Project version: 2.2.0
C++ compiler for the host machine: c++ (gcc 12.2.0 "c++ (Debian 12.2.0-14) 
12.2.0")
C++ linker for the host machine: c++ ld.bfd 2.40.50.20230111
Host machine cpu family: x86_64
Host machine cpu: x86_64


G.

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to