Tiny Core Linux

Tiny Core Base => Raspberry Pi => Topic started by: JRI on June 24, 2018, 08:27:19 AM

Title: cups.tcz missing dependencies
Post by: JRI on June 24, 2018, 08:27:19 AM
I'm a piCore newbie, but I've got a spare RPi Model B and some 512MB SD and thought I could put them to use as a USB print server.  I have installed piCore v9.0.3 with no problems and am running headless over SSH.  It was all going OK until I tried loading the cups.tcz extension.  It failed with the following errors:

Code: [Select]
tc@piprinter:~$ tce-load -wi cups
cups.tcz.dep OK
libcups.tcz.dep OK
cups-filters.tcz.dep OK
libpoppler.tcz.dep OK
cairo.tcz.dep OK
fontconfig.tcz.dep OK
freetype.tcz.dep OK
libXext.tcz.dep OK
libXrender.tcz.dep OK
qpdf.tcz.dep OK
ghostscript.tcz.dep OK
Downloading: libpng.tcz
Connecting to repo.tinycorelinux.net (89.22.99.37:80)
libpng.tcz           100% |*******************************| 86016   0:00:00 ETA
libpng.tcz: OK
Downloading: freetype.tcz
Connecting to repo.tinycorelinux.net (89.22.99.37:80)
freetype.tcz         100% |*******************************|   280k  0:00:00 ETA
freetype.tcz: OK
Downloading: fontconfig.tcz
Connecting to repo.tinycorelinux.net (89.22.99.37:80)
fontconfig.tcz       100% |*******************************|   156k  0:00:00 ETA
fontconfig.tcz: OK
fc-cache: error while loading shared libraries: libharfbuzz.so.0: cannot open shared object file: No such file or directory
Downloading: libavahi.tcz
Connecting to repo.tinycorelinux.net (89.22.99.37:80)
wget: server returned error: HTTP/1.1 404 Not Found
md5sum: libavahi.tcz.md5.txt: No such file or directory
Error on libavahi.tcz

I managed to fix the first error by doing tce-load -wi harfbuzz, but I couldn't get around the problem with libavahi.

Does harfbuzz.tcz need to be included somewhere in the dependency tree for cups.tcz?  I couldn't see it listed using tce-ab.

How can I get libavahi.tcz?  I couldn't see a version of it for previous piCore releases.  Would I need to compile from scratch, and if so, how would I go about doing that?  I read somewhere that one had to load compile-essentials.tcz to get the full toolchain, but that doesn't work either...

Thanks for any help!
Title: Re: cups.tcz missing dependencies
Post by: Rich on June 24, 2018, 08:42:07 AM
Hi JRI
... I read somewhere that one had to load compile-essentials.tcz to get the full toolchain, but that doesn't work either...
You want  compiletc.tcz  to get the toolchain.
Title: Re: cups.tcz missing dependencies
Post by: Juanito on June 24, 2018, 09:13:00 AM
It looks like avahi was not copied to the armv6 repo - I can't fix this at the moment, but things should work if you use avahi from the armv7 repo.

It also looks like harbuzz is missing from one of the dep files.
Title: Re: cups.tcz missing dependencies
Post by: Juanito on June 25, 2018, 12:23:20 AM
avahi/libavahi added to piCore 9.x armv6 repo
Title: Re: cups.tcz missing dependencies
Post by: Juanito on June 26, 2018, 12:29:05 AM
freetype and harfbuzz deps adjusted in the piCore repos
Title: Re: cups.tcz missing dependencies
Post by: JRI on June 26, 2018, 01:51:07 AM
Thanks for looking at this.  Using libavahi from the armv7 repo did indeed work, but I've now done a clean install and tce-load -wi cups now completes without any error messages.

I haven't checked whether avahi actually works, but I have got cups working.  There was initially a problem that once the cups service was started, its web configuration interface didn't work properly: you could connect from other machines, but it either gave 404 "Not found" errors, or stylesheets and other resources were missing from the web pages.  Looking at the logs, this seemed to be because it objected to these resource files being symlinks.  I fixed the issue by adding the following to my /opt/bootlocal.sh file, to create the symlinks at a higher level in the directory structure at boot time:

Code: [Select]
sudo rm -rf /usr/local/share/doc/cups
sudo ln -s /tmp/tcloop/cups/usr/local/share/doc/cups /usr/local/share/doc/cups
sudo /usr/local/etc/init.d/cups start
Title: Re: cups.tcz missing dependencies
Post by: Juanito on June 26, 2018, 05:22:25 AM
Hmm - that's interesting.

You can also use "localhost:631/admin" to get around this problem.
Title: Re: cups.tcz missing dependencies
Post by: JRI on June 26, 2018, 06:56:13 AM
Yes, that URL works, but the page doesn't look right as the CSS doesn't load.  localhost:631 also works to a certain extent, in that the 404 error is a proper error message sent by the cupsd service - you can see the cups version number in the page title.

When I googled around the problem, I found someone who seemed to have got the same symptoms due to a bad printer driver breaking links in the file system: https://www.linuxquestions.org/questions/slackware-14/cups-web-interface-not-found-4175525114/

On piCore, the files are there, but when I enabled debug-level logging for cups, the issue seemed to be that it is not acceptable for the resources served by the web config interface to be symlinks.  It seems to be OK to have symlinks further up the directory tree though.