Can't upgrade apache2-bin

I try to keep my Librem 13 up to date by running sudo apt update every few days, and recently I noticed that I am unable to upgrade the package apache2-bin.

When I try I receive this message:

The following packages have been kept back:
apache2-bin

It can be upgraded to a new version, but something is preventing it. Have tried sudo apt full-upgrade and sudo apt dist-upgrade, but no luck. Any ideas?

You may know this already, but try:

  apt-cache rdepends apache2-bin

Or, you can use something like packagekit.

That will give you the list of packages dependent on apache2-bin. Most of the ones listed on my system are libapache2 files, so you maybe you can sort those out on yours to get at the blocker.

Unfortunately, I am not experienced enough to not know a handy way to find exactly which package is holding you back in one command. No doubt there is an incantation of a command that can do that.

@Wayne Yeah, most of the files listed for me are also libapache2 files. Still unclear to me why Iā€™m unable to upgrade apache2-bin from version 2.4.29-2 to the latest version (2.4.33-3+b1).

What happens if you ā€œpretendā€ (-s) to install the package using:

 apt-get install -s apache2-sbin

I do not have my system in front of me to try it. Maybe that will yield a message as to which package is blocking.

Otherwise, I can only suggest running what others (maybe you?) have suggested under similar circumstances:

   sudo apt update --fix-missing
   sudo dpkg --configure -a

Hmmmā€¦so, when trying to install it I got the following feedback:

The following packages have unmet dependencies:
apache2-bin : Depends: libcurl4 (>= 7.16.2) but it is not going to be installed

Then, when I tried to install libcurl4 I got the following response:

The following packages were automatically installed and are no longer required:
clamav-base clamav-freshclam libclamav7 libcommon-sense-perl libgtk2-perl libjson-perl libjson-xs-perl libmspack0
libpango-perl libtext-csv-perl libtext-csv-xs-perl libtfm1 libtypes-serialiser-perl
Use ā€˜sudo apt autoremoveā€™ to remove them.
The following packages will be REMOVED:
clamav clamtk clamtk-gnome libcurl3
The following NEW packages will be installed:
libcurl4

But I donā€™t want to remove those files, as I currently use them. Is there some type of conflict between ClamTk and apache2-bin? Appreciate your help.

A lot of packages and files are still unfamiliar to me by name. I do not know what all those are, though I recognize clamav. (I have never installed it.)

Your situation is interesting to me, but I did not want to mislead you because my circumstances were different. I use a package called opencpn (navigational chart plotting) which had an update some time ago that required libcurl4, so I have been waiting for that package. I manually excluded opencpn in the meantime.

When I did the recent update, apache2-bin was blocked for me too, but because libcurl4 was available, I installed it for opencpn and everything cleared up. I remember libcurl3 was removed, along with a couple of other packages.

In responding to you, it did not occur to me that libcurl4 was involved, because I thought you were dealing with a reverse dependency. Sorry.

I am learning, so take the following as intended to give you some ideas, not as suggestions of things to do. Could it be those packages at the top have been in your autoremove list for a while? They are probably unrelated. As for clam ones mentioned in REMOVED, it appears clamav requires libcurl3, so you have a dilemma.

 apt-cache showpkg clamav | grep libcurl 

I know holding a package works to stop apt from considering a package for updates, but I have never tried using it to keep from removing one.

  apt-mark hold <pkg>

Maybe you can keep clamav that way, but I do not know if libcurl3 and libcurl4 can coexist. In any case, I think you found your conflict.

UPDATED: I had a moment and looked at upcoming Debian packages. If I am reading the information correctly, clamav 0.100 will support libcurl4, so you may just have to wait a bit for it to make through the pipe. (I have asked in a couple of places how PureOS pulls these updates in and from where, but I have received no responses. I have no idea how long it takes.)

1 Like

@Wayne Thanks for the assist on this one Wayne, thatā€™s very helpful information!!

Wait, I just checked and I already have clamav 0.100 installed (as downloaded from PureOS repositories). I would think this would have solved the libcurl3/libcurl4 conflict.

clamav/green,now 0.100.0+dfsg-1pureos1 amd64 [installed,automatic]
clamav-base/green,now 0.100.0+dfsg-1pureos1 all [installed,automatic]
clamav-freshclam/green,now 0.100.0+dfsg-1pureos1 amd64 [installed,automatic]
clamtk/green,now 5.25-1 all [installed]
clamtk-gnome/green,now 5.25-1 all [installed]

I thought I read somewhere that PureOS takes updates packages from the test repository, given the update model. But, I have never received an explanation of the update process, so I only look there for ā€˜guidance.ā€™

I was looking for the latest clamav that did not also list 0.99.x dependencies. I looked at ā€˜busterā€™, knowing that might not be right, but representative:

https://packages.debian.org/buster/clamav

That is at 0.100.0+dfsg-1+b2. PureOS has 0.100.0+dfsg-1pureos1, so that was the closest thing. You are right, however; the one in PureOS uses libcurl3.

This is probably still a matter of waiting a short time for the update to get through the pipeline, but sorry for getting your hopes up through my ignorance.

No worries, Iā€™ll let you know when this gets resolved.

I did not think I was making this up; I just forgot where I saw it. :slight_smile: I may still have this wrong, but I think ā€˜testingā€™ is significant.

For packages coming from Debian:

 https://tracker.pureos.net/w/development/pureos_archive_layout/

Those requiring updates for PureOS (see Version Number):

 https://tracker.pureos.net/w/development/packaging_overview/

Maybe that is why clamav is still dated for you and a new Task is appropriate. It is still hard to discern why something might be left behind, at least for me.

Yeah, it seems weird to me that this problem hasnā€™t yet resolved itself through the updating process. Think I should uninstall clamtk, upgrade to libcurl4, and then try to install clamav again from the PureOS repositories? Or will that likely fail as the PureOS version of clamtk still isnā€™t fully up to date (i.e. use libcurl4)?

I think you might get stuck and not be able to install clamav (also shows libcurl3 in Packages). I would create a Task in Phabricator either way. You may not get response, but itā€™ll be on the radar.

Task created: https://tracker.pureos.net/T521

I do not know if you noticed, but it appears someone beat you to it. Note that it is one less than yours.

https://tracker.pureos.net/T520

It seems to be assigned, so it may get some action.

Thatā€™s great, thanks for the heads up.