You are not logged in.

#1 2015-12-10 08:22:19

zerophase
Member
Registered: 2015-09-03
Posts: 193

[SOLVED]How to Upgrade aur packages to use new C++ ABI?

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

#2 2015-12-10 08:38:16

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 8,628

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

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

#3 2015-12-10 08:48:27

Allan
Member
From: Brisbane, AU
Registered: 2007-06-09
Posts: 10,917
Website

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

The script will always list them...   the libstdc++.so.6 library has a dual ABI.

Offline

#4 2015-12-10 08:56:46

zerophase
Member
Registered: 2015-09-03
Posts: 193

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

Allan wrote:

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?

V1del wrote:

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

#5 2015-12-10 09:22:42

Allan
Member
From: Brisbane, AU
Registered: 2007-06-09
Posts: 10,917
Website

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

The new ABI is the default.  You will need to rebuild the package to use it.

Offline

#6 2015-12-10 15:13:38

doblerone
Member
Registered: 2011-12-08
Posts: 192

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

Allan wrote:

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

#7 2015-12-10 15:16:13

WorMzy
Forum Moderator
From: Scotland
Registered: 2010-06-16
Posts: 9,385
Website

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

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 X299 TOMAHAWK ARCTIC // Processor: Intel Core i7-7820X 3.6GHz // GFX: nVidia GeForce GTX 970 // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 5x 1TB HDD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

#8 2015-12-10 15:25:26

doblerone
Member
Registered: 2011-12-08
Posts: 192

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

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

#9 2015-12-10 15:37:32

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 8,628

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

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

#10 2015-12-10 15:46:43

WorMzy
Forum Moderator
From: Scotland
Registered: 2010-06-16
Posts: 9,385
Website

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

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 X299 TOMAHAWK ARCTIC // Processor: Intel Core i7-7820X 3.6GHz // GFX: nVidia GeForce GTX 970 // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 5x 1TB HDD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

#11 2015-12-10 15:52:02

sl1pkn07
Member
From: Spanishtán
Registered: 2010-03-30
Posts: 348

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

and the AUR binary (buildless) packages? like a jdk, wps, etc?

Offline

#12 2015-12-10 16:08:02

ugjka
Member
From: Latvia
Registered: 2014-04-01
Posts: 1,381

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

Can anyone confirm that google-chrome still works after this?


$ugjka @ HandCash

Offline

#13 2015-12-10 16:50:53

WorMzy
Forum Moderator
From: Scotland
Registered: 2010-06-16
Posts: 9,385
Website

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

After what?

The old ABI is still there, any precompiled packages using the old ABI will continue to use that.


Sakura:-
Mobo: MSI X299 TOMAHAWK ARCTIC // Processor: Intel Core i7-7820X 3.6GHz // GFX: nVidia GeForce GTX 970 // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 5x 1TB HDD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

#14 2015-12-10 17:10:19

pekka
Member
Registered: 2011-07-21
Posts: 102

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

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

#15 2015-12-10 17:12:56

Scimmia
Bug Wrangler
Registered: 2012-09-01
Posts: 7,435

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

Right. Any of those that also link to libraries with the new ABI will be a problem.

Offline

#16 2015-12-10 18:06:22

hamelg
Member
From: France
Registered: 2008-06-19
Posts: 116

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

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

#17 2015-12-10 18:12:36

Scimmia
Bug Wrangler
Registered: 2012-09-01
Posts: 7,435

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

hamelg, what script are you running?

Offline

#18 2015-12-10 18:15:51

hamelg
Member
From: France
Registered: 2008-06-19
Posts: 116

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

#!/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

#19 2015-12-10 18:23:15

Scimmia
Bug Wrangler
Registered: 2012-09-01
Posts: 7,435

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

Ah, it can't handle packages with no files.

Offline

#20 2015-12-10 18:32:15

hamelg
Member
From: France
Registered: 2008-06-19
Posts: 116

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

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

#21 2015-12-10 18:40:16

Scimmia
Bug Wrangler
Registered: 2012-09-01
Posts: 7,435

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

foutrelis fixed the script on the front page.

Offline

#22 2015-12-10 18:49:37

foutrelis
Developer
From: Athens, Greece
Registered: 2008-07-28
Posts: 693
Website

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

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

#23 2015-12-11 20:00:54

zerophase
Member
Registered: 2015-09-03
Posts: 193

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

Cool, guess I'll just wait for the packages I don't have access to the source code to update.

Offline

#24 2015-12-12 11:02:52

catalin.hritcu
Member
From: Paris, France
Registered: 2014-04-27
Posts: 26
Website

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

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

#25 2015-12-12 13:57:56

Scimmia
Bug Wrangler
Registered: 2012-09-01
Posts: 7,435

Re: [SOLVED]How to Upgrade aur packages to use new C++ ABI?

catalin.hritcu wrote:

The information provided with this script is Newbie unfriendly...

So use it as an opportunity to move beyond being a Newbie.

Offline

Board footer

Powered by FluxBB