View previous topic :: View next topic |
Author |
Message |
Ralphred Guru
Joined: 31 Dec 2013 Posts: 517
|
Posted: Fri Oct 19, 2018 12:37 am Post subject: Growing list of packages failing with distcc |
|
|
Recently the size of my package.env/nodistcc has been growing, without new packages being added to world, but just through updates.
It's got to the point that the most recent plasma/qt updates from 5.12/5.9 to 5.13/5.11 (~70 package updates) added 6 new atoms to the list (6 may not sound like a lot, but a 15% increase is a lot)
.
Most additions arise from somefile.h not found errors (oddly, mostly after demotion to plain mode too), and some are well known to not play well with distcc anyway.
So, the question is, is my list* below reasonable, or should I start posting config files and see where the root cause is?
Code: | app-admin/conky nodistcc
app-arch/snappy nodistcc
dev-db/mariadb nodistcc
dev-db/mysql-connector-c nodistcc
dev-db/mysql-connector nodistcc
dev-db/mysql nodistcc
dev-games/openscenegraph nodistcc
dev-games/simgear nodistcc
dev-lang/rust nodistcc
dev-python/numpy nodistcc
dev-util/cargo nodistcc
games-simulation/flightgear nodistcc
kde-apps/k3b nodistcc
kde-apps/kio-extras nodistcc
kde-apps/libkcompactdisc nodistcc
kde-apps/okular nodistcc
kde-frameworks/kcoreaddons nodistcc
kde-frameworks/kdelibs4support nodistcc
kde-frameworks/kio nodistcc
kde-frameworks/kjs nodistcc
kde-frameworks/kpty nodistcc
kde-frameworks/solid nodistcc
kde-plasma/kde-cli-tools nodistcc
kde-plasma/kscreenlocker nodistcc
kde-plasma/kwin nodistcc
kde-plasma/polkit-kde-agent nodistcc
media-gfx/exiv2 nodistcc
media-gfx/graphviz nodistcc
media-libs/libvpx nodistcc
media-libs/opencv nodistcc
media-tv/mythtv nodistcc
media-video/ffmpeg nodistcc
net-fs/samba nodistcc
net-libs/libssh nodistcc
net-misc/freerdp nodistcc
sys-devel/llvm nodistcc
sys-libs/ldb nodistcc
sys-libs/talloc nodistcc
sys-libs/tdb nodistcc
sys-libs/tevent nodistcc
www-client/firefox nodistcc
|
*disclamier, this list is automatically re-generated/consolidated by a cron job, pulling the package.env/nodistcc for all machines in the distcc hosts file, re:update one > update all. |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9713 Location: almost Mile High in the USA
|
Posted: Sat Oct 20, 2018 11:56 pm Post subject: |
|
|
numpy, mysql and ffmpeg have been behaving for me and I don't recall distcc sourced failures. For me, I believe mythtv, and even llvm and rust also builds properly as well if I remember correctly.
cargo and a lot of rust do not work very well under distcc because they run...rust. Of course, since there is no distrust...
I agree with samba and firefox (which also runs rust) having problems with distcc. I don't run kde, so I don't know what it's like on that side. I do recall having problems with talloc as well. _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
Ralphred Guru
Joined: 31 Dec 2013 Posts: 517
|
Posted: Mon Nov 05, 2018 9:39 pm Post subject: |
|
|
The talloc tdb and tevent entries are very recent, they used to work fine.
It's getting to the point that unless you nurse -uDNav updates, it actually takes longer than just letting them compile on a 2 core xeon at 2GHz.
I'm tempted to open a bug on some rust/clang developers git, but my trollgame is not that strong, yet.
I'm also on the verge of setting up /etc/portage/package.env/ as a git repo just to keep this nonsense in check.
I should probably report failures upstream more, but it seems kinda petty when a line in package.env/nodistcc fixes it. |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9713 Location: almost Mile High in the USA
|
Posted: Mon Nov 05, 2018 11:50 pm Post subject: |
|
|
Samba has been on my angry list for quite a while, luckily not all my machines has samba installed. Talloc has also been on and off my angry list for a while now too, never consistently failing, but now it fails consistently.
I'm not sure if talloc, tdb, ldb, and tevent had a recent change but as they appear to likewise waf now, so I'm not surprised (I should write that I'm not surprised these four use waf, since they are related to the samba project).
BTW - are these with distcc or distcc-pump? _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
Ralphred Guru
Joined: 31 Dec 2013 Posts: 517
|
Posted: Tue Nov 06, 2018 5:09 pm Post subject: |
|
|
eccerr0r wrote: | BTW - are these with distcc or distcc-pump? |
Yeah, sorry, always distcc-pump.
They nearly always fail finding a header, I can't help but think if all 4 machines had the same package sets/flags, the last one of the 4 wouldn't fail, but maybe my understanding of how it all works is off... |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9713 Location: almost Mile High in the USA
|
Posted: Tue Nov 06, 2018 5:58 pm Post subject: |
|
|
Okay, no problems, just curious, as I've had strange problems with pump mode too, and want to make sure everyone's experiences are one way or the other, or at least indicate so... One of the main reasons I've had so many problems is the diverse computing environment as each machine of mine has a specific purpose instead of being generic - which kills pump mode apparently. _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
yuyuyak n00b
Joined: 23 Nov 2012 Posts: 55 Location: United States
|
Posted: Mon Nov 12, 2018 9:32 pm Post subject: |
|
|
I too have a growing list on several machines and architectures here of packages failing with distcc. I've been using distcc for > 5 years, never anything like this before. About a month or so ago most machines fail building the kernel and make oldconfig fails too unless I remove /usr/lib/distcc/bin from the path. Interestingly we have a skylake laptop here and it seems totally immune, distcc working normally for it. Also an armv7a device which doesn't have any problem. All of the core2 machines do though.
I have always found it amazing that samba, in my experience, has never compiled with distcc, aren't the samba devs the same ones who support distcc? As mentioned above now all the samba "friends" can't use distcc either.
For clarity I should mention I'm using Funtoo with gcc-7.3.1-r5. I wonder if the problem is with gcc or rather distcc + gcc > 7. A couple of days ago I updated gcc to r5 from the r3 version, the problem is worse. The r5 version uses -fPIE, one failure I saw yesterday complained about recompiling with -fPIC.
I don't have a clue, just tossing it out there. Oh, and I am using pump mostly. |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Tue Nov 13, 2018 2:04 pm Post subject: |
|
|
yuyuyak wrote: | I have always found it amazing that samba, in my experience, has never compiled with distcc, aren't the samba devs the same ones who support distcc? As mentioned above now all the samba "friends" can't use distcc either. |
distcc is samba team
distcc-pump is google team |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9713 Location: almost Mile High in the USA
|
Posted: Tue Nov 13, 2018 6:31 pm Post subject: |
|
|
In this case, it almost seems there's a portage bug in using distcc ... doesn't make sense why waf should break with portage/distcc...
Time to investigate... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
artbx n00b
Joined: 13 Nov 2018 Posts: 6 Location: Poland
|
Posted: Tue Nov 13, 2018 9:17 pm Post subject: |
|
|
Strange a bit that they fails for you, because i use clang on arm64 with distcc and distcc server with intel core i7
and most except few paackages im able to compile using distcc
for example thise build without problems
kde-plasma/kde-cli-tools
kde-plasma/kscreenlocker
kde-plasma/kwin
on arm64 cortex-a72
Code: |
CC=clang
CXX=clang++
CHOST="aarch64-unknown-linux-gnu"
CFLAGS="--target=aarch64-unknown-linux-gnu -O3 -pipe -march=armv8-a+crc+simd+crypto -mcpu=cortex-a53+crc+simd+crypto"
CXXFLAGS="$CFLAGS"
MAKEOPTS="-j21 -l6"
FEATURES="splitdebug distcc"
|
and thats all, with clang it is much easier than with gcc, as clang is by design cross compiler.
all you need to do is to supply --target= and have such target enabled druing llvm build on distcc server |
|
Back to top |
|
|
yuyuyak n00b
Joined: 23 Nov 2012 Posts: 55 Location: United States
|
Posted: Tue Nov 13, 2018 10:03 pm Post subject: |
|
|
In my case it turned out to be the Skylake machine was the culprit (the one that wasn't failing ). The fastest, so of course it's the 1st entry in /etc/distcc/hosts on all the machines. The gcc on that machine was emerged without the pie use flag. All the others had pie. I apologize for the sidetrack. |
|
Back to top |
|
|
Maitreya Guru
Joined: 11 Jan 2006 Posts: 441
|
Posted: Tue Nov 13, 2018 10:30 pm Post subject: |
|
|
yuyuyak wrote: | In my case it turned out to be the Skylake machine was the culprit (the one that wasn't failing ). The fastest, so of course it's the 1st entry in /etc/distcc/hosts on all the machines. The gcc on that machine was emerged without the pie use flag. All the others had pie. I apologize for the sidetrack. |
Not necessarily a sidetrack, I'd go as far as calling that "useful input"
Ditcc is a tricky beast when it works. Let alone when it doesn't
Would there be much of animo to have a separate nodistcc-overlay? basically gather user input of non-distcc working packages? |
|
Back to top |
|
|
artbx n00b
Joined: 13 Nov 2018 Posts: 6 Location: Poland
|
Posted: Tue Nov 13, 2018 10:32 pm Post subject: |
|
|
May I ask You how with package env You disable distcc ?
The nodistcc in env ...
When i put FEATURES there without distcc it is ignored and global FETURES are used .. |
|
Back to top |
|
|
yuyuyak n00b
Joined: 23 Nov 2012 Posts: 55 Location: United States
|
Posted: Wed Nov 14, 2018 1:17 am Post subject: |
|
|
I have:
Code: | # cat /etc/portage/env/nodistcc.conf
MAKEOPTS="-j3" FEATURES="${FEATURES} -distcc -distcc-pump ccache" |
then:
Code: | # grep nodistcc.conf /etc/portage/package.env/package.env
sys-libs/talloc nodistcc.conf makeopts1.conf
sys-libs/tdb nodistcc.conf
sys-libs/ldb nodistcc.conf
sys-libs/tevent nodistcc.conf makeopts1.conf
net-fs/samba nodistcc.conf
...(more) |
Last edited by yuyuyak on Wed Nov 14, 2018 1:38 am; edited 1 time in total |
|
Back to top |
|
|
yuyuyak n00b
Joined: 23 Nov 2012 Posts: 55 Location: United States
|
Posted: Wed Nov 14, 2018 1:33 am Post subject: |
|
|
@Maitreya:
A list of non-working packages will never work because sometimes it will work on one machine and not another, sometimes a package that used to work now doesn't and vice-versa, etc.
There is only one constant I would point out (and maybe it's just me):
Code: | # head -2 /etc/portage/package.env/package.env
dev-libs/boost nodistcc.conf makeopts1.conf #yeah, else nothing can find libunistring, you'll pull out your hair!
dev-libs/libunistring nodistcc.conf makeopts1.conf #ditto the comment on dev-libs/boost |
It took me a long time to find that, both compile with distcc just fine, but later other packages complain about a missing libunistring, there is no clue as to why. |
|
Back to top |
|
|
Maitreya Guru
Joined: 11 Jan 2006 Posts: 441
|
Posted: Wed Nov 14, 2018 11:13 am Post subject: |
|
|
yuyuyak wrote: | @Maitreya:
A list of non-working packages will never work because sometimes it will work on one machine and not another, sometimes a package that used to work now doesn't and vice-versa, etc.
There is only one constant I would point out (and maybe it's just me):
Code: | # head -2 /etc/portage/package.env/package.env
dev-libs/boost nodistcc.conf makeopts1.conf #yeah, else nothing can find libunistring, you'll pull out your hair!
dev-libs/libunistring nodistcc.conf makeopts1.conf #ditto the comment on dev-libs/boost |
It took me a long time to find that, both compile with distcc just fine, but later other packages complain about a missing libunistring, there is no clue as to why. |
The main purpose of that repo would be "prevent as much trouble" as opposed to "make as much packages compile with distcc" |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9713 Location: almost Mile High in the USA
|
Posted: Mon Nov 19, 2018 4:46 pm Post subject: |
|
|
I was able to remove nodistcc from firefox. If I redo the LANG environment variable in the helper distccd machines, firefox now builds (of course the rust components cannot be distributed and are not affected by the new ability to distribute the C/C++ portions of firefox.)
qlop -g firefox results: (Core-i7 as builder, Core2Quad as helper)
Before:
firefox: Thu Nov 1 15:33:48 2018: 2648 seconds
After:
firefox: Mon Nov 19 02:03:06 2018: 1503 seconds
I also verified that my VM x86 box now is able to compile firefox with FEATURES=distcc where it had been failing before the hack.
==========
WORKAROUND CHEAT SHEET (Note this ONLY helps firefox and likely thunderbird, USE AT YOUR OWN RISK - MAY BREAK OTHER PACKAGES, though so far it looks okay for me - no other packages get broken!):
For systemd distccd boxes:
edit /etc/systemd/system/distccd.service.d/00gentoo.conf
add
Code: | Environment="LANG=C" |
to the [Service] section. Then
# systemctl daemon-reload; systemctl restart distccd
For OpenRC distccd boxes:
edit /etc/conf.d/distccd
add
to the end of the file, then
# /etc/init.d/distccd restart _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
Ralphred Guru
Joined: 31 Dec 2013 Posts: 517
|
Posted: Fri Jan 18, 2019 2:19 am Post subject: |
|
|
At the risk of thread necromancy*, WTF guys, tar and wget get added to the list of programs that fail to pass the ./configure stage with distcc enabled?
Now, whilst experience has taught me that the first thing to do when encountering failures like this is to "nodistcc" them, and just except the consequences when it works, really, two programs so entwined in the usability of Linux as a whole, two programs that I would consider part of "@system" for even the most frugal of installs failing in this way?
As much as I am disinclined to engage in hyperbole etc. how long is it before we start using compatibility white lists for distcc instead of incompatibility blacklists?
As always, if my conclusions and therefore config files are unique, please let me know how so....
*IMHO a thread such as this has no redundant information, just growth in the face of a new environment, so again if you disagree post how/why. |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9713 Location: almost Mile High in the USA
|
Posted: Sun Sep 22, 2019 6:26 pm Post subject: |
|
|
Don't care either.
But something's really wrong... thought wget and tar distcc file last time I checked.
However I found that dev-qt/qtmultimedia-5.12.3 fails distcc as well, this one does not pass the architecture to the remote workers during configure too ... The result of a mixed distcc environment of amd64 and x86 machines, and my big iron machines building both... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9713 Location: almost Mile High in the USA
|
Posted: Mon Jun 14, 2021 1:55 am Post subject: |
|
|
More thread necromancy:
My nodistcc list has shrunk ... to nothing once more! Samba distcc's just fine once more.
Seems that either things cleaned up or the Gentoo devs cleaned up a lot of the potential distcc issues. So those disabling distcc, try it once more... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
Massimo B. Veteran
Joined: 09 Feb 2005 Posts: 1776 Location: PB, Germany
|
Posted: Thu Jan 20, 2022 10:26 am Post subject: |
|
|
If there are still failing packages with distcc or distcc-pump, please report at least to https://wiki.gentoo.org/wiki/Talk:Distcc
I once again started with distcc, followed the wiki. Is pump mode still discouraged to use? _________________ HP ZBook Power 15.6" G8 i7-11800H|HP EliteDesk 800G1 i7-4790|HP Compaq Pro 6300 i7-3770 |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9713 Location: almost Mile High in the USA
|
Posted: Fri Mar 25, 2022 5:19 pm Post subject: |
|
|
For the longest while, samba was distcc'ing fine for me... However it started failing again.
Had to stop distcc on ldb, sometimes tevent, and samba itself. Seems it's very non-deterministic or depends on some secret condition... _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
Phoenix591 Guru
Joined: 17 Sep 2007 Posts: 488
|
Posted: Sat Mar 26, 2022 10:29 am Post subject: |
|
|
samba has been working fine for me with distcc. Currently at 4.15.5-r1 for me. with USE: acl, client, pam, python 3.9, regedit, and system-mitkrb5 and systemd.
I'm even cross-distccing from my amd64 desktop to my arm/arm64 ( just switched it back to an arm64 install yesterday).
I'm not using pump mode, but just lzo to compress things |
|
Back to top |
|
|
eccerr0r Watchman
Joined: 01 Jul 2004 Posts: 9713 Location: almost Mile High in the USA
|
Posted: Sat Mar 26, 2022 3:35 pm Post subject: |
|
|
Yes, seems something nondeterministic, sometimes it works - and sometimes it doesn't, depending on environment... just don't know what in the environment that causes something to go out of order... sigh. My x86 was using amd64 helpers in this case, but had some other amd64 helping amd64 fail too. _________________ Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching? |
|
Back to top |
|
|
logrusx Veteran
Joined: 22 Feb 2018 Posts: 1743
|
Posted: Sat Mar 26, 2022 4:15 pm Post subject: |
|
|
Pump mode is not recommended, if you're still using it, try without it.
Regards,
Georgi |
|
Back to top |
|
|
|