pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/59930: sysutils/btop clashes with ccache



>Number:         59930
>Category:       pkg
>Synopsis:       sysutils/btop clashes with ccache
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jan 19 05:05:00 +0000 2026
>Originator:     Robert Whitlock
>Release:        pkgsrc current, Jan 19, 2026
>Organization:
>Environment:
NetBSD 10.99.15, amd64
>Description:
I noticed in my builds that btop was failing, but that after a retry, the build succeeded. This seems to be because btop clashes with ccache, because when I disable ccache the problem goes away.

This bug is very finicky. If you don't follow the steps to reproduce it exactly, it might not happen. For example, if you omit the pkg_delete gcc14 line below, the the build of btop succeeds.
>How-To-Repeat:
thinkpad# pwd
/usr/pkgsrc/sysutils/btop
thinkpad# rm -rf /usr/pkg-work/* /usr/pkg-ccache/? /usr/pkg-ccache/tmp
thinkpad# pkg_delete gcc14
thinkpad# pkg_delete btop
pkg_delete: No matching package for basename `btop' of `btop'
thinkpad# rm /usr/pkg-packages/All/btop-1.4.6.tgz
rm: /usr/pkg-packages/All/btop-1.4.6.tgz: No such file or directory
thinkpad# make update UPDATE_TARGET=bin-install
===> Skipping vulnerability checks.
WARNING: No /usr/pkg/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/sbin/pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities'.
===> Binary install for btop-1.4.6
=> Installing btop-1.4.6 from /usr/pkg-packages/All
pkg_add: no pkg found for 'btop-1.4.6', sorry.
pkg_add: 1 package addition failed
=> No binary package found for btop-1.4.6; installing from source.
=> Bootstrap dependency digest>=20211023: found digest-20220214
=> Checksum BLAKE2s OK for btop-1.4.6.tar.gz
=> Checksum SHA512 OK for btop-1.4.6.tar.gz
===> Installing dependencies for btop-1.4.6
=> Tool dependency lowdown-[0-9]*: found lowdown-2.0.4nb2
=> Tool dependency mktools-[0-9]*: found mktools-20250213
=> Tool dependency gmake>=3.81: found gmake-4.4.1
=> Tool dependency ccache-[0-9]*: found ccache-3.7.12nb2
=> Tool dependency cwrappers>=20150314: found cwrappers-20220403
=> Build dependency gcc14>=14.1: NOT found
=> Verifying update for ../../lang/gcc14
===> Skipping vulnerability checks.
WARNING: No /usr/pkg/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/sbin/pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities'.
===> Binary install for gcc14>=14.1
=> Installing gcc14>=14.1 from /usr/pkg-packages/All
gcc14-14.3.0nb1 successfully installed.
===> Cleaning for gcc14-14.3.0nb1
=> Returning to build of btop-1.4.6
=> Full dependency gcc14-libs>=14.1.0: found gcc14-libs-14.3.0nb2
=> Full dependency hicolor-icon-theme>=0.9nb1: found hicolor-icon-theme-0.17nb1
===> Skipping vulnerability checks.
WARNING: No /usr/pkg/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/sbin/pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities'.
===> Overriding tools for btop-1.4.6
===> Extracting for btop-1.4.6
/bin/chmod -R go-w /usr/pkg-work/sysutils/btop/work/btop-1.4.6
===> Patching for btop-1.4.6
=> Applying pkgsrc patches for btop-1.4.6
===> Creating toolchain wrappers for btop-1.4.6
===> Configuring for btop-1.4.6
=> Fixing hardcoded paths to themes.
===> Building for btop-1.4.6
ccache: error: Could not find compiler "g++" in PATH
ccache: error: Could not find compiler "g++" in PATH
ccache: error: Could not find compiler "g++" in PATH
ccache: error: Could not find compiler "g++" in PATH
ccache: error: Could not find compiler "g++" in PATH
 
 â??â??â??â??â??â??â?? â??â??â??â??â??â??â??â??â?? â??â??â??â??â??â??â?? â??â??â??â??â??â??â??
 â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??â??   â??â??â??    â??â??â??
 â??â??â??â??â??â??â??â??   â??â??â??   â??â??â??   â??â??â??â??â??â??â??â??â??â??â?? â??â??â??â??â??â??â??â??â??â??â??â??â??â??
 â??â??â??â??â??â??â??â??   â??â??â??   â??â??â??   â??â??â??â??â??â??â??â??â??â??  â??â??â??mkdir -p bin
â??â??â??â??â??â??â??â??â??â??â??
 â??â??â??â??â??â??â??â??   â??â??â??   â??â??â??â??â??â??â??â??â??â??â??â??        â??â??â??    â??â??â??
 â??â??â??â??â??â??â??    â??â??â??    â??â??â??â??â??â??â?? â??â??â??      Makefile v1.6
PLATFORM     ?| NetBSD
ARCH         ?| 
GPU_SUPPORT  :| false
CXX          ?| c++ (0)
THREADS      :| 4
REQFLAGS     !| -std=c++23
WARNFLAGS    :| -Wall -Wextra -pedantic
OPTFLAGS     :| -O2 
LDCXXFLAGS   :| -pthread -DFMT_HEADER_ONLY -D_GLIBCXX_ASSERTIONS -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG -D_FILE_OFFSET_BITS=64     -s -lkvm -lprop
CXXFLAGS     +| $(REQFLAGS) $(LDCXXFLAGS) $(OPTFLAGS) $(WARNFLAGS) -O2 -I/usr/pkg/include -I/usr/include -DNDEBUG
LDFLAGS      +| $(LDCXXFLAGS) $(OPTFLAGS) $(WARNFLAGS) -L/usr/pkg/gcc14/lib/gcc/x86_64--netbsd/14.3.0 -Wl,-R/usr/pkg/gcc14/lib/gcc/x86_64--netbsd/14.3.0 -Wl,-zrelro -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib
mkdir -p obj/netbsd
ccache: error: Could not find compiler "g++" in PATH

Building btop++ (v1.4.6) NetBSD 
Configuring obj/config.h
sed -e "s|@GIT_COMMIT@||" -e "s|@CONFIGURE_COMMAND@|gmake STATIC=|" -e "s|@COMPILER@|c++|" -e "s|@COMPILER_VERSION@|0|" src/config.h.in | tee obj/config.h > /dev/null

Generating man page btop.1...
Compiling src/btop_cli.cpp
c++ -O2 -I/usr/pkg/include -I/usr/include -DNDEBUG -std=c++23 -pthread -DFMT_HEADER_ONLY -D_GLIBCXX_ASSERTIONS -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG -D_FILE_OFFSET_BITS=64     -s -lkvm -lprop -O2  -Wall -Wextra -pedantic -isystem include -Isrc -Iobj -MMD -c -o obj/btop_cli.o src/btop_cli.cpp
Compiling src/btop_config.cpp
c++ -O2 -I/usr/pkg/include -I/usr/include -DNDEBUG -std=c++23 -pthread -DFMT_HEADER_ONLY -D_GLIBCXX_ASSERTIONS -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG -D_FILE_OFFSET_BITS=64     -s -lkvm -lprop -O2  -Wall -Wextra -pedantic -isystem include -Isrc -Iobj -MMD -c -o obj/btop_config.o src/btop_config.cpp
Compiling src/btop_draw.cpp
c++ -O2 -I/usr/pkg/include -I/usr/include -DNDEBUG -std=c++23 -pthread -DFMT_HEADER_ONLY -D_GLIBCXX_ASSERTIONS -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG -D_FILE_OFFSET_BITS=64     -s -lkvm -lprop -O2  -Wall -Wextra -pedantic -isystem include -Isrc -Iobj -MMD -c -o obj/btop_draw.o src/btop_draw.cpp
ccache: error: Could not find compiler "g++" in PATH
ccache: error: Could not find compiler "g++" in PATH
ccache: error: Could not find compiler "g++" in PATH
gmake: *** [Makefile:397: obj/btop_config.o] Error 1
gmake: *** Waiting for unfinished jobs....
gmake: *** [Makefile:397: obj/btop_cli.o] Error 1
Compiling src/btop.cpp
c++ -O2 -I/usr/pkg/include -I/usr/include -DNDEBUG -std=c++23 -pthread -DFMT_HEADER_ONLY -D_GLIBCXX_ASSERTIONS -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_DEBUG -D_FILE_OFFSET_BITS=64     -s -lkvm -lprop -O2  -Wall -Wextra -pedantic -isystem include -Isrc -Iobj -MMD -c -o obj/btop.o src/btop.cpp
gmake: *** [Makefile:397: obj/btop_draw.o] Error 1
ccache: error: Could not find compiler "g++" in PATH
gmake: *** [Makefile:397: obj/btop.o] Error 1
*** Error code 2

Stop.
make[3]: stopped making "package-install" in /usr/pkgsrc/sysutils/btop
*** Error code 1

Stop.
make[2]: stopped making "package-install" in /usr/pkgsrc/sysutils/btop
*** Error code 1

Stop.
make[1]: stopped making "bin-install" in /usr/pkgsrc/sysutils/btop
*** Error code 1

Stop.
make: stopped making "update" in /usr/pkgsrc/sysutils/btop
thinkpad# cat /etc/mk.conf
.ifdef BSD_PKG_MK

# have gcc14 packaged but not installed,
# btop not packaged and not installed, and run
#
# cd sysutils/btop
# make update UPDATE_TARGET=bin-install
#
# and watch ccache fail to find g++

PKGSRC_COMPILER= ccache gcc
CCACHE_DIR=/usr/pkg-ccache

DISTDIR=/usr/pkg-distfiles
PACKAGES=/usr/pkg-packages
WRKOBJDIR=/usr/pkg-work
LOCALPATCHES=/usr/pkg-patches

MAKE_JOBS=4

<deleted other mk.conf settings that aren't relevant>

.endif
thinkpad# 
>Fix:
One fix would be to find where btop and ccache conflict. Another would be to disable ccache for btop. Does pkgsrc have a facility to disable ccache for a particular package, like MAKE_JOBS_SAFE=no does for parallel builds?

Note that if you follow the above steps to make the build of btop fail, if you try to build btop again immediately afterward, it will succeed.



Home | Main Index | Thread Index | Old Index