x86_64-pc-linux-gnu-g++ -pipe -march=native -fno-diagnostics-color -O2 -D_GLIBCXX_ASSERTIONS -std=c++20 -pthread -D_FORTIFY_SOURCE=2 -D_GLIBCXX_ASSERTIONS -fexceptions -fstack-clash-protection -fcf-protection -fstack-protector -Wall -Wextra -pedantic -Iinclude -Isrc -MMD -c -o obj/btop_draw.o src/btop_draw.cpp Compiling src/linux/btop_collect.cpp x86_64-pc-linux-gnu-g++ -pipe -march=native -fno-diagnostics-color -O2 -D_GLIBCXX_ASSERTIONS -std=c++20 -pthread -D_FORTIFY_SOURCE=2 -D_GLIBCXX_ASSERTIONS -fexceptions -fstack-clash-protection -fcf-protection -fstack-protector -Wall -Wextra -pedantic -Iinclude -Isrc -MMD -c -o obj/linux/btop_collect.o src/linux/btop_collect.cpp Assembler messages: Fatal error: can't create obj/btop_menu.o: No such file or directory Assembler messages: Fatal error: can't create obj/btop_draw.o: No such file or directory ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_hardened-j4-20221201-120008 ------------------------------------------------------------------- GNUMAKEFLAGS="$GNUMAKEFLAGS --shuffle" gcc-config -l: [1] x86_64-pc-linux-gnu-12 * clang/llvm (if any): /usr/lib/llvm/15 15.0.6 Python 3.10.8 Available Ruby profiles: [1] ruby31 * php cli (if any): HEAD of ::gentoo commit a7d135733012070b8e748caff08d87d63499e2f8 Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Fri Dec 2 02:31:50 2022 +0000 2022-12-02 02:31:49 UTC emerge -qpvO sys-process/btop [ebuild N ] sys-process/btop-1.2.13
Created attachment 838927 [details] emerge-info.txt
Created attachment 838929 [details] emerge-history.txt
Created attachment 838931 [details] environment
Created attachment 838933 [details] etc.portage.tar.bz2
Created attachment 838935 [details] sys-process:btop-1.2.13:20221202-024514.log
Created attachment 838937 [details] temp.tar.bz2
I haven't tried to compile or use this package myself, but from a (perhaps too quick) reading of upstream's makefile, I think it can't be used for parallel builds without modifications, see news://news.gmane.io/tm7eu0$159p$1@ciao.gmane.io / http://marc.info/?i=tm7eu0$159p$1@ciao.gmane.io
(In reply to Nuno Silva from comment #7) > I haven't tried to compile or use this package myself, but from a (perhaps > too quick) reading of upstream's makefile, I think it can't be used for > parallel builds without modifications Yes and no. Looking at upstream's Makefile [0], they seem to even encourage parallel builds if not explicitly disabled. The only issue I spotted was that the directories target is responsible for creating the output dirs [1] and the btop target (which builds the objects) [2] doesn't depend on the directories target. So if we call emake directories explicitly before the actual build, we might get away with parallel builds perfectly fine. I'll report an issue upstream later. Also, a PR for supporting verbose output on directory creation might be a good idea as well. [0] https://github.com/aristocratos/btop/blob/e67a35df08bc576a164e2f9e95804c8980982fb3/Makefile#L112-L116 [1] https://github.com/aristocratos/btop/blob/e67a35df08bc576a164e2f9e95804c8980982fb3/Makefile#L169 [2] https://github.com/aristocratos/btop/blob/e67a35df08bc576a164e2f9e95804c8980982fb3/Makefile#L262
Upstream merged the fixes. Time to backport them
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1929d81e2d786aa1fd9d1c6382b1908f24e6694 commit a1929d81e2d786aa1fd9d1c6382b1908f24e6694 Author: Adrian Schollmeyer <nex+b-g-o@nexadn.de> AuthorDate: 2022-12-15 16:55:30 +0000 Commit: Florian Schmaus <flow@gentoo.org> CommitDate: 2022-12-23 09:32:55 +0000 sys-process/btop: Backport parallel build fix and verbose mkdir The first fix resolves build problems on machines with many threads where mkdir calls might not be finished before a compiler tries to open that specific output dir. The second fix makes the calls to mkdir verbose to make debugging easier. Closes: https://bugs.gentoo.org/884005 Signed-off-by: Adrian Schollmeyer <nex+b-g-o@nexadn.de> Signed-off-by: Florian Schmaus <flow@gentoo.org> sys-process/btop/btop-1.2.13-r1.ebuild | 64 ++++++++++++++++++++++ .../btop/files/btop-1.2.13-fix-makefile-deps.patch | 40 ++++++++++++++ .../btop/files/btop-1.2.13-verbose-mkdir.patch | 27 +++++++++ 3 files changed, 131 insertions(+)