You are not logged in.

#1 2016-05-14 16:38:10

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

cmake based packages fail if distcc enabled

Compiling a cmake based package fails with weird errors like

In file included from /usr/include/c++/6.1.1/bits/stl_algo.h:59:0,
                 from /usr/include/c++/6.1.1/algorithm:62,
                 from /usr/include/qt/QtCore/qglobal.h:85,
                 from /usr/include/qt/QtCore/qchar.h:37,
                 from /usr/include/qt/QtCore/qstring.h:41,
                 from /usr/include/qt/QtCore/QString:1,
                 from base/logger.h:4,
                 from base/logger.cpp:1:
/usr/include/c++/6.1.1/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
 #include_next <stdlib.h>
                         ^
compilation terminated.

or

/usr/include/c++/6.1.1/bits/basic_string.h:882:15: error: ‘noexcept’ does not name a type
       clear() _GLIBCXX_NOEXCEPT
               ^~~~~~~~
/usr/include/c++/6.1.1/bits/basic_string.h:882:15: note: C++11 ‘noexcept’ only available with -std=c++11 or -std=gnu++11

or

In file included from /usr/include/wx-3.0/wx/defs.h:689:0,
                 from /usr/include/wx-3.0/wx/string.h:24,
                 from ../../common/include/Utilities/Dependencies.h:182,
                 from ../../pcsx2/PrecompiledHeader.h:25,
                 from ../../pcsx2/gui/AppConfig.cpp:16:
/usr/lib/gcc/x86_64-pc-linux-gnu/6.1.1/include/stddef.h:436:27: error: typedef ‘decltype’ is initialized (use decltype instead)
   typedef decltype(nullptr) nullptr_t;
                           ^

So far I had this with pcsx2-git and qbittorrent-git.

- No tasks appear in distccmon-gnome for the entire time until failure.
- Disabling distcc in makepkg.conf solves the issue.
- All slaves have the same compiler as master.
- Other, non-cmake based packages like the linux kernel compiles just fine with distcc enabled.

Any idea what is wrong here?


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

#2 2016-05-14 17:02:16

mis
Member
Registered: 2016-03-16
Posts: 234

Re: cmake based packages fail if distcc enabled

Soukyuu wrote:
/usr/include/c++/6.1.1/bits/basic_string.h:882:15: error: ‘noexcept’ does not name a type
       clear() _GLIBCXX_NOEXCEPT
               ^~~~~~~~
/usr/include/c++/6.1.1/bits/basic_string.h:882:15: note: C++11 ‘noexcept’ only available with -std=c++11 or -std=gnu++11

Looks like it doesn't use gcc-6 (which defaults to gnu++14). You shouldn't get these warning if gcc6 where used, I think.
I'm not familiar with distcc..

Last edited by mis (2016-05-14 17:03:37)

Offline

#3 2016-05-14 18:32:51

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: cmake based packages fail if distcc enabled

Well, there aren't any other gcc to use, I only have gcc-multilib installed.


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

#4 2016-05-15 01:58:43

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: cmake based packages fail if distcc enabled

qbittorrent-git doesn't use cmake, it uses qmake.

And the problem has nothing to do with distcc, it is qmake + gcc6.

See HERE

EDIT: Fixed link yikes

Last edited by eschwartz (2016-05-15 02:26:00)


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#5 2016-05-15 02:10:25

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,532
Website

Re: cmake based packages fail if distcc enabled

You seem to have a copy-paste insert in your link, I think you mean this thread:
https://lists.fedoraproject.org/archive … V3WZYOOTT/


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#6 2016-05-15 09:32:48

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: cmake based packages fail if distcc enabled

Ah, sorry. Of course  qbittorrent would use qmake. The errors just looked too similar to what I'm having with pcsx2 (and the console output looks similar, too) so I mislead myself.
The linked thread is talking about fixes to packages, so is this something qbittorrent has to fix, or is the fix only a workaround until qmake is fixed?

distcc is supposed to decide which compiler to use when it's invoked, could it be it's invoking the c compiler instead of the c++ one by mistake?

Last edited by Soukyuu (2016-05-15 09:37:29)


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

#7 2016-05-17 15:43:07

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: cmake based packages fail if distcc enabled

Speaking of which, I pushed a workaround for qbittorrent-git.

Spoiler: it is a workaround for qmake, not qbittorrent.


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#8 2016-05-17 16:24:34

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: cmake based packages fail if distcc enabled

Yeah, now the only issue is that it prefers to rape itself with 8 jobs locally instead of offloading the 5 jobs via distcc to my buildserver... there is no activity on distccmon. Is qmake not using distcc at all?


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

#9 2016-05-17 16:32:27

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: cmake based packages fail if distcc enabled

Soukyuu wrote:

Is qmake not using distcc at all?

Since qmake simply generates makefiles which call the `gcc` binary and enabling distcc in your makepkg.conf prepends /usr/lib/distcc/bin/ to your PATH, I am thinking that is not the problem...


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#10 2016-05-17 16:59:12

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: cmake based packages fail if distcc enabled

All I know is that compiling the kernel shows up in distccmon-gnome, but compiling qbittorrent does not - same for pcsx2 actually.

edit: and just to make sure, there are 8 cc1plus processes running on the master, no CPU usage of any of distcc instances on the slave.

Last edited by Soukyuu (2016-05-17 17:02:53)


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

Board footer

Powered by FluxBB