Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 948467 - [guru] sys-fs/dwarfs-0.10.2 compile fail : FAILED: libdwarfs_writer.so.0.10.2 : error: type ‘struct global_entry_data’ violates the C++ One Definition Rule [-Werror=odr]
Summary: [guru] sys-fs/dwarfs-0.10.2 compile fail : FAILED: libdwarfs_writer.so.0.10.2...
Status: UNCONFIRMED
Alias: None
Product: GURU
Classification: Unclassified
Component: Package issues (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Reva Denis
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-20 20:43 UTC by Arniiiii
Modified: 2025-03-22 04:54 UTC (History)
3 users (show)

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


Attachments
build.log (file_948467.txt,376.66 KB, text/plain)
2025-01-20 20:43 UTC, Arniiiii
Details
emerge --info (file_948467.txt,15.05 KB, text/plain)
2025-01-20 20:43 UTC, Arniiiii
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Arniiiii 2025-01-20 20:43:23 UTC
Created attachment 917185 [details]
build.log

Setup: Gentoo -> KDE Plasma wayland -> foot -> tmux -> jail chroot Gentoo with same /etc/portage as main's Gentoo.

from build.log:
```
FAILED: libdwarfs_writer.so.0.10.2
: && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -O3 -pipe -march=alderlake -mabm -mno-cldemote -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=32 --param=l2-cache-size=30720 -fuse-linker-plugin -flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -fgraphite-identity -floop-interchange -floop-strip-mine -floop-nest-optimize -ftree-loop-linear -ggdb3 -frecord-gcc-switches  -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,--defsym=__gentoo_check_ldflags__=0 -shared -Wl,-soname,libdwarfs_writer.so.0.10.2 -o libdwarfs_writer.so.0.10.2 CMakeFiles/dwarfs_writer.dir/src/writer/categorizer.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/category_parser.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/chmod_entry_transformer.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/compression_metadata_requirements.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/console_writer.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/entry_factory.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/fragment_order_options.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/filesystem_block_category_resolver.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/filesystem_writer.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/filter_debug.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/fragment_category.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/fragment_order_parser.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/inode_fragments.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/rule_based_entry_filter.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/scanner.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/segmenter.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/segmenter_factory.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/writer_progress.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/block_manager.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/chmod_transformer.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/entry.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/file_scanner.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/fragment_chunkable.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/global_entry_data.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/inode_element_view.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/inode_manager.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/inode_ordering.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/metadata_freezer.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/nilsimsa.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/progress.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/scanner_progress.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/similarity.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/internal/similarity_ordering.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/categorizer/fits_categorizer.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/categorizer/incompressible_categorizer.cpp.o CMakeFiles/dwarfs_writer.dir/src/writer/categorizer/pcmaudio_categorizer.cpp.o  -Wl,-rpath,/var/tmp/portage/sys-fs/dwarfs-0.10.2/work/dwarfs-0.10.2_build:  libdwarfs_common.so.0.10.2  /usr/lib64/libboost_chrono.so.1.85.0  /usr/lib64/libboost_iostreams.so.1.85.0  /usr/lib64/libboost_context.so.1.85.0  /usr/lib64/libboost_filesystem.so.1.85.0  /usr/lib64/libboost_atomic.so.1.85.0  /usr/lib64/libboost_program_options.so.1.85.0  /usr/lib64/libboost_regex.so.1.85.0  /usr/lib64/libboost_system.so.1.85.0  /usr/lib64/libboost_thread.so.1.85.0  /usr/lib64/libdouble-conversion.so  /usr/lib64/libgflags.so.2.2.2  /usr/lib64/libglog.so  /usr/lib64/libevent.so  /usr/lib64/libssl.so  /usr/lib64/libcrypto.so  /usr/lib64/liblzma.so  /usr/lib64/liblz4.so  /usr/lib64/libiberty.a  -ldl  /usr/lib64/libunwind.so  /usr/lib64/libjemalloc.so  /usr/lib64/libfmt.so.11.0.2  /usr/lib64/libzstd.so && :
/var/tmp/portage/sys-fs/dwarfs-0.10.2/work/dwarfs-0.10.2/include/dwarfs/writer/internal/global_entry_data.h:39:7: error: type ‘struct global_entry_data’ violates the C++ One Definition Rule [-Werror=odr]
   39 | class global_entry_data {
      |       ^
/var/tmp/portage/sys-fs/dwarfs-0.10.2/work/dwarfs-0.10.2/include/dwarfs/writer/internal/global_entry_data.h:39:7: note: a different type is defined in another translation unit
   39 | class global_entry_data {
      |       ^
/var/tmp/portage/sys-fs/dwarfs-0.10.2/work/dwarfs-0.10.2/include/dwarfs/writer/internal/global_entry_data.h:114:26: note: the first difference of corresponding definitions is field ‘options_’
  114 |   scanner_options const& options_;
      |                          ^
/var/tmp/portage/sys-fs/dwarfs-0.10.2/work/dwarfs-0.10.2/include/dwarfs/writer/internal/global_entry_data.h:114:26: note: a field of same name but different type is defined in another translation unit
  114 |   scanner_options const& options_;
      |                          ^
/var/tmp/portage/sys-fs/dwarfs-0.10.2/work/dwarfs-0.10.2/include/dwarfs/writer/internal/global_entry_data.h:39:7: note: type name ‘dwarfs::writer::scanner_options’ should match type name ‘dwarfs::scanner_options’
   39 | class global_entry_data {
      |       ^
lto1: some warnings being treated as errors
lto-wrapper: fatal error: /usr/bin/x86_64-pc-linux-gnu-g++ returned 1 exit status
compilation terminated.
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
```
Comment 1 Arniiiii 2025-01-20 20:43:52 UTC
Created attachment 917186 [details]
emerge --info
Comment 2 Mike Gilbert gentoo-dev 2025-01-28 20:38:20 UTC
Please select the GURU product when reporting bugs for GURU packages.
Comment 3 Reva Denis 2025-03-21 19:07:24 UTC
Maintainer is here. Can the bug be reproduced with >=sys-fs/dwarfs-0.11.0?
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-03-22 04:54:52 UTC
(In reply to Reva Denis from comment #3)
> Maintainer is here. Can the bug be reproduced with >=sys-fs/dwarfs-0.11.0?

Have you tried, using https://wiki.gentoo.org/wiki/LTO#GCC_Systems?