Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 814560 - www-client/chromium does not compile with gcc version >= 10
Summary: www-client/chromium does not compile with gcc version >= 10
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-09-24 11:37 UTC by Helmut Jarausch
Modified: 2021-09-24 17:36 UTC (History)
1 user (show)

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


Attachments
emerge --info (chromium.info,22.43 KB, text/plain)
2021-09-24 13:51 UTC, Helmut Jarausch
Details
build log xz-compressed (chromium-95.0.4638.17.build.xz,24.92 KB, application/octet-stream)
2021-09-24 16:36 UTC, Helmut Jarausch
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Helmut Jarausch 2021-09-24 11:37:16 UTC
www-client/chromium-95.* fails to compile with gcc versions
10.3.1_pre9999 11.2.1_pre9999 and 12.0.0_pre9999


x86_64-pc-linux-gnu-g++ -MMD -MF obj/v8/v8_base_without_compiler/mark-compact.o.d 
-DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 
-DUSE_X11=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE 
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND 
-DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 
-DENABLE_MINOR_MC -DV8_INTL_SUPPORT -DV8_USE_EXTERNAL_STARTUP_DATA 
-DV8_ATOMIC_OBJECT_FIELD_WRITES -DV8_ATOMIC_MARKING_STATE 
-DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_SHARED_RO_HEAP 
-DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH 
-DV8_SNAPSHOT_COMPRESSION -DV8_SHORT_BUILTIN_CALLS -DV8_ENABLE_WEBASSEMBLY 
-DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS 
-DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE 
-DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_DEPRECATION_WARNINGS -DCPPGC_CAGED_HEAP 
-DV8_TARGET_ARCH_X64 -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DV8_RUNTIME_CALL_STATS 
-DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE 
-DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_DEPRECATION_WARNINGS -DCPPGC_CAGED_HEAP 
-DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE 
-DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_DEPRECATION_WARNINGS -DCPPGC_CAGED_HEAP 
-DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE 
-DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_DEPRECATION_WARNINGS -DCPPGC_CAGED_HEAP 
-DUSING_SYSTEM_ICU=1 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC -DU_IMPORT=U_EXPORT 
-DUSE_SYSTEM_ZLIB=1 -I../.. -Igen -I../../v8 -I../../v8/include -Igen/v8 
-Igen/v8/include -Igen/shim_headers/icui18n_shim -Igen/shim_headers/icuuc_shim 
-Igen/shim_headers/zlib_shim -Igen/v8/include -I../../v8/include -I../../v8/include 
-Igen/v8/include -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 
-fstack-protector -funwind-tables -fPIC -pipe -pthread -Wno-builtin-macro-redefined 
-D__DATE__= -D__TIME__= -D__TIMESTAMP__= -Wno-unused-local-typedefs 
-Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments 
-Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter 
-fno-omit-frame-pointer -fvisibility=hidden -Wno-strict-overflow -Wno-return-type 
-Wno-int-in-bool-context -std=gnu++14 -Wno-narrowing -Wno-class-memaccess 
-fno-exceptions -fno-rtti -fvisibility-inlines-hidden -Wno-return-type -c 
../../v8/src/heap/mark-compact.cc -o obj/v8/v8_base_without_compiler/mark-compact.o
In file included from ../../v8/src/heap/mark-compact-inl.h:15,
                 from ../../v8/src/heap/incremental-marking-inl.h:11,
                 from ../../v8/src/heap/mark-compact.cc:23:
../../v8/src/heap/objects-visiting-inl.h:  In member function 
'void v8::internal::HeapVisitor<ResultType, ConcreteVisitor>::VisitMapPointer(v8::internal::HeapObject)
 [with ResultType = int; ConcreteVisitor = v8::internal::YoungGenerationMarkingVisitor]':
../../v8/src/heap/objects-visiting-inl.h:78:6: 
error: inlining failed in call to 'always_inline' 
'void v8::internal::HeapVisitor<ResultType, ConcreteVisitor>::VisitMapPointer(v8::internal::HeapObject)
[with ResultType = int; ConcreteVisitor = v8::internal::YoungGenerationMarkingVisitor]':
recursive inlining

   78 | void HeapVisitor<ResultType, ConcreteVisitor>::VisitMapPointer(
      |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../v8/src/heap/objects-visiting-inl.h:82:55: note: called from here
   82 |   static_cast<ConcreteVisitor*>(this)->VisitMapPointer(host);
Comment 1 Stephan Hartmann (RETIRED) gentoo-dev 2021-09-24 12:01:08 UTC
emerge --info please. AFAICS you have disabled all optimizations?
Comment 2 Helmut Jarausch 2021-09-24 13:51:40 UTC
Created attachment 741006 [details]
emerge --info
Comment 3 Stephan Hartmann (RETIRED) gentoo-dev 2021-09-24 15:13:28 UTC
(In reply to Helmut Jarausch from comment #2)
> Created attachment 741006 [details]
> emerge --info

Thanks. I forgot to ask for the full build.log as well. Something clears your CXXFLAGS completely. That's why all optimizations are off and inlining fails.
Comment 4 Helmut Jarausch 2021-09-24 16:36:40 UTC
Created attachment 741123 [details]
build log  xz-compressed
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-09-24 17:34:33 UTC
(In reply to Helmut Jarausch from comment #2)
> Created attachment 741006 [details]
> emerge --info

1. You're using 9999 GCCs which is already *not ideal* at all and pretty unsupported.

2. You don't seem to be depcleaning and at the least are not using the latest ~arch binutils.

3. It's pretty useful to try with -O2 and such ("vanilla CFLAGS") before filing bugs, where you can, but I understand Chromium is a pain to recompile.

4. Your emerge --info says:

>www-client/chromium-95.0.4638.17::gentoo was built with the following:
>[...]
>CFLAGS="-march=native -pipe -O2"
>CXXFLAGS="-Wno-return-type"

This seems like you've got some package.env or something you're not showing us.

5. the cfg-update stuff in the log implies you've got a bashrc which is worth sharing too.