Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Portage & Programming
  • Search

Distcc somehow no longer works with clang

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
Advanced search
40 posts
  • Previous
  • 1
  • 2
Author
Message
motig
n00b
n00b
Posts: 53
Joined: Tue Oct 11, 2016 2:26 pm

  • Quote

Post by motig » Fri Oct 31, 2025 7:58 pm

@vr13 I'm also using your patch to get chromium to compile, thank you for "maintaining" it. :) I am actually using icecream and the behaviour is the same as distcc, i.e. I have to use this patch lest the build fail.
Top
vr13
n00b
n00b
Posts: 37
Joined: Tue Sep 02, 2008 7:36 am
Location: ru

  • Quote

Post by vr13 » Sat Nov 01, 2025 6:09 am

motig wrote:I am actually using icecream and the behaviour is the same as distcc, i.e. I have to use this patch lest the build fail.
thank you for the info. Will keep staying with distcc then
Top
mortonP
Tux's lil' helper
Tux's lil' helper
Posts: 129
Joined: Tue Dec 22, 2015 9:39 am

  • Quote

Post by mortonP » Sun Nov 09, 2025 6:48 pm

Patch still works with chromium-142.0.7444.134 :-)
Top
mortonP
Tux's lil' helper
Tux's lil' helper
Posts: 129
Joined: Tue Dec 22, 2015 9:39 am

  • Quote

Post by mortonP » Sat Dec 06, 2025 5:54 pm

trying with chromium 143.0.7499.40...

patch seems to still apply -- however doesn't distcc build because of:

worker side:
distccd[4741] (dcc_job_summary) client: 192.168.1.89:36914 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:167ms x86_64-pc-linux-gnu-clang++-20 ../../third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
distccd[4739] (dcc_job_summary) client: 192.168.1.89:36870 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:175ms x86_64-pc-linux-gnu-clang++-20 ../../third_party/abseil-cpp/absl/base/internal/cycleclock.cc
....
istccd[4727] (dcc_job_summary) client: 192.168.1.89:54812 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:625ms x86_64-pc-linux-gnu-clang++-20 ../../third_party/protobuf/src/google/protobuf/any.cc
distccd[4731] (dcc_job_summary) client: 192.168.1.89:54822 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:612ms x86_64-pc-linux-gnu-clang++-20 ../../third_party/protobuf/src/google/protobuf/compiler/importer.cc
distccd[4733] (dcc_job_summary) client: 192.168.1.89:54832 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:704ms x86_64-pc-linux-gnu-clang++-20 ../../third_party/protobuf/src/google/protobuf/compiler/parser.cc
....
distccd[4730] (dcc_job_summary) client: 192.168.1.89:52550 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:201ms x86_64-pc-linux-gnu-clang++-20 ../../net/third_party/quiche/src/quiche/common/vectorized_io_utils.cc
distccd[4740] (dcc_job_summary) client: 192.168.1.89:33300 COMPILE_ERROR exit:1 sig:0 core:0 ret:0 time:464ms x86_64-pc-linux-gnu-clang++-20 ../../net/third_party/quiche/src/quiche/quic/core/http/spdy_utils.cc
...

client side:
x86_64-pc-linux-gnu-clang++-20: error: no such file or directory: '../../tools/ubsan/array_bounds_ignorelist.txt'
x86_64-pc-linux-gnu-clang++-20: error: no such file or directory: '../../tools/ubsan/array_bounds_ignorelist.txt'
x86_64-pc-linux-gnu-clang++-20: error: no such file or directory: '../../tools/ubsan/array_bounds_ignorelist.txt'
x86_64-pc-linux-gnu-clang++-20: error: no such file or directory: '../../tools/ubsan/array_bounds_ignorelist.txt'

...any idea what's going on here with 143?
Top
vr13
n00b
n00b
Posts: 37
Joined: Tue Sep 02, 2008 7:36 am
Location: ru

  • Quote

Post by vr13 » Sun Dec 07, 2025 6:00 am

mortonP wrote:client side:
x86_64-pc-linux-gnu-clang++-20: error: no such file or directory: '../../tools/ubsan/array_bounds_ignorelist.txt'
Try this. One contains previous changes plus your recent finding:

Code: Select all

--- a/build/config/compiler/BUILD.gn    2025-09-13 17:15:05.585891128 +0300
+++ b/build/config/compiler/BUILD.gn    2025-09-13 17:10:57.398681527 +0300

@@ -1707,10 +1707,7 @@
 config("clang_warning_suppression") {
   # Some build configs use older versions of clang that don't support WSMs
   if (use_clang_warning_suppression_file) {
-    from_build_root =
-        rebase_path(clang_warning_suppression_file, root_build_dir)
-    inputs = [ clang_warning_suppression_file ]
-    cflags = [ "--warning-suppression-mappings=" + from_build_root ]
+    cflags = [ "-w" ]
   }
 }
 
@@ -1735,10 +1732,6 @@
       "-fsanitize-trap=array-bounds",
     ]
 
-    if (defined(ubsan_array_bounds_ignorelist_path)) {
-      rebased = rebase_path(ubsan_array_bounds_ignorelist_path, root_build_dir)
-      cflags += [ "-fsanitize-ignorelist=$rebased" ]
-    }
   }
 }

--- a/build/linux/unbundle/openh264.gn  2025-09-09 02:21:33.000000000 +0300
+++ b/build/linux/unbundle/openh264.gn  2025-09-13 17:11:37.951153925 +0300
@@ -6,13 +6,7 @@
 import("//build/shim_headers.gni")
 
 config("encoder_cfi_flags") {
-  cflags = []
-  if (current_toolchain == default_toolchain && is_clang) {
-    openh264_cfi_ignorelist_path =
-        rebase_path("//build/linux/unbundle/openh264_encoder_cfi_ignores.txt",
-                    root_build_dir)
-    cflags += [ "-fsanitize-ignorelist=$openh264_cfi_ignorelist_path" ]
-  }
+  cflags = [ "-w" ]
 }
 
 pkg_config("config") {
thanks
Top
mortonP
Tux's lil' helper
Tux's lil' helper
Posts: 129
Joined: Tue Dec 22, 2015 9:39 am

  • Quote

Post by mortonP » Sun Dec 07, 2025 1:36 pm

Try this.
Went through - from a quick browse I only see "COMPILE_OK exit:0" in /var/log/distccd.log and runtime also feels approximately right.

Thank you for helping keeping my old laptop from being decommissioned! :-)
(and a *grrrrr* to websites that require a Chrome-engine browser to work properly...)
Top
mortonP
Tux's lil' helper
Tux's lil' helper
Posts: 129
Joined: Tue Dec 22, 2015 9:39 am

  • Quote

Post by mortonP » Fri Feb 06, 2026 12:08 am

patch fails with chromium-144.0.7559.109:

Code: Select all

* Applying 02-distcc.patch ...
patching file build/config/compiler/BUILD.gn
Hunk #1 succeeded at 1701 (offset -6 lines).
Hunk #2 FAILED at 1732.
1 out of 2 hunks FAILED -- saving rejects to file build/config/compiler/BUILD.gn.rej
patching file build/linux/unbundle/openh264.gn
[ !! ]
 * ERROR: www-client/chromium-144.0.7559.109::gentoo failed (prepare phase):
...btw, how to bribe someone to add this patch to chromium ebuilds by default?
Top
vr13
n00b
n00b
Posts: 37
Joined: Tue Sep 02, 2008 7:36 am
Location: ru

  • Quote

Post by vr13 » Fri Feb 06, 2026 8:44 am

mortonP wrote:patch fails with chromium-144.0.7559.109:

Code: Select all

--- a/build/config/compiler/BUILD.gn       2026-02-06 09:03:18.496535389 +0300
+++ b/build/config/compiler/BUILD.gn       2026-02-06 09:25:26.124644545 +0300
@@ -1701,10 +1701,7 @@
 config("clang_warning_suppression") {
   # Some build configs use older versions of clang that don't support WSMs
   if (use_clang_warning_suppression_file) {
-    from_build_root =
-        rebase_path(clang_warning_suppression_file, root_build_dir)
-    inputs = [ clang_warning_suppression_file ]
-    cflags = [ "--warning-suppression-mappings=" + from_build_root ]
+    cflags = [ "-w" ]
   }
 }

--- a/build/linux/unbundle/openh264.gn  2025-09-09 02:21:33.000000000 +0300
+++ b/build/linux/unbundle/openh264.gn  2025-09-13 17:11:37.951153925 +0300
@@ -6,13 +6,7 @@
 import("//build/shim_headers.gni")
 
 config("encoder_cfi_flags") {
-  cflags = []
-  if (current_toolchain == default_toolchain && is_clang) {
-    openh264_cfi_ignorelist_path =
-        rebase_path("//build/linux/unbundle/openh264_encoder_cfi_ignores.txt",
-                    root_build_dir)
-    cflags += [ "-fsanitize-ignorelist=$openh264_cfi_ignorelist_path" ]
-  }
+  cflags = [ "-w" ]
 }
 
 pkg_config("config") {
Top
vr13
n00b
n00b
Posts: 37
Joined: Tue Sep 02, 2008 7:36 am
Location: ru

  • Quote

Post by vr13 » Fri Feb 06, 2026 9:08 am

mortonP wrote:...btw, how to bribe someone to add this patch to chromium ebuilds by default?
There are two choices: either file a bug or create a user patch :)

The idea behind that patch is almost trivial:
  • starting from version 137 chromium build system employs functionality to selectively filter clang warning [types/classes whatever]. These are listed in provided .txt files
  • distcc (and sys-devel/icecream -- confirmed by @motig few posts above) does not support that filtering and stumbles on attempt to compile a source with `external file filter rule'
  • I simply excluded all `external file filter rules' from build/config/compiler/BUILD.gn
  • additionally I updated that BUILD.gn template with "-w" to suppress all compiler warnings thus solving additional issue reported here
I guess it should be more efficient way to do that. The issue could be fixed with either improved distcc or just in chromium ebuild patch, I do now know what is better and choose simplest approach (portage user patch, shared here)
Top
mortonP
Tux's lil' helper
Tux's lil' helper
Posts: 129
Joined: Tue Dec 22, 2015 9:39 am

  • Quote

Post by mortonP » Fri Feb 06, 2026 4:45 pm

file a bug
There is already a bug about chromium and distcc https://bugs.gentoo.org/870085 ...which has stopped in 2024.
could be fixed with either improved distcc or just in chromium ebuild patch
Well, a patch carried with chromium would at least be an improvement, before e.g. distcc is improved.

For me, without distcc, chromium is a ~1.5 day compile...
Top
vr13
n00b
n00b
Posts: 37
Joined: Tue Sep 02, 2008 7:36 am
Location: ru

  • Quote

Post by vr13 » Sat Feb 07, 2026 5:00 am

mortonP wrote:
file a bug
There is already a bug about chromium and distcc https://bugs.gentoo.org/870085 ...which has stopped in 2024.
thank you. I did not notice it when started playing with chromium ebuild last summer. Actually the bug is not only about the issue we're talking in here. For me the proposal to have kinda distcc wrapper looks a bit ugly. The problem however was touched

I agree the problem is not so significant and is relevant only to those who still compiles chromium from source and do not want to use binary package (like me :)
For me, without distcc, chromium is a ~1.5 day compile...
just finished with 144 ebuild in 4 hours..
Top
mortonP
Tux's lil' helper
Tux's lil' helper
Posts: 129
Joined: Tue Dec 22, 2015 9:39 am

  • Quote

Post by mortonP » Sat Feb 07, 2026 11:56 pm

just finished with 144 ebuild in 4 hours..
On my old laptop with two distcc workers I get down from ~1.5 days to ~5.5h

On a newer laptop I get now ~1h50m. Guess with wired instead of Wifi this would even be a bit faster.

Again, thank you for the patch!
Top
alexbuell
Guru
Guru
Posts: 503
Joined: Thu Jul 18, 2002 6:49 am
Location: "Hemp"shire, UK
Contact:
Contact alexbuell
Website

  • Quote

Post by alexbuell » Sat Feb 14, 2026 8:00 pm

thanks for this, this has been bugging me for quite a while. I'll give it a go with my upcoming Chromium 144 build.
Cheers,
Alex.

Linux - the best text adventure game ever.
Top
vr13
n00b
n00b
Posts: 37
Joined: Tue Sep 02, 2008 7:36 am
Location: ru

  • Quote

Post by vr13 » Sat Feb 21, 2026 6:37 am

FYI: recent patch also works with chromium 145
Top
vr13
n00b
n00b
Posts: 37
Joined: Tue Sep 02, 2008 7:36 am
Location: ru

  • Quote

Post by vr13 » Sun Mar 15, 2026 4:37 am

seems the patch prepared for 144 build still works with 146. At least overnight build just finished:

Code: Select all

$ qlop -v --date yesterday
...
2026-03-14T23:34:39 >>> www-client/chromium-146.0.7680.80: 4:38:39
Top
Post Reply

40 posts
  • Previous
  • 1
  • 2

Return to “Portage & Programming”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic