You are not logged in.
Pages: 1
I frequently run into issues starting applications were the problem is solely due to upgrading a library AND was completely irrelevant.
As an example, I upgraded libboost on my system from 1.57 to 1.58 using the official packages:
error while loading shared libraries: libboost_iostreams.so.1.57.0: cannot open shared object file: No such file or directory
Checking my lib directory, sure enough there exists 2 entrees for this library:
libboost_iostreams.so.1.58.0
libboost_iostreams.so@ -> libboost_iostreams.so.1.58.0
Most of the time, the program will execute with either version of the library, there were no changes which affected it.
For example, if I create a symlink in /usr/lib such as:
libboost_iostreams.1.57.0@ -> libboost_iostreams.so the program will execute without any errors[assuming
this was the only library]
Is there a compile time option I can add to makepkg so that instead of linking to the version specific file, it links to the generic file entry?
Offline
No. You should not be upgrading individual libraries like that - partial upgrades are unsuppoted in Arch.
Run pacman -Syu to upgrade your system.
Offline
Run pacman -Syu to upgrade your system.
The problem description seems a little incomplete, but OP might be more concerned with packages that live outside any of the repos known to pacman.
Offline
Is there a compile time option I can add to makepkg so that instead of linking to the version specific file, it links to the generic file entry?
No, because it's a really bad thing to do. The filename (and soname) changes because the ABI changed. The libboost_iostreams.1.57.0 symlink you mention is a horrible mistake that WILL get you into trouble.
Online
tomk wrote:Run pacman -Syu to upgrade your system.
The problem description seems a little incomplete, but OP might be more concerned with packages that live outside any of the repos known to pacman.
In this particular case it was for wesnoth-devel - which is from the aur. However I have run into the same issue with other apps. including apps from the the main repository.
Generally it occurs with either games or utilities[by utilities I mean things like usbview or usbutils].
For apps like that, I don't particular care if they break due to having to add this kind of hack - it has no effect on my underlying system. Quit often I don't want to upgrade those tools because I actively do not want the features that have been added or I installed the app for a specific feature which was removed. If they segfault...then I'll work around it.
It happens a lot with packages related to usb and bluetooth - early tools have more knobs to fiddle with when trying to set up stupid stuff. Stupid example here is setting up a fake 3d glasses server on my desktop to play around with making the screen larger then it really is[take a 1680 wide screen and make it 2500 wide by swapping the viewpoint in sync with the 3d glasses shutters. That one just comes to mind because I was fiddling with that recently...till I discovered that going outside the arch repo and installing bluez from git was more useful.
It's a real pain dealing for apps with a gui, since the app silently dies when there are library issues and then I have to figure out the command from the desktop file, open a terminal, run it manually...figure out if upgrading it will break my use case, and if so then monkeypatch all those lib files to get it to run[and hopefully remember to get rid of those symbolic links when I'm done]
Offline
You're operating it a totally unsupported manner. tomk already gave you the answer, you update everything or nothing.
The real problem here is that you're doing all of this with very little knowledge of library ABIs and dynamic linking. If you really want to run this way, you need to do more reading.
Last edited by Scimmia (2015-05-29 16:09:18)
Online
Moving to Newbie Corner.
Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD
Making lemonade from lemons since 2015.
Offline
Hint: If you have AUR packages broken as a result of this, you simply have to rebuild them. But yeah follow everyone's advice and go read up on libraries, ABI and dynamic linking
Offline
Pages: 1