Mailing List Archive

Help with ccache errors
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_FILE_OFFSET_BITS=64 -D_LARGEFILE_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.
Re: Help with ccache errors [ In reply to ]
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_FILE_OFFSET_BITS=64 -D_LARGEFILE_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.

Peter



_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Help with ccache errors [ In reply to ]
On 2021-12-10 17:38, Peter Bennett wrote:
> 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.

Did some more digging, and it's none of the above. Turns out it's a bug
in tigervnc server that I'm using to get access to the backend machine
to build on. If I ssh to it, the problem goes away. I suspect tigervnc
is not properly setting up the user and ccache is calling something like
mktemp() and that is getting to the user that kicked off the tigervnc
session (root).

Not a MythTV bug.
Cheers,
Tim.
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org