You are not logged in.
I tried uninstalling and reinstalling a couple of aur packages, so they'd use the new ABI. But, even after a complete removal and reinstall, the script for finding packages using the old ABI still lists them.
#!/bin/bash
while read pkg; do
mapfile -t files < <(pacman -Qlq $pkg | grep -v /$)
grep -Fq libstdc++.so.6 "${files[@]}" 2>/dev/null && echo $pkg
done < <(pacman -Qmq)
Do I just have to wait for package maintainers to update the related files?
Last edited by zerophase (2015-12-11 20:01:20)
Offline
Reinstalling as in you rebuilt them from source code or you reinstalled the same package or are those bin packages? If any of the latter two this isn't a surprise
See Allan's post
Last edited by V1del (2015-12-10 08:52:46)
Offline
The script will always list them... the libstdc++.so.6 library has a dual ABI.
Offline
The script will always list them... the libstdc++.so.6 library has a dual ABI.
Alright, so if they're rebuilt they'll use the new ABI, but still show up?
Reinstalling as in you rebuilt them from source code or you reinstalled the same package or are those bin packages? If any of the latter two this isn't a surprise
I reinstalled using the same package. Do I need to download them from the aur, and just manually build each package? Is there an option I need to append make with to use the new ABI?
Offline
The new ABI is the default. You will need to rebuild the package to use it.
Offline
The new ABI is the default. You will need to rebuild the package to use it.
Sorry if it's a stupid question, but to reinstall those packages from AUR is the same thing as to rebuild them?
Offline
Rebuilding them means running makepkg and making a new package.
"Reinstalling" is ambiguous, as you could just be reinstalling an old build with pacman -U.
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
Thanks for the reply.
I "reinstalled" them using yaourt -S package, which use the AUR repository. According to the wiki, "AUR contains package descriptions (PKGBUILDs) that allow you to compile a package from source with makepkg and then installs them via pacman".
Offline
Which rebuilds them usually, but depending on how you configured it it might just install a previously built package again, however the difference should be rather apparent. (Simply spoken: Did you see a shitton of text before it asked to install the finished package? that likely means you rebuilt it as well)
Offline
If you don't know the difference between building a package and installing one, you shouldn't be using helpers like yaourt which blur the lines between the two..
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
and the AUR binary (buildless) packages? like a jdk, wps, etc?
Offline
Can anyone confirm that google-chrome still works after this?
https://ugjka.net
paru > yay | vesktop > discord
pacman -S spotify-launcher
mount /dev/disk/by-...
Offline
After what?
The old ABI is still there, any precompiled packages using the old ABI will continue to use that.
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
This is very hard to normal user.
So, i cant rebuid aur package use new ABI, if package uses precompiled packages.
only original precompiled package maintainer can do.
If i remove aur packages and reinstall and packages still uses old ABI , can do nothing.
Last edited by pekka (2015-12-10 17:13:22)
Offline
Right. Any of those that also link to libraries with the new ABI will be a problem.
Online
Here, the script doesn't work. It processes 2 packages, then exits ?!
$ pacman -Qmq|wc -l
69
$ bash -x a.sh
+a.sh:3:main: read pkg
++a.sh:7:main: pacman -Qmq
+a.sh:4:main: echo == adbextractor ==
== adbextractor ==
+a.sh:5:main: mapfile -t files
++a.sh:5:main: grep -v '/$'
++a.sh:5:main: pacman -Qlq adbextractor
+a.sh:6:main: grep -Fq libstdc++.so.6 /usr/bin/abe /usr/bin/adb-split.sh /usr/share/adbextractor/LICENSE /usr/share/adbextractor/README.TXT /usr/share/adbextractor/abe.jar /usr/share/adbextractor/perl/backupdecrypt.pl /usr/share/adbextractor/perl/backupencrypt.pl /usr/share/adbextractor/perl/tarfix.pl
+a.sh:3:main: read pkg
+a.sh:4:main: echo == akonadi-fake ==
== akonadi-fake ==
+a.sh:5:main: mapfile -t files
++a.sh:5:main: pacman -Qlq akonadi-fake
++a.sh:5:main: grep -v '/$'
+a.sh:6:main: grep -Fq libstdc++.so.6
+a.sh:3:main: read pkg
Offline
hamelg, what script are you running?
Online
#!/bin/bash
while read pkg; do
echo == $pkg ==
mapfile -t files < <(pacman -Qlq $pkg | grep -v /$)
grep -Fq libstdc++.so.6 "${files[@]}" && echo $pkg
done < <(pacman -Qmq)
I'm not alone
https://gist.github.com/foutrelis/12c419c37f472f480195
Last edited by hamelg (2015-12-10 18:18:49)
Offline
Ah, it can't handle packages with no files.
Online
a possible fix :
#!/bin/bash
while read pkg; do
mapfile -t files < <(pacman -Qlq $pkg | grep -v /$ ; echo)
grep -Fq libstdc++.so.6 "${files[@]}" 2>/dev/null && echo $pkg
done < <(pacman -Qmq)
Offline
foutrelis fixed the script on the front page.
Online
The issue has been corrected in the news item.
(grep was consuming the output from the 'pacman -Qmq' command; added <&- which closes grep's stdin file descriptor. While this makes for an unhappy grep when no files are provided as arguments [grep: (standard input): Bad file descriptor], it doesn't matter in this case.)
Offline
Cool, guess I'll just wait for the packages I don't have access to the source code to update.
Offline
The information provided with this script is Newbie unfriendly and got lots of people confused. How about explaining (here https://www.archlinux.org/news/c-abi-change/) that packages will be listed by the script even after they were rebuilt?
I guess there is no easy way to fix this script to only list packages that actually still need to be rebuilt, right?
Last edited by catalin.hritcu (2015-12-12 14:24:54)
Offline
The information provided with this script is Newbie unfriendly...
So use it as an opportunity to move beyond being a Newbie.
Online