You are not logged in.

#1 2016-03-24 18:10:36

tony5429
Member
Registered: 2006-03-28
Posts: 1,017

Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

When I run the script that was posted on the Arch Linux website on 10 Dec 2015 (see https://www.archlinux.org/news/c-abi-change), it returns the lib32-mesa package. However, I am using the latest version of that package (11.1.2-1) from the official multilib repo, which was actually updated in February of this year. Is it possible that the offical repo has a version of the lib32-mesa package which needs to be rebuilt with the new ABI?

[tony@laptop ~]$ more script.sh
#!/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)
[tony@laptop ~]$ bash script.sh | grep lib32-mesa
lib32-mesa
[tony@laptop ~]$ pacman -Q lib32-mesa
lib32-mesa 11.1.2-1

Offline

#2 2016-03-24 18:44:12

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,544

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

Look at what the script does. It simply tells you what is linked to libstdc++, not what is using the old ABI.

Offline

#3 2016-03-24 19:18:29

tony5429
Member
Registered: 2006-03-28
Posts: 1,017

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

Hmm..but the statement on that page says: "You can get a list of packages to rebuild using the following shell script." This made me think that the resulting list would be a list of the packages which would need to be rebuilt... Do you know how I might be able to get an actual list of just the packages which were built using the old ABI (and therefore do truly need to be rebuilt)? Thanks.

Offline

#4 2016-03-24 19:29:50

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,523
Website

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

tony5429 wrote:

Is it possible that the offical repo has a version of the lib32-mesa package which needs to be rebuilt with the new ABI?

No.  Not really, unless there was a major screw up.

The lib32-mesa package, and nearly everything else in the repos, needed to be rebuilt with the new ABI. But they all were, quite some time ago.

tony5429 wrote:

the statement on that page says: "You can get a list of packages to rebuild using the following shell script."

Perhaps it is a bit ambiguous.  That is a list of packages that need to be rebuilt against the new ABI, yes.  They all needed to be rebuilt, and all the once in the official repos were.  All you need to be concerned with is anything on that list that you have from the AUR - you then need to rebuild it yourself (if you haven't already).

EDIT: that announcement you link to does clearly say that it applies to "non-repo" packages.  You are referring to a package in one of the supported repos.  So it does not apply.

EDIT 2: something doesn't add up.  That script takes a package list input from pacman -Qm, so if you're lib32-mesa is actually from the multilib repo as you claim, it couldn't possibly be listed in the output of that script.  Are you sure you have multilib enabled?


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#5 2016-03-24 20:01:49

tony5429
Member
Registered: 2006-03-28
Posts: 1,017

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

Thanks for the info, Trilby. In response to EDIT 2: I installed lib32-mesa from the multilib repo as a dependency for android-studio (an AUR package). After installing lib32-mesa, I disabled the multilib repo as I had only needed it for a handful of lib32 packages (all dependencies of android-studio). Does that explain why it appears in the output of the script?

Offline

#6 2016-03-24 20:04:12

headkase
Member
Registered: 2011-12-06
Posts: 1,976

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

Yes, if a repo where a package is installed from is removed and the package is therefore no longer contained in one then it always becomes a manual package, which usually means (but not in your case) an AUR package.  As advice you should keep the multilib repo enabled even if you think "you have what you need out of it" for the case when what you have is inevitably updated and you might not have realized it.

Offline

#7 2016-03-24 20:23:09

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,523
Website

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

headkase wrote:

which usually means (but not in your case) an AUR package.

I disagree with this part.  It does become equivalent to an AUR package.  Without the repo enabled, the user would be responsible for building/updating it themselves.  For this specific question it is not an issue as the package has been rebuilt since the ABI change, but this package is now just like any other locally installed package (e.g., AUR package).


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#8 2016-03-24 20:30:30

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,774

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

Trilby wrote:

disagree with this part.  It does become equivalent to an AUR package.  Without the repo enabled, the user would be responsible for building/updating it themselves.  For this specific question it is not an issue as the package has been rebuilt since the ABI change, but this package is now just like any other locally installed package (e.g., AUR package).

Except...

When you say to yourself, "No problem, I'll just clone that package from the AUR.  Oh, wait...   Oh, it must not have migrated from the old AUR.  Okay, I'll check the archive.  Wait, Whickey Tango Foxtrot, over?"

Last edited by ewaller (2016-03-24 20:30:56)


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#9 2016-03-24 21:12:09

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,523
Website

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

I didn't say he could use an existing AUR package to build it.  Just that he'd have to build it himself.

The AUR is just a collection of build scripts.  Users either get packages from the repos, or build them with makepkg.  Whether or not a a ready made PKGBUILD exists in the AUR does not affect that dichotomy.  (There is a PKGBUILD in the ABS).


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#10 2016-03-24 21:17:13

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,774

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

Of course I know that.  I also know that even I don't always remember how my system arrived at its current state.  I could see myself installing something, then months later wonder why I had a particular repo enabled and deciding to drop it.  Time passes.  Then find a package that need updating and wonder how it got there.  I thought your analysis was brilliant and when I read tony5429's response, I thought that could well have been me.   This thread will alter my thinking when troubleshooting in the future.


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#11 2016-03-24 21:53:27

tony5429
Member
Registered: 2006-03-28
Posts: 1,017

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

Ah! Yes, after re-enabling multilib, lib32-mesa no longer appears in the output of that script. That said, these two AUR packages continue to show up even after rebuilding. Is there a way I can confirm that these two packages are in fact using the new ABI? Thanks.

[tony@laptop ~]$ bash script.sh
android-sdk
android-studio

Offline

#12 2016-03-24 22:17:43

headkase
Member
Registered: 2011-12-06
Posts: 1,976

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

Trilby, ewaller, what have I started?! wink  lol.

Offline

#13 2016-03-24 22:20:30

headkase
Member
Registered: 2011-12-06
Posts: 1,976

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

tony5429 wrote:

Ah! Yes, after re-enabling multilib, lib32-mesa no longer appears in the output of that script. That said, these two AUR packages continue to show up even after rebuilding. Is there a way I can confirm that these two packages are in fact using the new ABI? Thanks.

[tony@laptop ~]$ bash script.sh
android-sdk
android-studio

You can try to rebuild the packages just to be sure and if you continue to receive the warning after installing them again and they work anyway then it can be safely ignored for now.  The rebuild just means that all official packages have moved over to the new ABI.  The old ABI is still there and as long as a program consistently uses only the old ABI without trying to mix it with the new ABI then it will continue to work.

Offline

#14 2016-03-24 22:22:32

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,544

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

headkase wrote:

...and if you continue to receive the warning after installing them again and they work anyway then it can be safely ignored for now.

Again, read the script. The packages will always show up.

Offline

#15 2016-03-24 22:25:33

headkase
Member
Registered: 2011-12-06
Posts: 1,976

Re: Does the lib32-mesa Package in the Multilib Repo Need to Be Rebuilt?

I'm not familiar with the exact packages but I said that with the understanding that if they were just repackaging a binary program from another source then those binaries could have been compiled with the old ABI and do not use the new so they would continue to work on Arch.

Edit: and the binaries, if it is, dependencies must also have the old ABI available.

Last edited by headkase (2016-03-24 22:32:46)

Offline

Board footer

Powered by FluxBB