https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/ Issue: dev-lang/mercury-extras-22.01.1 fails to compile (lto). Discovered on: amd64 (internal ref: lto_tinderbox) NOTE: This machine uses lto with CFLAGS=-flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing
Created attachment 789404 [details] build.log build log and emerge --info
Error(s) that match a know pattern in addition to what has been reported in the summary: /usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-lang/mercury-extras-22.01.1/temp/cciI5oC6.ltrans0.ltrans.o:(.data.rel.ro+0x130): undefined reference to `<unification predicate for type 'align_right.params'/0 mode 0>' /usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-lang/mercury-extras-22.01.1/temp/cciI5oC6.ltrans0.ltrans.o:(.data.rel.ro+0x138): undefined reference to `<compare/3 predicate for type 'align_right.params'/0>' /usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-lang/mercury-extras-22.01.1/temp/cciI5oC6.ltrans0.ltrans.o:(.data.rel.ro+0x190): undefined reference to `<unification predicate for type 'align_right.option'/0 mode 0>' /usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-lang/mercury-extras-22.01.1/temp/cciI5oC6.ltrans0.ltrans.o:(.data.rel.ro+0x198): undefined reference to `<compare/3 predicate for type 'align_right.option'/0>' /usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-lang/mercury-extras-22.01.1/temp/cciI5oC6.ltrans0.ltrans.o:(.data.rel.ro+0x70): undefined reference to `<unification predicate for type 'align_right.squeeze'/0 mode 0>' /usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-lang/mercury-extras-22.01.1/temp/cciI5oC6.ltrans0.ltrans.o:(.data.rel.ro+0x78): undefined reference to `<compare/3 predicate for type 'align_right.squeeze'/0>' /usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-lang/mercury-extras-22.01.1/temp/cciI5oC6.ltrans0.ltrans.o:(.data.rel.ro+0xd0): undefined reference to `<unification predicate for type 'align_right.pat_line'/0 mode 0>' /usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: /var/tmp/portage/dev-lang/mercury-extras-22.01.1/temp/cciI5oC6.ltrans0.ltrans.o:(.data.rel.ro+0xd8): undefined reference to `<compare/3 predicate for type 'align_right.pat_line'/0>' <artificial>:(.text+0x52f): undefined reference to `<predicate 'main'/2 mode 0>' collect2: error: ld returned 1 exit status
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b3e643353b25028826a85390411a840ed0deecec commit b3e643353b25028826a85390411a840ed0deecec Author: Eli Schwartz <eschwartz@gentoo.org> AuthorDate: 2024-10-13 22:52:00 +0000 Commit: Eli Schwartz <eschwartz@gentoo.org> CommitDate: 2024-10-14 05:27:11 +0000 dev-lang/mercury-extras: mark as LTO-unsafe It appears to be a fundamental design issue. It is not really C code, though they do generate it as an intermediate format. ``` ccJwDryZ.ltrans0.ltrans.o:(.data.rel.ro.local+0x330): undefined reference to `<unification predicate for type 'align_right.squeeze'/0 mode 0>' ``` Closes: https://bugs.gentoo.org/855638 Signed-off-by: Eli Schwartz <eschwartz@gentoo.org> dev-lang/mercury-extras/mercury-extras-22.01.1.ebuild | 6 ++++++ 1 file changed, 6 insertions(+)