Summary: | kde-frameworks/solid-5.23.0 - .../work/solid-5.23.0/src/solid/devices/backends/fstab/fstabhandling.cpp:36:24: fatal error: sys/mnttab.h: No such file or directory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | anonymous <gentoobugs> |
Component: | Current packages | Assignee: | Gentoo KDE team <kde> |
Status: | RESOLVED CANTFIX | ||
Severity: | normal | CC: | cluster |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=594960 https://bugs.gentoo.org/show_bug.cgi?id=636806 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
PUMP MODE cat `find /tmp/distcc* | grep CheckIn` |
Description
anonymous
2016-09-20 14:20:11 UTC
Created attachment 446914 [details]
build.log
Does mnttab.h exist on any of the involved hosts? (In reply to Michael Palimaka (kensington) from comment #2) > Does mnttab.h exist on any of the involved hosts? No, mnttab.h doesn't exist on any of my host. @cluster, any ideas? There's a few of these bugs floating around, in each case failing with distcc-pump in a similar way. In this case, sys/mnttab.h is somehow found during configure, cause build to fail later as the file actually does not exist. Well, I made some research. It's about cmake and include_server(1) from distcc. Every time when CMake check include file (via macro "check_include_files") it generate new .c file with the same name. For example, "/var/tmp/portage/kde-frameworks/kpty-5.23.0/work/kpty-5.23.0_build/CMakeFiles/CMakeTmp/CheckIncludeFiles.c" After that this file compile again and again. And if we use distcc, then this file can be sended to remote host and remote host try to compile it. When we use plain distcc - then all fine, this file sending every time with new content each time. When we use pump mode... caching? I don't know, but look this: First of all I have added to ebuild lines: >src_configure() { > local mycmakeargs=( > '--debug-trycompile' > ) > > kde5_src_configure >} Now CMake don't delete temporary files and I can explore them. Next I add to distccd environment variable DISTCC_SAVE_TEMPS=1, and restart distccd. So, distccd keep all temporary files too. Okay, on master I run: > ebuild /usr/portage/kde-frameworks/kpty/kpty-5.23.0.ebuild digest clean configure On slave I run: cat `find /tmp/distcc* | grep CheckIn` Look output in attached file: all files are identical! So, all compilation result OK, and CMake think that header is found. Created attachment 447668 [details]
PUMP MODE cat `find /tmp/distcc* | grep CheckIn`
So, look, please, to "man 1 include_server" about changed source files during compilation. I don't know proper workaround for Gentoo :( (In reply to Chaser from comment #5) > When we use plain distcc - then all fine, this file sending every time with > new content each time. Sorry, then this file preprocessing locally every time, and only object-files sending to remote host. |