[mythtv] Help with ccache errors

Peter Bennett pb.mythtv at gmail.com
Fri Dec 10 17:38:08 UTC 2021

On 12/10/21 11:37 AM, TimP wrote:
> Hi All,
> I can't build Debian packages any more. I'm not sure when this 
> started, as I haven't built for a few months, but I'm getting a weird 
> error that I can't figure out. I use a git checkout of the packaging 
> repo on a Debian Bullseye AMD64 system. I ahve to remove the 
> linux-kernel-headers and libcrystallhd lines from the 
> packaging/ded/debian/control.in, but I' pretty sure that is not te 
> cause. The tail of build-debs.sh looks like this:
> cd mythtv && sh version.sh `pwd`
> Using /home/tim/LocalPackages/git/mythtv-31/mythtv/mythtv/DESCRIBE
> BRANCH: fixes/31
> SOURCE_VERSION: v31.0+fixes.20211210.25f1bb1d12-0ubuntu0
> v31.0+fixes.20211210.25f1bb1d12-0ubuntu0
> install -m0755 -d /home/tim/LocalPackages/git/mythtv-31/mythtv/debian/home
> #mythtv
> cd mythtv && ./configure --compile-type=profile --prefix=/usr 
> --runprefix=/usr --enable-lirc --enable-audio-alsa --enable-audio-oss 
> --enable-dvb --enable-ivtv --enable-firewire --enable-joystick-menu 
> --with-bindings=perl --enable-ffmpeg-pthreads --enable-pic 
> --perl-config-opts="INSTALLDIRS=vendor" --enable-libvpx --enable-sdl 
> --enable-libmp3lame --enable-libx264 --enable-vdpau --enable-vaapi
> cc_default gcc ,
> ERROR: cannot find taglib 1.7 or later.
> Now, I know I have libtag1-dev installed, and it is at version 
> 1.11.1+dfsf.1-3. Looking in config.ep I find this at the end:
> BEGIN /tmp/ffconf.Bq8s66A0/test.cpp
> 1 #include <taglib/fileref.h>
> 2 #include <stdlib.h>
> 3 int main(void) {
> 4 TagLib::FileRef obj1;
> 5 return 0; }
> END /tmp/ffconf.Bq8s66A0/test.cpp
> ccache g++ -Wdate-time -D_FORTIFY_SOURCE=2 -D_ISOC99_SOURCE 
> -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DPIC -g -O2 
> -ffile-prefix-map=/home/tim/LocalPackages/git/mythtv-31/mythtv=. 
> -fstack-protector-strong -Wformat -Werror=format-security 
> -I/usr/include -L/usr/lib/x86_64-linux-gnu -c -o 
> /tmp/ffconf.Bq8s66A0/test.o /tmp/ffconf.Bq8s66A0/test.cpp
> ccache: error: Failed to create directory /run/user/0/ccache-tmp: 
> Permission denied
> ERROR: cannot find taglib 1.7 or later.
> In fact, that file is full of ccache complaining about not being able 
> to write to /run/user/0/ccache-tmp. I don't know where ccache is 
> getting that path from, as my environment has this for temp files:
> TEMPDIR=/tmp/user/1004
> TMPDIR=/tmp/user/1004
> TEMP=/tmp/user/1004
> TMP=/tmp/user/1004
> For some reason, ccache thinks I'm root when I'm not. I can compile 
> that test.cpp using the same command line, and it is OK and I don't 
> get the error. I'm suspecting somewhere in the build scripts the 
> environment is getting mangled. Has anyone seen something like this? I 
> don't want to be root when I build MythTV, but I may have to at this rate.
> Cheers,
> Tim.
ccache normally uses $HOME/.ccache for its cache.

Check if there is a wrong value in $HOME/.ccache/ccache.conf.

Check /usr/local/etc/ccache.conf

Check /etc/ccache.conf

Check for environment variable CCACHE_CONFIGPATH

I suspect something has put a bad value in one of those config files. On 
my system it is using $HOME/.ccache/tmp for the ccache temp files. This 
is the default.


More information about the mythtv-dev mailing list