PDA

View Full Version : Debian packages update - Possible dpkg failure



mrw
2018-02-22, 09:39
Update for users of Debian Stretch (Debian version 9) and similar distributions

Changes introduced into apt (versions >= 1.1) allow that tool to install a Debian package file (.deb) directly. A modern apt will now fetch and install dependencies automatically. This effectively resolves the issue noted below which stems from the use of dpkg to install a package file.

The version of apt distributed with Debian Stretch, and, I believe, Ubuntu versions >= 16, fulfil the requirement. On such a system, the following should simply work:


# cd to the directory that contains your LMS debian package
# Modify the file name below to match the package that you are installing.
# Prefix the file name with './'. This is essential.
sudo apt install ./logitechmediaserver_7.9.1~1518978430_arm.deb


You can check your version of apt with:
apt --version

Older systems

The Debian package builds (.debs) have recently been updated to declare some additional dependencies on external packages.

This may cause some initial difficulty for those users who use dpkg to install LMS. Users who use apt-get, or a similar package manager, should experience no issues, as the package manager should automatically fetch and install the dependencies.

In particular, the version of apt supplied with Debian version 9 (Stretch)

However, dpkg will not complete the installation if any of the required packages are not already installed on the system. See below for a trace of a failed installation and a suggested resolution.

The additional package dependencies are:


libgomp1
libio-socket-ssl-perl (a.k.a. IO::Socket::SSL)
libgcc1
libstc++6
zlib1g


libgomp1 is required to support the bundled Sox binary, which may be used in some transcoding schemes. Hitherto, Sox would simply fail if libgomp1 is not present, and the failure is hard to diagnose. This should now be resolved.

IO::Socket::SSL is required to support HTTPS streaming. An increasing number of streaming services are moving to HTTPS, so having that support automatically installed should offer a better user experience.

The other packages are required by a variety of supporting LMS modules. They are present on almost all systems anyway.


dpkg issue

Refer below for a trace of an initially unsuccessful install on a Raspberry Pi, which did not have libgomp1 installed.

Suggested resolution:
One solution is to use apt-get to fetch the dependencies and complete the failed installation for us. Here is a sequence of commands that might be used:


# Try to install LMS
sudo dpkg -i logitechmediaserver_7.9.1~1518978430_arm.deb

# If it should fail due to missing packages, then:
# a) Ensure the list of available packages is up to date
sudo apt-get update
# b) Ask apt-get to fix things for us. This should install the
# missing packages, and complete the installation of LMS
sudo apt-get -f install


Trace of initially unsuccessful installation attempt:



sudo dpkg -i logitechmediaserver_7.9.1~1518978430_arm.deb
Selecting previously unselected package logitechmediaserver.
(Reading database ... 52260 files and directories currently installed.)
Preparing to unpack logitechmediaserver_7.9.1~1518978430_arm.deb ...
Unpacking logitechmediaserver (7.9.1~1518978430) ...
dpkg: dependency problems prevent configuration of logitechmediaserver:
logitechmediaserver depends on libgomp1 (>= 4.2.1); however:
Package libgomp1:armhf is not installed.

dpkg: error processing package logitechmediaserver (--install):
dependency problems - leaving unconfigured
Processing triggers for systemd (215-17+deb8u7) ...
Errors were encountered while processing:
logitechmediaserver


A trace of the successful resolution, using apt-get -f install:



sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
libgomp1
The following NEW packages will be installed:
libgomp1
0 upgraded, 1 newly installed, 0 to remove and 15 not upgraded.
1 not fully installed or removed.
Need to get 0 B/34.7 kB of archives.
After this operation, 91.1 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Selecting previously unselected package libgomp1:armhf.
(Reading database ... 56108 files and directories currently installed.)
Preparing to unpack .../libgomp1_4.9.2-10+deb8u1_armhf.deb ...
Unpacking libgomp1:armhf (4.9.2-10+deb8u1) ...
Setting up libgomp1:armhf (4.9.2-10+deb8u1) ...
Setting up logitechmediaserver (7.9.1~1518978430) ...
Adding system user `squeezeboxserver' (UID 113) ...
Adding new user `squeezeboxserver' (UID 113) with group `nogroup' ...
Not creating home directory `/usr/share/squeezeboxserver'.
Processing triggers for libc-bin (2.19-18+deb8u10) ...
Processing triggers for systemd (215-17+deb8u7) ...

drmatt
2018-02-22, 11:34
People installing from scratch like this will have the same issue too, plus many other dependencies.

You can also use:

apt install ./file.dpkg

.. to get apt to install the specific file and resolve deps in one step.


Transcoded from Matt's brain by Tapatalk

mherger
2018-02-22, 11:58
> apt install ./file.dpkg
>
> .. to get apt to install the specific file and resolve deps in one step.

Oh, that's nice! Will have to give this a try.

Michael


--

Michael

Man in a van
2018-02-24, 06:57
I have just run a LMS update on an O2 Joggler.
I have the internal Squeezeplay OS installed with LMS, the EDO Plugin and patch.
There is not enough room to instal and run the update so I first

apt-get purge........

then download the latest file and install.

Today I got the missing libgomp1 message.

Ran apt-get update, then

apt-get -f install

and the installation completed.

Many thanks.

I have to do another Joggler in the next two weeks so will try the

apt-get install ./file.dpkg


Ronnie:)



Edit: using Logitech Media Server: Debian Installer Package (i386)

Edit 2:I also had to re-install bpa's BBC iPlayer v1.5.3, the Radio Paradise flac and the Radio France plugins.

Man in a van
2018-02-25, 01:54
Thanks for the reminder of "remove" DJanGo, I had quite forgotten it.:o:(

I normally do a "clean" and "autoremove".

Ronnie

mrw
2018-02-25, 11:45
The changes in apt 1.1 (allow to install local packages) are very nice. tbh - i didnt knew about that without this topic.

I've added / changed that in the Wiki Article (http://wiki.slimdevices.com/index.php/Debian_Package).

cheers

That doesn't work for the apt on my Raspberry Pi, which runs Debian Jessie. But then it's not version 1.1. The Wiki doesn't tell me about that ! :)
Its version reads:


apt -v
apt 1.0.9.8.4 for armhf compiled on Dec 13 2016 22:26:22
Usage: apt [options] command
<snipped>



You shouldn't need to be installing libio-socket-ssl-perl as a separate step, as it will be auto-installed.


Does anyone have experience with gdebi-core ? That advertises the same feature, and is available on Jessie. And perhaps older systems, I don't know.

I have just tried it. It seemed to work fine, although I don't think it is as quick as the dpkg/apt-get steps. But it might be a painless option for those who don't have the newer version of apt.



aptitude show gdebi-core

Description: simple tool to install deb files
gdebi lets you install local deb packages resolving and installing its dependencies. apt does the same, but only for remote (http, ftp) located packages.

It can also resolve build-depends of local debian/control files.

This package contains the libraries and command-line utility.

Shellness
2018-03-02, 05:10
I have just done a fresh installation and found I needed the apt-get update & apt-get -f install. My settings tell me I have no LAME installed - is this part of the same dependency issue?

I can't establish where to put LAME - any steers?

mherger
2018-03-02, 05:33
> I can't establish where to put LAME - any steers?

Anywhere in your PATH. See Settings/Information for the search path.

--

Michael

Shellness
2018-03-02, 05:46
Thanks for the answer, but I don't understand it; what is a search path? I'm guessing I drop it in a folder in one of the Helper folders?:

/usr/share/squeezeboxserver/Bin/armhf-linux
/usr/share/squeezeboxserver/Bin
/usr/share/squeezeboxserver/Bin/arm-linux
/usr/local/sbin
/usr/local/bin
/sbin
/bin
/usr/sbin
/usr/bin
/tmp/par-squeezeboxserver/cache-93fc9269f2cad1b44dfa1dd0a57132ee14664f5f

drmatt
2018-03-02, 05:49
I did read that apt does not document its ability to install from files, but it wouldn't surprise me if the Raspbian version was a few steps behind.


Transcoded from Matt's brain by Tapatalk

Shellness
2018-03-02, 10:25
Wonderful, thank you. All working well now.