Solved Problem Updating 3cx 16.0.6.655 libfreeimage3

Status
Not open for further replies.

SPot

Silver Partner
Intermediate Cert.
Joined
Jul 7, 2021
Messages
5
Reaction score
1
Hello,
I have two 3cxpbx's I can not update,

When I go to the web interface to update I select the update (Both display the new update as 16.0.7.1074) I get logged out.

The update failed to say it's due to "libfreeimgage3" not being able to be installed. I am unable to install this package due to it dependencies not being installable.

I have this error on two setups on is the 2cxpbx iso running as a VM and the other is a Rpi

When I run
Code:
apt list --upgradeable -a
I can see there is a newer update 16.0.8


Code:
pi@raspberrypi:~ $ sudo apt-get install -y libfreeimage3
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:
 libfreeimage3 : Depends: libjxr0 (>= 1.0) but it is not installable
                 Depends: libopenexr22 but it is not installable
                 Depends: libwebpmux2 (>= 0.5.1) but it is not installable
E: Unable to correct problems, you have held broken packages.



the two options I can see are to remove 3cxpbx and reinstall the package to see if that fixes it or rebuild both.

I would like to avoid a rebuild.


Also

Rpi

OS: Raspbian GNU/Linux 9.4 (stretch) armv7l

Hyper-v VM

OS: Raspbian GNU/Linux 10 (buster) x86_64
 
Hi @SPot,

There is indeed a requirement within the repository that is missing by this error message. You could try to troubleshoot what went wrong with the repository and dependencies but this may take hours.

I think the best solution is to run a backup on both PBXs, download the latest production ISO here and scrap the current installs. Reinstallation will take far less time.
 
  • Like
Reactions: SPot and Evolute IT
Hey @VasilisV_3CX

Yeah, i think this is what im gonna have to do.
 
Great @SPot, let me know if all goes smoothly!
 
Preforming a complete re-installation can be undesirable in some cases due to the resulting downtime.
The solution without a complete reinstall is relatively easy.
Make sure you have root privilege in the CLI and execute the following commands:

Code:
apt-get update
apt-get install libilmbase12
wget http://security.debian.org/debian-security/pool/updates/main/o/openexr/libopenexr22_2.2.0-11+deb9u4_amd64.deb
dpkg -i libopenexr22_2.2.0-11+deb9u4_amd64.deb

As a final check you can continue installing the broken package before upgrading 3CX.

Code:
apt-get install libfreeimage3
 
@StanM

Thank you for contributing and sharing this solution!

Just want to point out that facing such issues may be an indication that the instance at hand may have been subject to unsupported configurations in the past or that it may have not been deployed as per our guides and using the 3CX ISO.

That said, in such cases, we always recommend redeploying using the latest available 3CX ISO to ensure that you're running a configuration fully supported by 3CX and therefore avoid similar issues in the future.
 
@ChrisC_3CX

I totally agree.
A redeployment is absolutely the best option.

F.Y.I.
We have seen this problem in a relatively small number of instances. (less than 1%)
The remarkable thing is there is no difference between the deployment of impacted and none impacted instances.
All of them have been installed using the latest 3CX ISO at time of installation.
There are no custom packages installed what so ever (we don't allow this).
If an unsupported configuration is causing this it's not visible to us so far.
At this time we haven't been able to pinpoint the cause of these problems nor have we found anything special the impacted instances have in common.
 
  • Like
Reactions: Evolute IT
3CX writes a file when installing to
Code:
/etc/apt/preferences.d
named
Code:
3cxpbx
. This file pins a certain version of libopenexer22.

Code:
Package: libopenexr22
Pin: version 2.2.0-11+deb9u2
Pin-Priority: 1000

Package: libopenexr22
Pin: version *
Pin-Priority: -1

Changing the 2.2.0-11+deb9u2 to the most recent on (currently 2.2.0-11+deb9u4) makes the package install again.
When doing a redeployment, the file isn't present, so the newest version of libopenexer22 is automatically installed.

This can be checked with a
Code:
apt-cache policy libopenexr22

Unedited file:
Code:
libopenexr22:
  Installed: (none)
  Candidate: (none)
  Version table:
     2.2.0-11+deb9u4 -1
        500 http://security.debian.org stretch/updates/main amd64 Packages
     2.2.0-11+b1 -1
        500 http://deb.debian.org/debian stretch/main amd64 Packages

Edited:
Code:
libopenexr22:
  Installed: 2.2.0-11+deb9u4
  Candidate: 2.2.0-11+deb9u4
  Version table:
 *** 2.2.0-11+deb9u4 1000
        500 http://security.debian.org stretch/updates/main amd64 Packages
        100 /var/lib/dpkg/status
     2.2.0-11+b1 -1
        500 http://deb.debian.org/debian stretch/main amd64 Packages
 
  • Like
Reactions: StanM
Thanks for the input @Zuppke! I'll be closing the thread now. If anyone requires any further assistance regarding a similar issue, feel free to open a new thread.
 
Status
Not open for further replies.

Forum statistics

Threads
111,974
Messages
590,081
Members
164,899
Latest member
mazet