Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
how do you guys handle qtwebengine
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
jpsollie
Guru
Guru


Joined: 17 Aug 2013
Posts: 323

PostPosted: Sun Sep 29, 2024 5:04 am    Post subject: how do you guys handle qtwebengine Reply with quote

I'm fed up ...
every time I perform a emerge --update --deep --newuse --with-bdeps=y @system @world, it fails at the package qtwebengine.
mostly (yes, murphy's law) at the end of this heavy package,
I can then start digging through, experimenting with whatever comes to mind.

every time, i mean since QT 5.10, it was qtwebengine which broke the upgrade process.
I can't imagine being the only one who's afraid of compiling qtwebengine,
so how do you people deal with it when using kde plasma?
_________________
The power of Gentoo optimization (not overclocked): [img]https://www.passmark.com/baselines/V10/images/503714802842.png[/img]
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 9280

PostPosted: Sun Sep 29, 2024 6:25 am    Post subject: Reply with quote

KDE Plasma itself can do without qtwebengine.

If your system lacks resources as determined by your build params, adjust build parameters in make.conf or per-package via package.env. Or increase resources hardware-wise.


Last edited by asturm on Sun Sep 29, 2024 7:01 am; edited 1 time in total
Back to top
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 3426
Location: Canada

PostPosted: Sun Sep 29, 2024 6:51 am    Post subject: Reply with quote

got rid of everything that depends on it and run USE=-webengine
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2435

PostPosted: Sun Sep 29, 2024 7:12 am    Post subject: Reply with quote

Binhost

Binhost x86_64-v3 if your CPU supports it.

/etc/portage/binrepos.conf/gentoobinhost.conf:

[binhost-x86_64]
priority = 9998
#sync-uri = https://ftp.snt.utwente.nl/pub/os/linux/gentoo/releases/amd64/binpackages/23.0/x86-64/
sync-uri = https://ftp.snt.utwente.nl/pub/os/linux/gentoo/releases/amd64/binpackages/23.0/x86-64/

[binhost-x86_64-v3]
priority = 9999
#sync-uri = https://ftp.snt.utwente.nl/pub/os/linux/gentoo/releases/amd64/binpackages/23.0/x86-64-v3/
sync-uri = https://ftp.snt.utwente.nl/pub/os/linux/gentoo/releases/amd64/binpackages/23.0/x86-64-v3/


Here the x86_64-v3 will take precedence and this way if a package is not available in v3 it'll be taken from the base x86_64 binrepo. If it's not available there too, then portage builds it from source.

Then adjust use flags if necessary. I think qtwebengine particularly does not need anything other than default, but nodejs for example needs -inspector. And I hate that crap but firefox:rapid requires it to build. However if you build chromium, it requires nodejs[inspector] which does not satisfy the binary package. However I used to use ungoogled-chromium-bin::pf4public which saved the day.

If you want to use it only for qtwebengine you update i separately with --getbinpkg. There still isn't a way to selectively chose binary packages other than doing it manually, sometimes terminating the source ebuild and then running the --getbinpkg query for that package manually and then starting the update over.

Another option is:

credit goes to pjp:
emerge -1vgKf qtwebengine


This will fetch the binary package from the binhost (-g/--getbinpkg) and then use it locally (-K/--usepkgonly). Still you need to update it separately.

EDIT: I just came up with an idea based on the above: emerge -gFpv <package(s)>. This will only fetch the binary package(s). Then continue the update with --usepkg. It'll use whatever binary packages that are compatible from the cache.

p.s. a related thread where it turned out to be a low memory condition: https://forums.gentoo.org/viewtopic-t-1170988.html Chromium and qtwebengine are notorious for that. Even more after gcc support for building chromium was dropped. Clang seems to have higher memory usage peeks. I've observed that since long long ago.

Best Regards,
Georgi


Last edited by logrusx on Sun Sep 29, 2024 9:44 am; edited 3 times in total
Back to top
View user's profile Send private message
Banana
Moderator
Moderator


Joined: 21 May 2004
Posts: 1739
Location: Germany

PostPosted: Sun Sep 29, 2024 8:17 am    Post subject: Reply with quote

Moved from Desktop Environments to Portage & Programming.
_________________
Forum Guidelines

PFL - Portage file list - find which package a file or command belongs to.
My delta-labs.org snippets do expire
Back to top
View user's profile Send private message
lars_the_bear
Guru
Guru


Joined: 05 Jun 2024
Posts: 522

PostPosted: Sun Sep 29, 2024 8:43 am    Post subject: Reply with quote

I've adjusted the package-specific USE flags so that I can use the binary version. I'm not going to try to compile that monster again on the hardware I have. I'm not sure what the implications are of doing this; but I'm installing qtwebengine at all, because FreeCAD has a dependency on it. I have no idea how (or even if) FreeCAD uses qtwebengine, and I'm not particular bothered whether it works properly.

BR, Lars.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 4669
Location: Germany

PostPosted: Sun Sep 29, 2024 9:27 am    Post subject: Reply with quote

But, what is the real problem?
Can you post the output from "emerge --info" and the error message (the build.log)?

/edit:
As first step you can check
Code:
grep -i Killed /path/to/the/build.log
and check the dmesg output.
Back to top
View user's profile Send private message
jpsollie
Guru
Guru


Joined: 17 Aug 2013
Posts: 323

PostPosted: Sun Sep 29, 2024 3:18 pm    Post subject: Reply with quote

that's exactly my point:
it's always something else: the build system, libraries, the compiler, binutils, ...
every time it crashes, but at every update it finds a new update to crash on.
For 6.7.2 and 6.7.3, the error log simply states:
Code:

[78/106] : && /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/linker_ulimit.sh /usr/lib/distcc/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=znver1 -mtune=znver2 -O3 -pipe  -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs   -Wl,-Bsymbolic-functions -Wl,--no-undefined -Wl,--version-script,/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/api/WebEngineCore.version @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_objects.rsp -Wl,--gc-sections -Wl,--enable-new-dtags -shared -Wl,-soname,libQt6WebEngineCore.so.6 -o lib64/libQt6WebEngineCore.so.6.7.3 src/core/api/CMakeFiles/WebEngineCore.dir/Unity/unity_1_cxx.cxx.o src/core/api/CMakeFiles/WebEngineCore.dir/Unity/unity_0_cxx.cxx.o  -Wl,-rpath,:::::::  -Wl,--start-group @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_archives.rsp -Wl,--end-group  -Wl,--no-fatal-warnings @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_ldir.rsp @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_libs.rsp -Wl,--no-fatal-warnings  /usr/lib64/libxkbcommon.so  /usr/lib64/libQt6Quick.so.6.7.3  /usr/lib64/libQt6OpenGL.so.6.7.3  /usr/lib64/libQt6Gui.so.6.7.3  /usr/lib64/libGLX.so  /usr/lib64/libOpenGL.so  /usr/lib64/libQt6QmlModels.so.6.7.3  /usr/lib64/libQt6WebChannel.so.6.7.3  /usr/lib64/libQt6Qml.so.6.7.3  /usr/lib64/libQt6Network.so.6.7.3  /usr/lib64/libQt6QmlBuiltins.a  /usr/lib64/libQt6Core.so.6.7.3 && :                                                     FAILED: lib64/libQt6WebEngineCore.so.6.7.3                                                                                                                                            : && /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/linker_ulimit.sh /usr/lib/distcc/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=znver1 -mtune=znver2 -O3 -pipe  -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs   -Wl,-Bsymbolic-functions -Wl,--no-undefined -Wl,--version-script,/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/api/WebEngineCore.version @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_objects.rsp -Wl,--gc-sections -Wl,--enable-new-dtags -shared -Wl,-soname,libQt6WebEngineCore.so.6 -o lib64/libQt6WebEngineCore.so.6.7.3 src/core/api/CMakeFiles/WebEngineCore.dir/Unity/unity_1_cxx.cxx.o src/core/api/CMakeFiles/WebEngineCore.dir/Unity/unity_0_cxx.cxx.o  -Wl,-rpath,:::::::  -Wl,--start-group @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_archives.rsp -Wl,--end-group  -Wl,--no-fatal-warnings @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_ldir.rsp @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_libs.rsp -Wl,--no-fatal-warnings  /usr/lib64/libxkbcommon.so  /usr/lib64/libQt6Quick.so.6.7.3  /usr/lib64/libQt6OpenGL.so.6.7.3  /usr/lib64/libQt6Gui.so.6.7.3  /usr/lib64/libGLX.so  /usr/lib64/libOpenGL.so  /usr/lib64/libQt6QmlModels.so.6.7.3  /usr/lib64/libQt6WebChannel.so.6.7.3  /usr/lib64/libQt6Qml.so.6.7.3  /usr/lib64/libQt6Network.so.6.7.3  /usr/lib64/libQt6QmlBuiltins.a  /usr/lib64/libQt6Core.so.6.7.3 && :
ninja: build stopped: subcommand failed.
 * ERROR: dev-qt/qtwebengine-6.7.3::gentoo failed (compile phase):
 *   ninja -v -j70 -l12 failed
 *
 * Call stack:
 *     ebuild.sh, line  136:  Called src_compile
 *   environment, line 3579:  Called cmake_src_compile                                                                                                                                 *   environment, line 1650:  Called cmake_build
 *   environment, line 1617:  Called eninja
 *   environment, line 2099:  Called die
 * The specific snippet of code:
 *       "$@" || die -n "${*} failed"                                                                                                                                                  *
 * If you need support, post the output of `emerge --info '=dev-qt/qtwebengine-6.7.3::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-qt/qtwebengine-6.7.3::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-qt/qtwebengine-6.7.3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-qt/qtwebengine-6.7.3/temp/environment'.                                                                             * Working directory: '/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build'
 * S: '/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3'

so yes, that doesn't say anything
_________________
The power of Gentoo optimization (not overclocked): [img]https://www.passmark.com/baselines/V10/images/503714802842.png[/img]
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2435

PostPosted: Sun Sep 29, 2024 3:28 pm    Post subject: Reply with quote

This is not relevant output. There must be something above. I see it's only 78 of 108 so I guess you could share the whole build.log. Or at least 100 lines above what you've shared.

Best Regards,
Georgi
Back to top
View user's profile Send private message
jpsollie
Guru
Guru


Joined: 17 Aug 2013
Posts: 323

PostPosted: Sun Sep 29, 2024 4:15 pm    Post subject: Reply with quote

logrusx wrote:
This is not relevant output. There must be something above. I see it's only 78 of 108 so I guess you could share the whole build.log. Or at least 100 lines above what you've shared.

Best Regards,
Georgi

You're too optimistic:

Code:

ebuild /var/db/repos/gentoo/dev-qt/qtwebengine/qtwebengine-6.7.3.ebuild compile
>>> Existing ${T}/environment for 'qtwebengine-6.7.3' will be sourced. Run                                                                                                           
>>> 'clean' to start with a fresh environment.
>>> Checking qtwebengine-6.7-patchset-13.tar.xz's mtime...
>>> Checking qtwebengine-everywhere-src-6.7.3.tar.xz's mtime...
>>> WORKDIR is up-to-date, keeping...
 * checking ebuild checksums ;-) ...                                                                                                                                           [ ok ] 
* checking auxfile checksums ;-) ...                                                                                                                                          [ ok ]
 * checking miscfile checksums ;-) ...                                                                                                                                         [ ok ]
 * Checking for at least 8 GiB disk space at "/var/tmp/portage/dev-qt/qtwebengine-6.7.3/temp" ...                                                                              [ ok ]
 * Checking for at least 360 MiB disk space at "/usr" ...                                                                                                                      [ ok ]
>>> It appears that 'setup' has already executed for 'qtwebengine-6.7.3'; skipping.                                                                                                   
>>> Remove '/var/tmp/portage/dev-qt/qtwebengine-6.7.3/.setuped' to force setup.
>>> It appears that 'unpack' has already executed for 'qtwebengine-6.7.3'; skipping.
>>> Remove '/var/tmp/portage/dev-qt/qtwebengine-6.7.3/.unpacked' to force unpack.
>>> It appears that 'prepare' has already executed for 'qtwebengine-6.7.3'; skipping.
>>> Remove '/var/tmp/portage/dev-qt/qtwebengine-6.7.3/.prepared' to force prepare.                                                                                                   
>>> It appears that 'configure' has already executed for 'qtwebengine-6.7.3'; skipping.                                                                                               
>>> Remove '/var/tmp/portage/dev-qt/qtwebengine-6.7.3/.configured' to force configure.                                                                                               
>>> Compiling source in /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3 ...                                                                           
* Source directory (CMAKE_USE_DIR): "/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3"                                                                 
* Build directory  (BUILD_DIR):     "/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build"                                                         
ninja -v -j70 -l12 WebEngineCore_sync_all_public_headers                                                                                                                             
[1/1] cd /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/api && /usr/lib64/qt6/libexec/syncqt @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/api/WebEngineCore_syncqt_all_args                                                                                               
* Source directory (CMAKE_USE_DIR): "/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3"                                                                 
* Build directory  (BUILD_DIR):     "/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build"                                                         
ninja -v -j70 -l12                                                                                                                                                                   
[0/31] cd /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core && /usr/bin/ninja -j70 -l12 -v -C /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64 QtWebEngineCore                                                                                             ninja: Entering directory `/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64'                                      ninja: no work to do.                                                                                                                                                                 
[1/31] cd /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core && /usr/bin/ninja -j70 -l12 -v -C /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64 convert_dict                                                                                               
ninja: Entering directory `/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64'                                     
ninja: no work to do.                                                                                                                                                                 
[3/31] : && /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/linker_ulimit.sh /usr/lib/distcc/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=znver1 -mtune=znver2 -O3 -pipe  -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs   -Wl,-Bsymbolic-functions -Wl,--no-undefined -Wl,--version-script,/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/api/WebEngineCore.version @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_objects.rsp -Wl,--gc-sections -Wl,--enable-new-dtags -shared -Wl,-soname,libQt6WebEngineCore.so.6 -o lib64/libQt6WebEngineCore.so.6.7.3 src/core/api/CMakeFiles/WebEngineCore.dir/Unity/unity_1_cxx.cxx.o src/core/api/CMakeFiles/WebEngineCore.dir/Unity/unity_0_cxx.cxx.o  -Wl,-rpath,:::::::  -Wl,--start-group @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_archives.rsp -Wl,--end-group  -Wl,--no-fatal-warnings @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_ldir.rsp @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_libs.rsp -Wl,--no-fatal-warnings  /usr/lib64/libxkbcommon.so  /usr/lib64/libQt6Quick.so.6.7.3  /usr/lib64/libQt6OpenGL.so.6.7.3  /usr/lib64/libQt6Gui.so.6.7.3  /usr/lib64/libGLX.so  /usr/lib64/libOpenGL.so  /usr/lib64/libQt6QmlModels.so.6.7.3  /usr/lib64/libQt6WebChannel.so.6.7.3  /usr/lib64/libQt6Qml.so.6.7.3  /usr/lib64/libQt6Network.so.6.7.3  /usr/lib64/libQt6QmlBuiltins.a  /usr/lib64/libQt6Core.so.6.7.3 && :                                                       
FAILED: lib64/libQt6WebEngineCore.so.6.7.3                                                                                                                                           
: && /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/linker_ulimit.sh /usr/lib/distcc/bin/x86_64-pc-linux-gnu-g++ -fPIC -march=znver1 -mtune=znver2 -O3 -pipe  -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs   -Wl,-Bsymbolic-functions -Wl,--no-undefined -Wl,--version-script,/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/api/WebEngineCore.version @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_objects.rsp -Wl,--gc-sections -Wl,--enable-new-dtags -shared -Wl,-soname,libQt6WebEngineCore.so.6 -o lib64/libQt6WebEngineCore.so.6.7.3 src/core/api/CMakeFiles/WebEngineCore.dir/Unity/unity_1_cxx.cxx.o src/core/api/CMakeFiles/WebEngineCore.dir/Unity/unity_0_cxx.cxx.o  -Wl,-rpath,:::::::  -Wl,--start-group @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_archives.rsp -Wl,--end-group  -Wl,--no-fatal-warnings @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_ldir.rsp @/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/QtWebEngineCore_libs.rsp -Wl,--no-fatal-warnings  /usr/lib64/libxkbcommon.so  /usr/lib64/libQt6Quick.so.6.7.3  /usr/lib64/libQt6OpenGL.so.6.7.3  /usr/lib64/libQt6Gui.so.6.7.3  /usr/lib64/libGLX.so  /usr/lib64/libOpenGL.so  /usr/lib64/libQt6QmlModels.so.6.7.3  /usr/lib64/libQt6WebChannel.so.6.7.3  /usr/lib64/libQt6Qml.so.6.7.3  /usr/lib64/libQt6Network.so.6.7.3  /usr/lib64/libQt6QmlBuiltins.a  /usr/lib64/libQt6Core.so.6.7.3 && :
ninja: build stopped: subcommand failed.
 * ERROR: dev-qt/qtwebengine-6.7.3::gentoo failed (compile phase):
 *   ninja -v -j70 -l12 failed
 *
 * Call stack:                                                                                                                                                                         
 *     ebuild.sh, line  136:  Called src_compile
 *   environment, line 3579:  Called cmake_src_compile
 *   environment, line 1650:  Called cmake_build
 *   environment, line 1617:  Called eninja
 *   environment, line 2099:  Called die
 * The specific snippet of code:
 *       "$@" || die -n "${*} failed"
 *                                                                                                                                                                                     
* If you need support, post the output of `emerge --info '=dev-qt/qtwebengine-6.7.3::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-qt/qtwebengine-6.7.3::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-qt/qtwebengine-6.7.3/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-qt/qtwebengine-6.7.3/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build'                                                                         
 * S: '/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3'

_________________
The power of Gentoo optimization (not overclocked): [img]https://www.passmark.com/baselines/V10/images/503714802842.png[/img]
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3708
Location: Rasi, Finland

PostPosted: Sun Sep 29, 2024 4:24 pm    Post subject: Reply with quote

Hmm...
Quote:
*snip*:
ninja -v -j70 -l12 failed
Ninja is running 70 concurrent compiler jobs at maximum, but limited if load average goes above 12.00.
There's quite a possibility for ninja to first spawn 70 jobs then eventually settling around 12 if nothing else is straining your system. I always assume each job takes one gig of RAM while compiling big packages. 70 concurrent jobs would surely kill any machines I own.
Maybe check your MAKEOPTS?

EDIT: Just saw you last post. MAKEOPTS may not be the problem here, but does not hurt to check.
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2435

PostPosted: Sun Sep 29, 2024 4:31 pm    Post subject: Reply with quote

Code:
dmesg | grep killed


Best Regards,
Georgi
Back to top
View user's profile Send private message
jpsollie
Guru
Guru


Joined: 17 Aug 2013
Posts: 323

PostPosted: Sun Sep 29, 2024 4:56 pm    Post subject: Reply with quote

logrusx wrote:
Code:
dmesg | grep killed


Best Regards,
Georgi

Code:

janpieter@desktopjp ~ $ dmesg | grep killed
janpieter@desktopjp ~ $

The desktop machine has 64GB of ram for 12 CPUs (and 256GB of swap), but links to a 64 core distcc server, so that's where the -j70 -l12 comes from
*edit* some additional info:
Code:

COMMON_FLAGS="-march=znver1 -mtune=znver2 -O3 -pipe"
#MACHINE_FLAGS="-march=znver1 -mabm -madx -maes -mavx -mavx2 -mbmi -mbmi2 -mclflushopt -mclzero -mcx16 -mf16c -mfma -mfsgsbase -mfxsr -mlzcnt -mmmx -mmovbe -mmwaitx -mpclmul -mpopcnt -mprfchw -mrdrnd -mrdseed -msahf -msha -msse -msse2 -msse3 -msse4.1 -msse4.2 -msse4a -mssse3 -mxsave -mxsavec -mxsaveopt -mxsaves --param=l1-cache-line-size=64 --param=l1-cache-size=32 --param=l2-cache-size=512"
CFLAGS="${COMMON_FLAGS} ${MACHINE_FLAGS}"
CXXFLAGS="${COMMON_FLAGS} ${MACHINE_FLAGS}"
FCFLAGS="${COMMON_FLAGS} ${MACHINE_FLAGS}"                                                                                                                                           
FFLAGS="${COMMON_FLAGS} ${MACHINE_FLAGS}"
# NOTE: This stage was built with the bindist Use flag enabled
PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"                                                                                                                                                           
BINPKG_COMPRESS="lz4"
BINPKG_FORMAT="gpkg"
FEATURES="nostrip -network-sandbox -ebuild-locks -sandbox -ipc-sandbox -pid-sandbox buildpkg distcc" # -userfetch -userpriv"
EMERGE_DEFAULT_OPTS="${EMERGE_DEFAULT_OPTS} --usepkg"
#DISTCC_IO_TIMEOUT=30                                                                                                                                                                 
DISTCC_LOG="/tmp/distcc.log"                                                                                                                                                         
#DISTCC_VERBOSE=1                                                                                                                                                                     
MAKEOPTS="-j70 -l12"                                                                                                                                                                 
#MAKEOPTS="-j12"

... and the tail of distcc log:
Code:

distcc[3967] 11823232 bytes from /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/api/CMakeFiles/WebEngineCore.dir/Unity/unity_0_cxx.cxx compiled on linuxserver in 11.2919s, rate 1023kB/s                                                                                                                                   distcc[3967] compile /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/api/CMakeFiles/WebEngineCore.dir/Unity/unity_0_cxx.cxx on linuxserver/70 completed ok
distcc[3967] elapsed compilation time 11.292266s
distcc[3967] (dcc_exit) exit: code 0; self: 0.004300 user 0.004300 sys; children: 0.607579 user 0.099740 sys
distcc[3973] (dcc_scan_args) called for link?  i give up                                                                                                                             
distcc[3973] exec on localhost: x86_64-pc-linux-gnu-g++ -fPIC -march=znver1 -mtune=znver2 -O3 -pipe -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-Bsymbolic-functions -Wl,--no-undefined -Wl,--version-script,/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/api/WebEngineCore.version /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/accessibility_tree_formatter_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browser_accessibility_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/authentication_dialog_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/autofill_client_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/autofill_popup_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browser_accessibility_manager_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browser_main_parts_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browser_message_filter_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browsing_data_remover_delegate_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/certificate_error_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/chromium_overrides.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/client_cert_select_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/client_hints.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/clipboard_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/color_chooser_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/color_chooser_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/qt_messages.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/compositor.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/content_gpu_client_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/display_overrides.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/display_software_output_surface.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/native_skia_output_device.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/content_browser_client_qt.o /var/tmp/p
distcc[3974] (dcc_execvp) ERROR: failed to exec x86_64-pc-linux-gnu-g++: Argument list too long
distcc[3974] (dcc_exit) exit: code 110; self: 0.000000 user 0.003660 sys; children: 0.000000 user 0.000000 sys                                                                       
distcc[3973] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt                                                                                       
distcc[3973] ERROR: compile (null) on localhost failed with exit code 110                                                                                                             
distcc[3973] elapsed compilation time 0.011420s                                                                                                                                       
distcc[3973] (dcc_exit) exit: code 110; self: 0.014649 user 0.000000 sys; children: 0.000000 user 0.003913 sys                                                                       
distcc[4910] (dcc_scan_args) called for link?  i give up                                                                                                                             
distcc[4910] exec on localhost: x86_64-pc-linux-gnu-g++ -fPIC -march=znver1 -mtune=znver2 -O3 -pipe -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-Bsymbolic-functions -Wl,--no-undefined -Wl,--version-script,/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/api/WebEngineCore.version /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/accessibility_tree_formatter_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browser_accessibility_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/authentication_dialog_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/autofill_client_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/autofill_popup_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browser_accessibility_manager_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browser_main_parts_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browser_message_filter_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browsing_data_remover_delegate_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/certificate_error_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/chromium_overrides.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/client_cert_select_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/client_hints.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/clipboard_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/color_chooser_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/color_chooser_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/qt_messages.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/compositor.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/content_gpu_client_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/display_overrides.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/display_software_output_surface.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/native_skia_output_device.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/content_browser_client_qt.o /var/tmp/p                                                                                                  distcc[4911] (dcc_execvp) ERROR: failed to exec x86_64-pc-linux-gnu-g++: Argument list too long                                                                                       
distcc[4911] (dcc_exit) exit: code 110; self: 0.000000 user 0.003651 sys; children: 0.000000 user 0.000000 sys                                                                       
distcc[4910] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt                                                                                       
distcc[4910] ERROR: compile (null) on localhost failed with exit code 110                                                                                                             
distcc[4910] elapsed compilation time 0.011288s                                                                                                                                       
distcc[4910] (dcc_exit) exit: code 110; self: 0.008630 user 0.005753 sys; children: 0.000000 user 0.003859 sys

_________________
The power of Gentoo optimization (not overclocked): [img]https://www.passmark.com/baselines/V10/images/503714802842.png[/img]


Last edited by jpsollie on Sun Sep 29, 2024 5:14 pm; edited 2 times in total
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2435

PostPosted: Sun Sep 29, 2024 5:08 pm    Post subject: Reply with quote

jpsollie wrote:
distcc server


I'm not very competent to analyze this setup. I hope others will come up with ideas of what might be going on. But what you describe is not normal. Even I didn't have such problems when I run a quad core CPU from 2007 with 6GB RAM.

But I strongly suggest using the binhost for that particular package. I have a 16T CPU with 32GB of RAM and I don't waste time compiling it although it would take 2 to 3 hours max. Compiling those(chromium derived pieces or crap) on whatever hardware is a waste of resource.

Best Regards,
Georgi
Back to top
View user's profile Send private message
pingtoo
Veteran
Veteran


Joined: 10 Sep 2021
Posts: 1250
Location: Richmond Hill, Canada

PostPosted: Sun Sep 29, 2024 5:15 pm    Post subject: Reply with quote

jpsollie wrote:
logrusx wrote:
This is not relevant output. There must be something above. I see it's only 78 of 108 so I guess you could share the whole build.log. Or at least 100 lines above what you've shared.

Best Regards,
Georgi

You're too optimistic:

Code:

ebuild /var/db/repos/gentoo/dev-qt/qtwebengine/qtwebengine-6.7.3.ebuild compile
...
...


You are picking up from an previous failed job.

So why you are using "ebuild" to run? Why not using emerge so we can see from beginning where the error?
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2435

PostPosted: Sun Sep 29, 2024 5:24 pm    Post subject: Reply with quote

pingtoo wrote:
jpsollie wrote:
logrusx wrote:
This is not relevant output. There must be something above. I see it's only 78 of 108 so I guess you could share the whole build.log. Or at least 100 lines above what you've shared.

Best Regards,
Georgi

You're too optimistic:

Code:

ebuild /var/db/repos/gentoo/dev-qt/qtwebengine/qtwebengine-6.7.3.ebuild compile
...
...


You are picking up from an previous failed job.


Exactly what I meant.

pingtoo wrote:
So why you are using "ebuild" to run? Why not using emerge so we can see from beginning where the error?


I hadn't noticed that. Maybe to save time, but this is exactly how not to share error output. That's why the real cause is not visible. Whatever has failed has already failed and now jobs counting on that to do their job fail too.

There may still be low memory condition but this should be checked on the distcc server.

p.s. I'm not sure if the command I posted above greps for the right thing. I haven't had it on this computer and the old one is not functional.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 3708
Location: Rasi, Finland

PostPosted: Sun Sep 29, 2024 9:29 pm    Post subject: Reply with quote

Quote:
Code:
distcc[3974] (dcc_execvp) ERROR: failed to exec x86_64-pc-linux-gnu-g++: Argument list too long
I think this a is bug. Bug in the upstream build process or in distcc.
It's quite rare to reach this limit. I mean, I think it's something like 2 megabytes or more arguments until this error is triggered.
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
eschwartz
Developer
Developer


Joined: 29 Oct 2023
Posts: 228

PostPosted: Mon Sep 30, 2024 3:31 am    Post subject: Reply with quote

Zucca wrote:
Hmm...
Quote:
*snip*:
ninja -v -j70 -l12 failed
Ninja is running 70 concurrent compiler jobs at maximum, but limited if load average goes above 12.00.
There's quite a possibility for ninja to first spawn 70 jobs then eventually settling around 12 if nothing else is straining your system. I always assume each job takes one gig of RAM while compiling big packages. 70 concurrent jobs would surely kill any machines I own.
Maybe check your MAKEOPTS?

EDIT: Just saw you last post. MAKEOPTS may not be the problem here, but does not hurt to check.


In the resumed failure, it failed on job 3 of 31 and attempted no further jobs (it would finish any other pending parallel jobs if they existed and we would see that status).

Given only 3 jobs were relevant, we can conclusively determine the issue wasn't clobbering the system with 70 parallel jobs.



pingtoo wrote:
jpsollie wrote:
logrusx wrote:
This is not relevant output. There must be something above. I see it's only 78 of 108 so I guess you could share the whole build.log. Or at least 100 lines above what you've shared.

Best Regards,
Georgi

You're too optimistic:

Code:

ebuild /var/db/repos/gentoo/dev-qt/qtwebengine/qtwebengine-6.7.3.ebuild compile
...
...


You are picking up from an previous failed job.

So why you are using "ebuild" to run? Why not using emerge so we can see from beginning where the error?


Because the correct thing to do is use "ebuild" to run -- if you don't use "ebuild" to run, you unfortunately start from the beginning, waste a ton of time, and then produce the same log file without useful information.

Conversely, using "ebuild" allows picking up from a previous failed job, which means you only see the parts that failed, which means you only see the errors you want to see.

logrusx wrote:

pingtoo wrote:
So why you are using "ebuild" to run? Why not using emerge so we can see from beginning where the error?


I hadn't noticed that. Maybe to save time, but this is exactly how not to share error output. That's why the real cause is not visible. Whatever has failed has already failed and now jobs counting on that to do their job fail too.

There may still be low memory condition but this should be checked on the distcc server.


And still nope. This is exactly how to share error output the advanced way. Whatever has failed has FAILED and therefore jobs counting on that to do their job ***did not run to begin with***. They did not fail, they simply didn't run. They are in "build graph dependencies not satisfied mode".

Resuming a build will then restart with the last thing that failed, try it again, and show you the CAUSE of the error in the thing that originally failed but without noisy irrelevant surrounding context.

Any build system that fails to show correct error output on resuming a failed build, is a build system that does not work to begin with -- because if other jobs are counting on the first job to succeed, but end up running after the first job FAILED, then the other jobs are broken and don't actually depend on the first job at all.

If they don't depend on the first job, then it's actually up to the RNG to decide whether or not they try to run FIRST, without even attempting to wait until the actual real first job has run. They will then fail because, erm, they were assuming something would run without actually checking to see if that thing ran. :)
Back to top
View user's profile Send private message
eschwartz
Developer
Developer


Joined: 29 Oct 2023
Posts: 228

PostPosted: Mon Sep 30, 2024 3:38 am    Post subject: Reply with quote

jpsollie wrote:

... and the tail of distcc log:
Code:
                                                                                                                             
distcc[4910] exec on localhost: x86_64-pc-linux-gnu-g++ -fPIC -march=znver1 -mtune=znver2 -O3 -pipe -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-Bsymbolic-functions -Wl,--no-undefined -Wl,--version-script,/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/api/WebEngineCore.version /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/accessibility_tree_formatter_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browser_accessibility_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/authentication_dialog_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/autofill_client_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/autofill_popup_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browser_accessibility_manager_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browser_main_parts_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browser_message_filter_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/browsing_data_remover_delegate_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/certificate_error_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/chromium_overrides.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/client_cert_select_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/client_hints.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/clipboard_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/color_chooser_controller.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/color_chooser_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/qt_messages.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/compositor.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/content_gpu_client_qt.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/display_overrides.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/display_software_output_surface.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/native_skia_output_device.o /var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/src/core/RelWithDebInfo/x86_64/obj/QtWebEngineCore/content_browser_client_qt.o /var/tmp/p                                                                                                  distcc[4911] (dcc_execvp) ERROR: failed to exec x86_64-pc-linux-gnu-g++: Argument list too long                                                                                       
distcc[4911] (dcc_exit) exit: code 110; self: 0.000000 user 0.003651 sys; children: 0.000000 user 0.000000 sys                                                                       
distcc[4910] (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt                                                                                       
distcc[4910] ERROR: compile (null) on localhost failed with exit code 110                                                                                                             
distcc[4910] elapsed compilation time 0.011288s                                                                                                                                       
distcc[4910] (dcc_exit) exit: code 110; self: 0.008630 user 0.005753 sys; children: 0.000000 user 0.003859 sys


Hi. The "argument list too long" thing indicates that seemingly distcc itself has failed to distribute jobs to other machines, for whatever reason, and as a result, ninja fails. Ninja is running

Code:
/var/tmp/portage/dev-qt/qtwebengine-6.7.3/work/qtwebengine-everywhere-src-6.7.3_build/linker_ulimit.sh /usr/lib/distcc/bin/x86_64-pc-linux-gnu-g++ .........


and this process produces no output or error message, but simply, silently, fails -- which is a distcc problem.

I will be honest -- I like the idea of distcc but in practice I feel like it does not work very well. :( At least in this case it does seem to be causing problems. I would try temporarily disabling distcc and seeing if that helps.

P.S. I "handle" qtwebengine by installing it from the binhost. I'm a huge binhost shill, as it's the reason I agreed to try out gentoo in the first place and I'm currently one of the binhost project members.
Back to top
View user's profile Send private message
jpsollie
Guru
Guru


Joined: 17 Aug 2013
Posts: 323

PostPosted: Mon Sep 30, 2024 3:46 am    Post subject: Reply with quote

I also thought of distcc this time ...
It's hard: the PC itself is only a ryzen 5 device while the "compiling server" is a 64 core threadripper with no gui.
As a result, I can't compile qtwebengine on the compiiling server (which would obviously be a lot faster),
apparently can't compile distcc,
so then running on localhost would be the only way to fix this. Let's try ...
_________________
The power of Gentoo optimization (not overclocked): [img]https://www.passmark.com/baselines/V10/images/503714802842.png[/img]
Back to top
View user's profile Send private message
jpsollie
Guru
Guru


Joined: 17 Aug 2013
Posts: 323

PostPosted: Mon Sep 30, 2024 3:51 am    Post subject: Reply with quote

eschwartz wrote:
Zucca wrote:
Hmm...
Quote:
*snip*:
ninja -v -j70 -l12 failed
Ninja is running 70 concurrent compiler jobs at maximum, but limited if load average goes above 12.00.
There's quite a possibility for ninja to first spawn 70 jobs then eventually settling around 12 if nothing else is straining your system. I always assume each job takes one gig of RAM while compiling big packages. 70 concurrent jobs would surely kill any machines I own.
Maybe check your MAKEOPTS?

EDIT: Just saw you last post. MAKEOPTS may not be the problem here, but does not hurt to check.


In the resumed failure, it failed on job 3 of 31 and attempted no further jobs (it would finish any other pending parallel jobs if they existed and we would see that status).

Given only 3 jobs were relevant, we can conclusively determine the issue wasn't clobbering the system with 70 parallel jobs.

I saw this as well: even when running on localhost, the load never rises above 25, and the amount of swap used is only 0.5MB. waiting time is 0.0
If it would be a RAM or parallel issue, the load would be a lot higher and / or the swap used would be a lot higher (and I'd possible see some waiting time)
so it's definitely not running 70 compile jobs taking 2GB each at once
eschwartz wrote:


pingtoo wrote:
jpsollie wrote:
logrusx wrote:
This is not relevant output. There must be something above. I see it's only 78 of 108 so I guess you could share the whole build.log. Or at least 100 lines above what you've shared.

Best Regards,
Georgi

You're too optimistic:

Code:

ebuild /var/db/repos/gentoo/dev-qt/qtwebengine/qtwebengine-6.7.3.ebuild compile
...
...


You are picking up from an previous failed job.

So why you are using "ebuild" to run? Why not using emerge so we can see from beginning where the error?


Because the correct thing to do is use "ebuild" to run -- if you don't use "ebuild" to run, you unfortunately start from the beginning, waste a ton of time, and then produce the same log file without useful information.

Conversely, using "ebuild" allows picking up from a previous failed job, which means you only see the parts that failed, which means you only see the errors you want to see.

logrusx wrote:

pingtoo wrote:
So why you are using "ebuild" to run? Why not using emerge so we can see from beginning where the error?


I hadn't noticed that. Maybe to save time, but this is exactly how not to share error output. That's why the real cause is not visible. Whatever has failed has already failed and now jobs counting on that to do their job fail too.

There may still be low memory condition but this should be checked on the distcc server.


And still nope. This is exactly how to share error output the advanced way. Whatever has failed has FAILED and therefore jobs counting on that to do their job ***did not run to begin with***. They did not fail, they simply didn't run. They are in "build graph dependencies not satisfied mode".

Resuming a build will then restart with the last thing that failed, try it again, and show you the CAUSE of the error in the thing that originally failed but without noisy irrelevant surrounding context.

Any build system that fails to show correct error output on resuming a failed build, is a build system that does not work to begin with -- because if other jobs are counting on the first job to succeed, but end up running after the first job FAILED, then the other jobs are broken and don't actually depend on the first job at all.

If they don't depend on the first job, then it's actually up to the RNG to decide whether or not they try to run FIRST, without even attempting to wait until the actual real first job has run. They will then fail because, erm, they were assuming something would run without actually checking to see if that thing ran. :)


thank you for approving my thoughts. Couldn't have explained it better
_________________
The power of Gentoo optimization (not overclocked): [img]https://www.passmark.com/baselines/V10/images/503714802842.png[/img]
Back to top
View user's profile Send private message
eschwartz
Developer
Developer


Joined: 29 Oct 2023
Posts: 228

PostPosted: Mon Sep 30, 2024 4:16 am    Post subject: Reply with quote

jpsollie wrote:

It's hard: the PC itself is only a ryzen 5 device while the "compiling server" is a 64 core threadripper with no gui.
As a result, I can't compile qtwebengine on the compiiling server (which would obviously be a lot faster),
apparently can't compile distcc,
so then running on localhost would be the only way to fix this. Let's try ...


Is it not possible to ssh into the "compiling server" and spawn an emerge job there? If necessary you can even unpack a fresh stage3 tarball, chroot into it, configure it with the same make.conf as you have on your PC, and then use emerge --buildpkg qtwebengine. This is actually more or less what the official binhost does too, except you get to choose exactly what CFLAGS and USE flags you want. Then simply sync (or serve over https) the resulting binaries in /var/cache/binpkgs and load them on the PC.

It's the same thing as distcc except that distcc can shard across multiple servers in tandem, whereas this still assumes you do all compiles on one machine, it's just a different machine.

If the problem is just that distcc is fragile then this will probably work fine. Just make sure you keep track of which binaries are built with which USE flags (and of course the same instructions for effective distcc use -- avoid -march=native and resolve to the actual flags such as -march=znver1 -- apply when using the compiling server to create whole binaries.)
Back to top
View user's profile Send private message
Ionen
Developer
Developer


Joined: 06 Dec 2018
Posts: 2857

PostPosted: Mon Sep 30, 2024 4:17 am    Post subject: Reply with quote

How I handle qtwebengine? Me I just frequently rebuild it before bumping it using the live ebuild in a temporary chroot, often with two different versions (6.7 and 6.8 right now), then build it again after I bumped it for my normal system, and another time on my VM I use for testing DEs.

Edit:
oh, also the llvm-musl chroot while praying it didn't break again, albeit I only do that one for new .0 branches. 6.8.0_rc seems ok, helps that Qt backported the clang19 fixes from upstream chromium.

I don't use distcc, do use ccache but that's mostly useless w/ qtwebengine unless rebuilding the same version (in which case it's amazing though).
Back to top
View user's profile Send private message
jpsollie
Guru
Guru


Joined: 17 Aug 2013
Posts: 323

PostPosted: Mon Sep 30, 2024 5:41 am    Post subject: Reply with quote

eschwartz wrote:

Is it not possible to ssh into the "compiling server" and spawn an emerge job there? If necessary you can even unpack a fresh stage3 tarball, chroot into it, configure it with the same make.conf as you have on your PC, and then use emerge --buildpkg qtwebengine. This is actually more or less what the official binhost does too, except you get to choose exactly what CFLAGS and USE flags you want. Then simply sync (or serve over https) the resulting binaries in /var/cache/binpkgs and load them on the PC.


ok ... but what about dependencies like eq qtcore?

*EDIT* : I assume you meant --builtpkgonly. It would be nice if you can pull everything into a chroot for compiling, otherwise you end up with a lot of use flags for dependencies compile-time dependencies on the no-GUI system you don't want...
_________________
The power of Gentoo optimization (not overclocked): [img]https://www.passmark.com/baselines/V10/images/503714802842.png[/img]
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2435

PostPosted: Mon Sep 30, 2024 7:15 am    Post subject: Reply with quote

jpsollie wrote:

*EDIT* : I assume you meant --builtpkgonly.


man emerge:
       --buildpkg [ y | n ], -b
              Tells emerge to build binary packages for all ebuilds processed in addition to actually merging the packages.  Useful for maintainers or if you administrate multiple  Gentoo  Linux  systems  (build
              once,  emerge  tbz2s or gpkgs everywhere) as well as disaster recovery. The package will be created in the PKGDIR directory (see make.conf(5)).  An alternative for already-merged packages is to use
              quickpkg(1) which creates a tbz2 or gpkg from the live filesystem.
...
       --buildpkgonly, -B
              Creates binary packages for all ebuilds processed without actually merging the packages.  This comes with the caveat that all build-time dependencies must already be emerged on the system.


Buildpkgonly will break because portage needs the packages merged to link against them. Essentially you'll have almost identical copy of your laptop's system in that chroot. I think you could even synchronize it with rsync but it would be easier if you used binary packages.

Also, why are you not able to run emerge or compile distcc on the build server? How did you built it first place? It doesn't require gui. Only ssh.

Best Regards,
Georgi
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum