That looks sane. Then there is something going fishy going on with the new jessie images…
As a sanity check could you check what is the libc
version installed?
sudo dpkg -l | grep libc
That looks sane. Then there is something going fishy going on with the new jessie images…
As a sanity check could you check what is the libc
version installed?
sudo dpkg -l | grep libc
Hi ashthespy
volumio@volumio15:~$ sudo dpkg -l | grep libc
ii klibc-utils 2.0.4-2+rpi1 armhf small utilities built with klibc for early boot
ii libc-bin 2.24-11+deb9u4 armhf GNU C Library: Binaries
ii libc-dev-bin 2.24-11+deb9u4 armhf GNU C Library: Development binaries
ii libc-l10n 2.24-11+deb9u4 all GNU C Library: localization files
ii libc6:armhf 2.24-11+deb9u4 armhf GNU C Library: Shared libraries
ii libc6-dev:armhf 2.24-11+deb9u4 armhf GNU C Library: Development Libraries and Header Files
ii libcaca0:armhf 0.99.beta19-2 armhf colour ASCII art library
ii libcairo2:armhf 1.14.0-2.1+deb8u2 armhf Cairo 2D vector graphics library
ii libcap-ng0:armhf 0.7.4-2 armhf An alternate POSIX capabilities library
ii libcap2:armhf 1:2.24-8 armhf POSIX 1003.1e capabilities (library)
ii libcap2-bin 1:2.24-8 armhf POSIX 1003.1e capabilities (utilities)
ii libcdaudio1 0.99.12p2-13 armhf library for controlling a CD-ROM when playing audio CDs
ii libcdio-cdda1 0.83-4.2 armhf library to read and control digital audio CDs
ii libcdio-paranoia1 0.83-4.2 armhf library to read digital audio CDs with error correction
ii libcdio13 0.83-4.2 armhf library to read and control CD-ROM
ii libcdparanoia0:armhf 3.10.2+debian-11 armhf audio extraction tool for sampling CDs (library)
ii libcgmanager0:armhf 0.33-2+deb8u2 armhf Central cgroup manager daemon (client library)
ii libchromaprint1:armhf 1.4.2-1 armhf audio fingerprint library
ii libcomerr2:armhf 1.42.12-2 armhf common error description library
ii libconfig-dev:armhf 1.4.9-2 armhf parsing/manipulation of structured config files (development)
ii libconfig9:armhf 1.4.9-2 armhf parsing/manipulation of structured configuration files
ii libconfuse-common 2.7-5+deb8u1 all Common files for libConfuse
ii libconfuse0:armhf 2.7-5+deb8u1 armhf Library for parsing configuration files
ii libcpufreq0 008-1 armhf shared library to deal with the cpufreq Linux kernel feature
ii libcryptsetup4:armhf 2:1.6.6-5 armhf disk encryption support - shared library
ii libcups2:armhf 1.7.5-11+deb8u4 armhf Common UNIX Printing System(tm) - Core library
ii libcurl3:armhf 7.38.0-4+deb8u13 armhf easy-to-use client-side URL transfer library (OpenSSL flavour)
ii libcurl3-gnutls:armhf 7.38.0-4+deb8u13 armhf easy-to-use client-side URL transfer library (GnuTLS flavour)
ii libklibc 2.0.4-2+rpi1 armhf minimal libc subset for use with initramfs
ii liblocale-gettext-perl 1.05-8+b1 armhf module using libc functions for internationalization in Perl
ii linux-libc-dev:armhf 4.9.82-1+deb9u3+rpi1 armhf Linux support headers for userspace development
Adrian.
That isn’t a Jessie version, but Stretch… @volumio Heads up - this is going to lead to a lot of headaches…
let’s wait on Volumio’s feedback.
Hi,
I have found the reason for this problem. Some dependencies are missing for build-essentials. The binutils can’t installed, without remove the libc6-dev library. A newer dependencies are allready installed. The new binutil and other dependencies are needed, but they are only in the stretch source
My workaround is:
add temporary the debian stretch source to install the dependecies
sudo nano /etc/apt/sources.list
and add this line:
deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
and update the package list:
sudo apt-get update
sudo apt-get install binutils
sudo apt-get install libstdc++-4.9-dev
sudo apt-get install gcc-4.9 gcc g++-4.9 g++ dpkg-dev
remove the line from source and update packagelist:
sudo apt-get update
Now you can install the build-essential successfully
here is a little script that do this all automatically
Workaround_BuildEssentials.zip (388 Bytes)
copy it to /home/volumio and make it executable with
chmod +x /home/volumio/Workaround_BuildEssentials.sh
I hope Volumio fix this with next version.
2aCD
Serious? Adding Stretch to a Jessie based OS?
I have the procedure now tested with a fresh install and a build from source.
All librarys are needed from stretch source to run a build successfully.
I have no other possibility found to resolve this issue.
@gkkpch Unfortunately the base rootfs already has installed a bunch of libraries from the stretch repo in these new(er) Jessie images for tidal connect.
@mervinio should know more.
Hello all.
Is the workaround described above the only way to somehow fix that, or will there be a fix for Volumio?
I am asking because I need gcc, to (for code I, unfortunately, scripted on RaspOS and now is not running on my test environment with the latest Volumio image)
Thanks
.:. Lutz
Hi all,
Yesterday I got help from a neighbour to fix the same issue.
I have an Rpi with Twisted Pear Audio Hat and Cronus which I want to run.
My situation is slightly different since the below outputs are found:
gcc --version
g++ --version
We end up with the following:
root@volumio:/home/volumio/tpa-hermes-rpi-dev# git pull
Already up-to-date.
root@volumio:/home/volumio/tpa-hermes-rpi-dev# make clean
make -C /lib/modules/uname -r
/build M=$PWD clean
make[1]: *** /lib/modules/4.19.118-v7+/build: No such file or directory. Stop.
Makefile:27: recipe for target ‘clean’ failed
make: *** [clean] Error 2
root@volumio:/home/volumio/tpa-hermes-rpi-dev#
Any suggestions? Thank you in advance.
Jordo
No one?..
Thank you for your Workaround! I’m very happy that you’ve found a solution for the issue!
The issue has broken my installation Routine for NR1-UI, am I allowed to use your “Fix-code” if I’ll credit you in my Github?
Thank you in advance!
Regards,
Christoph
@volumio the “build-essential” installation ist still broken on Volumio 2.909 (Rpi 4/4Gb - fresh installation). Will you fix this Issue? Cause my code need Build-Essential…
volumio@volumio:~$ sudo apt-get install build-essential
Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
build-essential : Depends: gcc (>= 4:4.9.1) but it is not going to be installed
Depends: g++ (>= 4:4.9.1) but it is not going to be installed
Depends: dpkg-dev (>= 1.17.11) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Regards,
Christoph
Is there a solution for this issue. Have the same problem with latest volumio 2.909. I need a g++ but unable to install
apt-get install build-essential The following packages have unmet dependencies: build-essential : Depends: gcc (>= 4:4.9.1) but it is not going to be installed Depends: g++ (>= 4:4.9.1) but it is not going to be installed Depends: dpkg-dev (>= 1.17.11) but it is not going to be installed
Tried to fix local package dependecies
apt-get autoremove #(remove all dependent libraries) apt-get -f install apt-get update
But no luck. Tried (as descripted in this post) to add
deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
to sources.list
Also with no luck, this breaks mpd and it won’t start anymore.
Any hints how to fix it and get the compiler running?
Is a possible solution to build volumio from scratch?
Realistically I think you will need to wait for Volumio 3, which is currently undergoing beta testing.
Quite true. Having Stretch libraries in a Jessie distribution is going to cause all sorts of compilation problems, but I speculate this is necessary because of Tidal Connect (and Tidal is not going to compile TC for a distro that had reached EOL more than a year ago).
Loaded up an 2.xx image after some time and ran into this personally.
It’s a tad annoying, as I don’t use Tidal, but even downgrading to a version that doesn’t use Tidal connect no longer works because of the certificate issues.
The issue with stretch libs is also seen from python and pip dependencies being broken.
What is the recommend way to solve this?
If a few libs are needed from Stretch, then there are much better ways than just get fetching everything from Stretch… But I agree, we can only speculate here and pin (hehe) things on the Tidal Connect plugin.
I did some looking up on the leaked/questionable versions of tidal connect floating around on github, and indeed you see that it needs some libs from Jessie and/or some from stretch(libflac++ libavformat57 libcurl3
, etc). So the hypothesis indeed seems correct.
So here is what I did this morning to get my self back onto a pure Jessie base
Disclaimer: This is probably going to break other things down the line, so if you want to fiddle around, use the newer Buster images.
First, confirm there is a mysterious version of libc6
that apt doesn’t know the origins of…
volumio@volumio:~$ apt-cache policy libc6
libc6:
Installed: 2.24-11+deb9u4
Candidate: 2.24-11+deb9u4
Version table:
*** 2.24-11+deb9u4 0
100 /var/lib/dpkg/status
You essentially have to do three things
apt
that stuff was installed from stretch
reposstretch
to /etc/apt/sources.list
cat <<-EOF > /etc/apt/sources.list
deb http://archive.volumio.org/raspbian/ jessie main contrib non-free rpi
#deb-src http://archive.volumio.org/raspbian/ jessie main contrib non-free rpi
# This is required to convince APT that there were stretch libs installed at some point
# Don't worry, we won't use it after fixing things..
deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
EOF
apt
that we don’t want stuff from stretch, and revert to Jessiecat <<-EOF >/etc/apt/preferences
Package: raspberrypi-bootloader
Pin: release *
Pin-Priority: -1
Package: raspberrypi-kernel
Pin: release *
Pin-Priority: -1
# Fix broken Jessie/Stretch hybrid images
Package: *
Pin: release n=jessie
Pin-Priority: 1001
Package: *
Pin: release n=stretch
Pin-Priority: -1
EOF
libc6
sudo apt update && sudo apt install libc6 && sudo apt-get autoremove
All this is wrapped up in a script:
curl -fsSLO "https://git.io/backToJessie.sh" && chmod +x backToJessie.sh && sudo ./backToJessie.sh
As usual, don’t run stuff blindly (especially with sudo
) so inspect what is going on over at Revert from hybrid Stretch/Jessie Volumio images back to pristine Jessie · GitHub
Once everything is is done, go ahead and install stuff as usual
sudo apt install build-essential
This probably will break tidal connect, I haven’t checked…