Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 935425 - llvm-runtimes/libcxx-19.0.0_pre20240623 ; 20.0.0_pre20240808 test fail (profile is not clang) x86_64-pc-linux-gnu/bin/ld.bfd: libc++experimental.a: error adding symbols
Summary: llvm-runtimes/libcxx-19.0.0_pre20240623 ; 20.0.0_pre20240808 test fail (prof...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: LLVM support project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-07-03 18:58 UTC by Arniii
Modified: 2024-12-11 14:01 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log in zip (libcxx_build_log.zip,140.49 KB, application/zip)
2024-07-03 19:09 UTC, Arniii
Details
environment // profile default/linux/amd64/23.0/split-usr/desktop/plasma gcc-13.2.1_p20240210 O3 pipe march=native(verbose) lto graphite ggdb3 (file_935425.txt,163.01 KB, text/plain)
2024-07-03 19:11 UTC, Arniii
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Arniii 2024-07-03 18:58:21 UTC
I guess it happens because static libraries built by gcc are not understandable by clang and vice versa.

example fail from build.log:
```
# .---command stderr------------
# | /usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld.bfd: /var/tmp/portage/sys-libs/libcxx-19.0.0_pre20240623/work/runtimes_build-abi_x86_32.x86/lib/libc++experimental.a: error adding symbols: file format not recognized
# | i686-pc-linux-gnu-clang++: error: linker command failed with exit code 1 (use -v to see invocation)
# `-----------------------------

```

also from build.log:
```
********************
Failed Tests (40):
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/leap_seconds.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/links.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/rules.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/time.zone.db.list/erase_after.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/version.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/zones.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/leap_seconds.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.access/current_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.access/locate_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.tzdb/current_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.tzdb/tzdb.members.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.exception/time.zone.exception.ambig/ctor.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.exception/time.zone.exception.ambig/types.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.exception/time.zone.exception.nonexist/ctor.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.exception/time.zone.exception.nonexist/types.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.leap/members/date.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.leap/members/value.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.timezone/time.zone.members/to_local.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.timezone/time.zone.members/to_sys.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.timezone/time.zone.members/to_sys_choose.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtraits/const_time_zone_default_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtraits/const_time_zone_locate_zone.pass.cpp


Testing Time: 710.78s

Total Discovered Tests: 9662
  Unsupported      :  606 (6.27%)
  Passed           : 8994 (93.09%)
  Expectedly Failed:   22 (0.23%)
  Failed           :   40 (0.41%)
FAILED: libcxx/test/CMakeFiles/check-cxx /var/tmp/portage/sys-libs/libcxx-19.0.0_pre20240623/work/runtimes_build-abi_x86_32.x86/libcxx/test/CMakeFiles/check-cxx
cd /var/tmp/portage/sys-libs/libcxx-19.0.0_pre20240623/work/runtimes_build-abi_x86_32.x86/libcxx/test && /usr/bin/python3.12 /usr/bin/lit -vv -j 24 /var/tmp/portage/sys-libs/libcxx-19.0.0_pre20240623/work/runtimes_build-abi_x86_32.x86/libcxx/test

```
Comment 1 Arniii 2024-07-03 19:09:44 UTC
Created attachment 896905 [details]
build.log in zip
Comment 2 Arniii 2024-07-03 19:11:24 UTC
Created attachment 896906 [details]
environment // profile default/linux/amd64/23.0/split-usr/desktop/plasma gcc-13.2.1_p20240210 O3 pipe march=native(verbose) lto graphite ggdb3
Comment 3 Mike Gilbert gentoo-dev 2024-07-05 17:06:00 UTC
Please provide emerge --info.
Comment 4 Arniii 2024-07-05 17:11:05 UTC
(In reply to Mike Gilbert from comment #3)
> Please provide emerge --info.

Here's environment file for this.
Comment 5 Arniii 2024-07-05 17:24:44 UTC
emerge --info :
https://bugs.gentoo.org/attachment.cgi?id=897087
Comment 6 Arniii 2024-08-14 18:27:38 UTC
reproducible with sys-libs/libcxx-20.0.0_pre20240808
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-08-14 18:29:44 UTC
> I guess it happens because static libraries built by gcc are not understandable by clang and vice versa.

... with LTO, yes.
Comment 8 Arniii 2024-09-05 21:01:18 UTC
reproducible with sys-libs/libcxx-20.0.0_pre20240830

from build.log:
```
********************
Failed Tests (67):
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/leap_seconds.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/links.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/rules.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/time.zone.db.list/erase_after.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/version.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.db/zones.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
  llvm-libc++-shared.cfg.in :: libcxx/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.rule_selection.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/leap_seconds.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.access/current_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.access/locate_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.tzdb/current_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.tzdb/locate_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.db/time.zone.db.tzdb/tzdb.members.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.exception/time.zone.exception.ambig/ctor.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.exception/time.zone.exception.ambig/types.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.exception/time.zone.exception.nonexist/ctor.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.exception/time.zone.exception.nonexist/types.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.leap/members/date.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.leap/members/value.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.leap/nonmembers/comparison.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.link/time.zone.link.members/name.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.link/time.zone.link.members/target.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.link/time.zone.link.nonmembers/comparison.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.timezone/time.zone.members/name.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.timezone/time.zone.members/sys_info.zdump.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.timezone/time.zone.members/to_local.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.timezone/time.zone.members/to_sys.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.timezone/time.zone.members/to_sys_choose.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.timezone/time.zone.nonmembers/comparison.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/copy.assign.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/copy.ctor.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/deduction.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/default.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_local_time.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_local_time_choose.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_sys_time.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_zoned_time_duration2_time_zone_ptr2.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/string_view_zoned_time_duration2_time_zone_ptr2_choose.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/sys_time.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer_local_time.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer_local_time_choose.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_pointer_sys_time.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_ptr_zoned_time_duration2_time_zone_ptr2.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/time_zone_ptr_zoned_time_duration2_time_zone_ptr2_choose.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.ctor/zoned_time_duration2.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/assign.local_time.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/assign.sys_time.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_info.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_local_time.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_sys_time.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/get_time_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/operator_local_time.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.members/operator_sys_time.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtime/time.zone.zonedtime.nonmembers/eq.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtraits/const_time_zone_default_zone.pass.cpp
  llvm-libc++-shared.cfg.in :: std/time/time.zone/time.zone.zonedtraits/const_time_zone_locate_zone.pass.cpp


Testing Time: 697.59s

Total Discovered Tests: 9745
  Unsupported      :  606 (6.22%)
  Passed           : 9050 (92.87%)
  Expectedly Failed:   22 (0.23%)
  Failed           :   67 (0.69%)
```
Comment 9 Arniii 2024-09-21 03:56:08 UTC
reproducible with sys-libs/libcxx-20.0.0_pre20240917 . Same tests fail as in sys-libs/libcxx-20.0.0_pre20240830
Comment 10 Arniii 2024-11-20 11:58:48 UTC
reproducible with sys-libs/libcxx-20.0.0_pre20241106
Comment 11 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-11-20 13:49:30 UTC
No need for "reproducible with ..." messages on this. I already analysed it and explained the problem. It is not something that will go away with new versions.