Programs are still searching for libdav1d.so.4 and now libx264.so.160

CodeJoule

New Member


Messages: 9

Hey all, it's been a while since I posted.

I upgraded my system a couple months ago and had to create a link from "libdav1d.so.4" to "libdav1d.so.5" in the same directory I found it. Otherwise some web browsers and Telegram would not work. I upgraded again today and I also had to create a link from "libx264.so.160" to "libx264.so.161" because of the same thing happening.

What is the proper way to handle this? Did I handle it well? Will these packages (notably qutebrowser and Telegram) be fixed to point to the new libraries?

Thanks in advance, to whomever may help. 😁

I should add that linking the libx264 files did not fix qutebrowser. It gives me this error in a window dialog about QtWebEngine: /usr/local/lib/libavcodec.so.58: Undefined symbol "x264_encoder_open_160"
Should I make that a new thread?
 

Alexander88207

Well-Known Member

Reaction score: 133
Messages: 291

Hello,

I upgraded my system a couple months ago and had to create a link from "libdav1d.so.4" to "libdav1d.so.5" in the same directory I found it. Otherwise some web browsers and Telegram would not work. I upgraded again today and I also had to create a link from "libx264.so.160" to "libx264.so.161" because of the same thing happening.

Seems like your applications have been not build against the newer librarys.

You have to update multimedia/dav1d and multimedia/libx264 first and then its consumers, if you update your applications from ports.
 
OP
CodeJoule

CodeJoule

New Member


Messages: 9

Hello,



Seems like your applications have been not build against the newer librarys.

You have to update multimedia/dav1d and multimedia/libx264 first and then its consumers, if you update your applications from ports.
Hmm. Well, I have installed everything from packages. I don't know why something went wrong. I don't use any ports, except for probably one or two unrelated programs.

I'd like to know why packages went wrong, but this may be a good time to switch to ports. I just hope ~4GB RAM is enough to build qutebrowser/Chromium or Firefox 😄

Thank you sir!
 

Alexander88207

Well-Known Member

Reaction score: 133
Messages: 291

A switch to ports should not be needed, you can do:

pkg update -f
pkg upgrade (just to be sure)
pkg install -f chromium qutebrowser libx264 dav1d
 
OP
CodeJoule

CodeJoule

New Member


Messages: 9

A switch to ports should not be needed, you can do:

pkg update -f
pkg upgrade (just to be sure)
pkg install -f chromium qutebrowser libx264 dav1d
Thank you Alexander, I tried your suggestion (with -f to force reinstallaltion) on those programs and removed the library links I previously made. Qutebrowser still gives me this error in the image here, and Chromium says the same thing in the terminal. Then I tried again with pkg upgrade -f to reinstall all packages and I still have the same problem.

It is probably a package problem, unless I am missing something here on my side. Does anyone have Chromium or qutebrowser working after updating? By the way, I am on FreeBSD 12.1-RELEASE-p12.

1610494432533.png
 

Emrion

Well-Known Member

Reaction score: 140
Messages: 494

I have a 12.2-RELEASE (latest patch). I upgrade all packages once a week with the latest repository. I have also a 12.1-RELEASE (latest patch) but I upgrade only once a month or so (also with the latest repository).

In both cases, Chromium run without problem or, at least, I have noticed nothing.

I will upgrade all packages on the 12.2-RELEASE tonight and I will report the result here.

Repair missing libraries by linking is rarely a good solution as the real problem remains.
 

Emrion

Well-Known Member

Reaction score: 140
Messages: 494

So, I report back. Chromium was and is version 87.0.4280.88, before and after upgrade (all packages).
Still no problem.

pkg info --required-shlibs chromium | grep x264 returns nothing.
pkg info | grep x264 gives libx264-0.161.3020.
pkg info --required-by libx264 returns ffmpeg-4.3.1_9,1.
pkg info --required-by ffmpeg gives, among others, chromium.

Are you sure that you have upgraded all your packages?

This kind of mess often comes when you upgrade the softwares one by one instead of upgrading all packages at the same time.
 
OP
CodeJoule

CodeJoule

New Member


Messages: 9

So, I report back. Chromium was and is version 87.0.4280.88, before and after upgrade (all packages).
Still no problem.

pkg info --required-shlibs chromium | grep x264 returns nothing.
pkg info | grep x264 gives libx264-0.161.3020.
pkg info --required-by libx264 returns ffmpeg-4.3.1_9,1.
pkg info --required-by ffmpeg gives, among others, chromium.

Are you sure that you have upgraded all your packages?

This kind of mess often comes when you upgrade the softwares one by one instead of upgrading all packages at the same time.
Wow! This helped a lot, thank you. I did not know about this --required-by switch, as I am still getting the hang of FreeBSD after about a year of using it on and off. :) I realized the problem was that I locked multimedia/ffmpeg from updating via pkg, as I normally build it from ports for LAME (mp3) support. I rebuilt it and now everything is solved; I was able to remove the links I made earlier with no problem.

Thank you again.
 

Emrion

Well-Known Member

Reaction score: 140
Messages: 494

You have all the details here: pkg-info(8).
In fact, you can also use the short version of switches (-r here). I prefer to use here the long version for some obvious pedagogical reasons.

From my little experience of FreeBSD, I can tell you that it's better to update frequently and all the third-party softwares at once. Locking a package often leads to more or less serious problems. And, of course, avoid mixing ports and packages unless you know exactly what you're doing.
 
Top