Update failing (unknown package)

@sam_nazarko @DBMandrake: I’m getting a similar error with the latest update. On the blue screen, it reads: “An error occurred while installing the following package: (unknown package)” and after rebooting into Kodi, it’s “Error installing: (unknown package)”. I’m on 2015.10-1. It seems that dpkg is the problem now, I’m seeing messages that it is broken, such as:

Log started: 2015-12-08 19:49:44
dpkg: error processing package dpkg (–configure):
package dpkg is not ready for configuration
cannot configure (current status `half-installed’)
Log ended: 2015-12-08 19:49:45

The full debug logs are here: http://paste.osmc.io/obuxoqegul

For me it was twice the same behaviour EXCEPT that after a reboot, the good version was installed!

The root cause of your problem seems to be that your perl installation is screwed up:

Dec 16 07:29:53 osmc manual-update[708]: Can't call method "set" on an undefined value at /usr/share/perl5/Debconf/FrontEnd.pm line 126, <GEN0> line 7.
Dec 16 07:29:53 osmc manual-update[708]: Use of uninitialized value $ret in scalar chomp at /usr/share/perl5/Debconf/Client/ConfModule.pm line 132, <STDIN> line 6.
Dec 16 07:29:53 osmc manual-update[708]: Use of uninitialized value $ret in split at /usr/share/perl5/Debconf/Client/ConfModule.pm line 133, <STDIN> line 6.
Dec 16 07:29:53 osmc manual-update[708]: Use of uninitialized value $ret[0] in string eq at /usr/share/perl5/Debconf/Client/ConfModule.pm line 134, <STDIN> line 6.
Dec 16 07:29:53 osmc manual-update[708]: Use of uninitialized value $ret[0] in string eq at /usr/bin/debconf-apt-progress line 173, <STDIN> line 6.
Dec 16 07:29:53 osmc manual-update[708]: Use of uninitialized value $ret in scalar chomp at /usr/share/perl5/Debconf/Client/ConfModule.pm line 132, <STDIN> line 6.
Dec 16 07:29:53 osmc manual-update[708]: Use of uninitialized value $ret in split at /usr/share/perl5/Debconf/Client/ConfModule.pm line 133, <STDIN> line 6.
Dec 16 07:29:53 osmc manual-update[708]: Use of uninitialized value $ret[0] in string eq at /usr/share/perl5/Debconf/Client/ConfModule.pm line 134, <STDIN> line 6.
Dec 16 07:29:53 osmc manual-update[708]: Use of uninitialized value $ret in scalar chomp at /usr/share/perl5/Debconf/Client/ConfModule.pm line 132, <STDIN> line 6.
Dec 16 07:29:53 osmc manual-update[708]: Use of uninitialized value $ret in split at /usr/share/perl5/Debconf/Client/ConfModule.pm line 133, <STDIN> line 6.
Dec 16 07:29:53 osmc manual-update[708]: Use of uninitialized value $ret[0] in string eq at /usr/share/perl5/Debconf/Client/ConfModule.pm line 134, <STDIN> line 6.
Dec 16 07:29:53 osmc manual-update[708]: Use of uninitialized value $ret[0] in string eq at /usr/bin/debconf-apt-progress line 181, <STDIN> line 6.

The manual update service relies on perl to be working properly, hence it has failed. Try following the advice earlier in this thread to manually re-install Perl then run updates.

Something you are doing or installing must be screwing up perl if this has happened to you twice now…I would consider a fresh install if the advice above doesn’t work this time, and being more cautious about what packages/software you install in the future.

I was dreading that response… I don’t think my installation is that weird, but I do have some custom stuff running. I’ll do a clean install one of these days and see if that helps.

If your perl installation is getting corrupted something pretty funky is going on though. You’re literally the only person to report this at all, let alone twice in a row.

Perl is massive, and as a package, spans thousands of modules. If you experience SD corruption, it is significantly probable that a Perl script will become corrupted.

Our new initramfs will alleviate corruption issues to an extent, but it’s no magic bullet for a power supply or SD card that’s not up to scratch. Check your hardware.

Sam

I’m not sure if this is related to the original error in this post specifically but this is how i fixed my issue when the upgrade does not complete sucessfully due to errors in the manual-update blue screen upgrade process:

See if following this steps fixes your upgrade and automatic upgrade process:

  1. completed the installation with:

    sudo apt-get dist-upgrade -f

in my instance the following packages did not complete the install so I forced a reinstall from cli:
sudo apt-get install --reinstall libavutil-dev sudo apt-get install --reinstall libavresample-dev sudo apt-get install --reinstall libavcodec-dev sudo apt-get install --reinstall libswscale-dev sudo apt-get install --reinstall libavfilter-dev sudo apt-get install --reinstall libavformat-dev

due to the following error in dist-upgrade
Log started: xxxxxx
dpkg: error processing package dpkg (–configure):
package dpkg is not ready for configuration
cannot configure (current status `half-installed’)
Log ended: xxxxxxx

at this point I had completed the upgrade manually but the issue with manual-update would still be present because the upgrade the following month would once again fail and I would be forced to manually upgrade as explained above.

In order to fix the issue with manual-update I looked at the logs:
grab-logs -A -P > logfile.txt

found the following error in the logfile with regards to the manual-update failure:
Oct 30 22:49:07 Pi-OSMC-Pofi-LR manual-update[2607]: Can’t call method “set” on an undefined value at /usr/share/perl5/Debconf/FrontEnd.pm line 126, line 5.

I then ran the following command to find which package the file FrontEnd.pm belonged to:
sudo dpkg --search FrontEnd.pm
which returned:
debconf: /usr/share/perl5/Debconf/FrontEnd.pm

This package would likely be corrupted so ultimately I forced the reinstall of debconf:
sudo apt-get install --reinstall debconf

and this last step fixed the manual-update failure I was experiencing at every upgrade.

at this point if you force manual-update to launch:
sudo systemctl start manual-update
it should now do the autoremove or install of whatever package is outstanding instead of generating the unknown package error and restarting in 30 seconds whenever the process is started.

I hope this helps somebody looking to fix unknown package error in the manual-update screen at upgrade time.

This is bad advice, and 10 months have elapsed since the last reply…

These packages are not present on an OSMC system by default; these have been added by something you’ve chosen to install. So you are recommending that the OP installs packages they almost certainly won’t have on their system :confused:

This means your Perl installation got corrupted (it’s the largest package on OSMC). This means you have an underlying problem with either your SD card or power supply. You have masked the symptoms, but I suspect this will come up again and you will need to reinstall sooner or later.

Hello Sam,

mentioning specific packets to reinstall was a mistake I agree, but I was merely showing that if some packages did not install I could go back to a working state by reinstalling what’s failing because of the broken manual-update process.

Other than the installation failing at every upgrade, I was always able to force the updates myself restoring OSMC to a working state.

You are probably right there, it might be an issue on the card (power supply is unlikely cause I use an orginal one now but I didn’t a while back on this particular Rpi).

This instance of OSMC has been running with no problems for months, the only issue occurred during an upgrade via kodi multiple months so I’m hoping that that error was a one off and I won’t encounter issues again, wost case I’ll have to reinstall.

Thanks.

That will not always work. apt-get -f install is the half-magic bullet that sometimes works however.

As long as you keep a backup and you are prepared for this, no problem.

Noted. I now remember last time I used apt-get -f install instead of trying to reinstalling individually packages half installed and it worked as well.

I’m normally pretty good with backups, at least of kodi, but there are a few other bits on OSMC that I would probably want to back up too, to save time in case of SD corruption. I’ll see if I can get my brother to do an image of the SD card as this is not my OMSC install :slight_smile: