You are not logged in.

#1 2022-03-17 14:02:11

mhdry
Member
From: Bonn
Registered: 2021-07-25
Posts: 16

[solved] vlc media player broken after latest update of qt-base

After the last update to qt5-base-5.15.3+kde+r133-1.0, vlc fails:

$ vlc
VLC media player 3.0.16 Vetinari (revision 3.0.13-8-g41878ff4f2)
[0d24b290] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Cannot mix incompatible Qt library (5.15.2) with this library (5.15.3)

Trying to install vlc from staging fails also due to an incompatible ffmpeg version:

$ sudo pacman -U ./vlc-3.0.16-8.0-pentium4.pkg.tar.zst
loading packages...
resolving dependencies...
warning: cannot resolve "ffmpeg4.4", a dependency of "vlc"
:: The following package cannot be upgraded due to unresolvable dependencies:
      vlc

Last edited by mhdry (2022-03-25 15:22:18)

Offline

#2 2022-03-19 13:01:58

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 984
Website

Re: [solved] vlc media player broken after latest update of qt-base

Yep, that's because ffmpeg4.4 has some rebuilding issues. This is this bug here: https://bugs.archlinux32.org/index.php? … ask_id=239
I triggered a rebuild in the hope it will at least build for pentium4..

Offline

#3 2022-03-19 20:49:22

levi
Moderator
From: Yorkshire, UK
Registered: 2018-06-16
Posts: 1,197

Re: [solved] vlc media player broken after latest update of qt-base

Yes, xmm2 seems to be one of the 128-bit registers originally introduced by SSE (the original spin of that).  That said, I thought the i686 target mapped on to the pentium3 line of processors (indeed the supported architectures page suggetss that i686 targets having SSE but not SSE2).  So if that's true I'm surprised this is failing on i686, while I'd expect that to fail on i486.


Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.

Offline

#4 2022-03-20 07:21:16

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 984
Website

Re: [solved] vlc media player broken after latest update of qt-base

The problem is usually complex: the easiest thing is, when 'configure' or 'meson' has options where you can just choose '--with-sse' or so. Sadly, they
either are broken, don't get properly rewritten if people replace 'autoconf' with 'cmake/meson' or they get simply dropped, because ceratin CPU features
are considered to be standard now. The worst case is auto-detection, so SSE2 gets detected in any build-chroot. Thus we started once to use 486-emulations
in build virtual machines (we could do the same for i686) but this slows down the build process significantly. For known good packages (which is hopefully
the majority) it's simpler to build them on 64-bit hosts. The problem is really, that one has to go through all the code and mainly the build instructions
just to see, if they build the right thing.

Sometimes the compilers themselves raise the minimal requirements for a -march=i686 for instance (this effectively broke quite some things back a while,
mainly because we had to hunt down all the wrongly built packages some days after the first wrong package has been built).

I'm still dreaming of more automatisation and checks which could help to catch those problems early, but simply sniffing the opcodes in libaries and binaries
is a little bit too simple.

pentium4 is mapped to MMX,SSE,SSE2
i686 is mapped to MMX,SSE
i486 is mapped to - well - i486 :-)

The problem is that even developers sometimes don't make a distinction anymore between for instance SSE and SSE2, so you can find --with-sse
flags with actually mean SSE2 things when you have a closer look.

This situation will only get worse if Arch decides to increase their  minimal ISA-level (https://www.phoronix.com/scan.php?page= … 3-Port-RFC).
To me it's not clear how they are planning to handle the non-ISA-64-bit people (adding an 64lessv3 architecture to Archlinux32 seems a little bit
a mis-namer IMHO). OTOH they will have good use again for the 'arch' flag in PKGBUILD then. :-)

Offline

#5 2022-03-20 08:08:57

levi
Moderator
From: Yorkshire, UK
Registered: 2018-06-16
Posts: 1,197

Re: [solved] vlc media player broken after latest update of qt-base

According the the bug, this appears to be hand crufted code in the ffmpeg source, so basically the developers have said bad luck i486.  If the toolchain is rejecting that opcode unnecesarily on i686, it might be worth checking your flags.  That said, all in, it looks like the developers have simply opened an asm block, and something, perhaps the precompiler has spat out opcodes relating to all registers, so maybe with the right precompiler flags it can be made to build on i486 as well.  It does seem as if the ffmpeg developers have said hard cheese arm users however.


Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.

Offline

#6 2022-03-20 08:45:43

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 984
Website

Re: [solved] vlc media player broken after latest update of qt-base

Then I can only try to patch out this assembly code.. and make the rest of ffmpeg work..

Offline

#7 2022-03-20 18:06:32

levi
Moderator
From: Yorkshire, UK
Registered: 2018-06-16
Posts: 1,197

Re: [solved] vlc media player broken after latest update of qt-base

That's probably the easiest workaround for now, yes.  I'm not familiar with the ffmpeg code though I am a fairly heavy user of it's functionality.  I'd guess the asm is restricted to a specific codec.  Looking at the source mirror on github, I can see that the intent is only to compile that asm if a SSE2 configuration flag is set.  I don't know why that's being set.  Additionally, that's the only asm intro I've seen that's not marked volatile.


Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.

Offline

#8 2022-03-20 19:12:15

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 984
Website

Re: [solved] vlc media player broken after latest update of qt-base

It's not only that, there are some mis-configures to find x264 and some really ugly linking issues (not sure this is because of LTO, though I disabled LTO)..

Offline

#9 2022-03-25 15:22:02

mhdry
Member
From: Bonn
Registered: 2021-07-25
Posts: 16

Re: [solved] vlc media player broken after latest update of qt-base

Upgraded today and the latest version seems to work fine, thank you very much!

Offline

#10 2022-03-25 20:22:44

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 984
Website

Re: [solved] vlc media player broken after latest update of qt-base

Cool, you're welcome. :-)

Offline

#11 2022-03-26 15:57:26

Roboron3042
Member
Registered: 2018-04-13
Posts: 7

Re: [solved] vlc media player broken after latest update of qt-base

ffmpeg installs now, but packages depending on it still need rebuilding because they link to a previous version

nextcloud: error while loading shared libraries: libavcodec.so.58: cannot open shared object file: No such file or directory

Last edited by Roboron3042 (2022-03-26 15:58:32)

Offline

#12 2022-03-26 16:21:49

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 984
Website

Re: [solved] vlc media player broken after latest update of qt-base

Ok, I'll make a list and do a rebuild. nexrtcloud has on optdepend on ffmpeg, interesting..

Offline

#13 2022-03-26 18:49:39

levi
Moderator
From: Yorkshire, UK
Registered: 2018-06-16
Posts: 1,197

Re: [solved] vlc media player broken after latest update of qt-base

I have libavcodec.so.59 provided by package ffmpeg, bu libavcodec.so.58 provided by package ffmpeg4.  Perhaps just installing ffmpeg4 will be enough for the time being.


Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.

Offline

#14 2022-03-27 11:58:17

Roboron3042
Member
Registered: 2018-04-13
Posts: 7

Re: [solved] vlc media player broken after latest update of qt-base

abaumann wrote:

Ok, I'll make a list and do a rebuild. nexrtcloud has on optdepend on ffmpeg, interesting..

I guess it is because you can run nextcloudcmd stand-alone, but for the nextcloud GUI you definitely need it.

I have libavcodec.so.59 provided by package ffmpeg, bu libavcodec.so.58 provided by package ffmpeg4.  Perhaps just installing ffmpeg4 will be enough for the time being.

Close, but not enough...

nextcloud: error while loading shared libraries: libvpx.so.6: cannot open shared object file: No such file or directory

Offline

#15 2022-03-28 03:38:00

levi
Moderator
From: Yorkshire, UK
Registered: 2018-06-16
Posts: 1,197

Re: [solved] vlc media player broken after latest update of qt-base

Right, libvpx.so seems to have moved on to version 7 now.  That's available from extra, in community there's a libvpx1.3 package, but I guess that's too old.

Looks like you need ffmpeg4 installed but nextcloud could do with a kick to rebuild it.


Architecture: pentium4, Testing repos: Yes, Hardware: EeePC 901+2GB RAM+OS half on the SD card.

Offline

#16 2022-03-28 06:01:59

abaumann
Administrator
From: Zurich
Registered: 2019-11-14
Posts: 984
Website

Re: [solved] vlc media player broken after latest update of qt-base

It got the kick(s) :-)

-rw-r--r-- 1 http http       310 Mar 25 09:01 pool/nextcloud-23.0.3-1.0-any.pkg.tar.zst.sig

let me push it to stable (and hope all the nextcloud apps move along)

Offline

#17 2022-03-28 16:22:14

Roboron3042
Member
Registered: 2018-04-13
Posts: 7

Re: [solved] vlc media player broken after latest update of qt-base

Thank you. Nextcloud now works. Although the libvpx issue is also present in other packages such as falkon or telegram-desktop.

Unrelated to previous, but also an inconsistency: mpd asks for libnfs.so.14 but only libnfs.so.13 is in the system (this at least can be fixed with a symlink). This is solved in last update.

Last edited by Roboron3042 (2022-03-30 15:38:06)

Offline

Board footer

Powered by FluxBB