eztrace FTBFS with LTO
Bug #2016471 reported by
Graham Inggs
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
eztrace (Ubuntu) | Status tracked in Mantic | |||||
Mantic |
Fix Released
|
Undecided
|
Unassigned | |||
llvm-defaults (Ubuntu) | Status tracked in Mantic | |||||
Mantic |
Invalid
|
Undecided
|
Unassigned | |||
llvm-toolchain-15 (Ubuntu) | Status tracked in Mantic | |||||
Mantic |
Fix Released
|
Undecided
|
Unassigned | |||
lto-disabled-list (Ubuntu) | Status tracked in Mantic | |||||
Mantic |
Fix Released
|
Undecided
|
Lukas Märdian |
Bug Description
eztrace 2.0+repack-11 FTBFS due to mpich test failure when built with LTO enabled.
The following tests FAILED:
3 - mpi_tests (Failed)
5 - memory_tests (Failed)
10 - openmp_tests (Failed)
12 - pthread_tests (Failed)
15 - posixio_tests (Failed)
Errors while running CTest
make[2]: *** [Makefile:74: test] Error 8
make[2]: Leaving directory '/<<PKGBUILDDIR
The mpich tests pass after disaling LTO, however then the ompt tests still fail.
The following tests FAILED:
5 - ompt_tests (Failed)
Errors while running CTest
make[2]: *** [Makefile:74: test] Error 8
make[2]: Leaving directory '/<<PKGBUILDDIR
tags: | added: rls-mm-incoming |
Changed in eztrace (Ubuntu): | |
assignee: | nobody → Lukas Märdian (slyon) |
status: | New → In Progress |
Changed in lto-disabled-list (Ubuntu): | |
assignee: | nobody → Lukas Märdian (slyon) |
status: | New → In Progress |
Changed in lto-disabled-list (Ubuntu): | |
status: | In Progress → Fix Committed |
tags: | removed: rls-mm-incoming |
tags: | added: fr-4344 |
tags: | added: foundations-todo |
Changed in eztrace (Ubuntu Mantic): | |
assignee: | Lukas Märdian (slyon) → nobody |
Changed in llvm-toolchain-15 (Ubuntu Mantic): | |
assignee: | nobody → Steve Langasek (vorlon) |
Changed in llvm-toolchain-15 (Ubuntu Mantic): | |
assignee: | Steve Langasek (vorlon) → nobody |
status: | Fix Committed → Triaged |
Changed in eztrace (Ubuntu Mantic): | |
status: | In Progress → Fix Released |
To post a comment you must log in.
As Graham stated, disabling LTO make the build/tests (mostly) pass, but fails for the "OMPT_ARCHS" (amd64 arm64 i386 ppc64el riscv64), as defined in d/rules.
This can be done via lto-disabled-list or d/rules: MAINT_OPTIONS = hardening=+all optimize=-lto
export DEB_BUILD_
I tried a few different things in eztrace to make the toolchain mimic the Debian build (which passes): functions optimization from the linker flags MAINT_STRIP = -Wl,-Bsymbolic- functions in d/rules
* Switch to clang-14:
CC=clang-14 in d/rules and clang-14 & libomp-14-dev B-Ds in d/control
* Strip Ubuntu's -Bsymbolic-
export DEB_LDFLAGS_
But didn't have any success with the above changes.
Then I noticed bug #1899199, which indicates the root-cause being in the libomp5 dependency instead of eztrace itself, i.e. llvm-toolchain-* (or libomp.so.5 specifically) needs to be build without the -Wl,-Bsymbolic- functions LDFLAGS optimization. This seems to be the case!
After downloading relevant binaries from Debian (https:/ /packages. debian. org/source/ sid/llvm- toolchain- 15), I was able to build eztrace successfully (with just LTO disabled, but no other changes):
sbuild --extra-package ../libomp5- 15_15.0. 7-4_amd64. deb --extra-package ../libomp- 15-dev_ 15.0.7- 4_amd64. deb -dlunar .
So IMO this is something for the Foundations toolchain people to look into, fixing our llvm-toolchain (libomp) build.