Gentoo - Multilib - BOOM!
Heute ist Sonntag, mein traditioneller Linux-Update-Tag. (An dieser Stelle spare ich mir das übliche Fluchen, dass wieder wer im Portage-Tree rum gepfuscht hat.)
Es scheint, als wäre die native multilib-Unterstützung dann doch mal endlich fertig geworden. Das heißt, keine binären emul-linux-x86-* Pakete mehr. Soweit klingt das ja auch ganz gut. Also, flugs in die
Aber, ach, es will nicht. Warum möchte er mir plötzlich ein qtcore-4.8.6 installieren? Die Dependencies, die er da mal wieder auswirft, sind nicht sehr hilfreich. Was mir im emerge wirklich fehlt, ist eine klare Aussage dazu, welches Paket dafür verantwortlich ist, wenn plötzlich ein nicht freigegebenes Unstable in der Liste auftaucht. Das ist leider meist so verschwurbelt, dass man drei oder vier Deps nacheinander durchgehen muss, bis man den eigentlich Schuldigen ausgemacht hat.
In meinem Fall stand am Ende der Kette ein
Ein Blick ins ebuild erleuchtet mich: Das RDEPEND für amd64 enthält (unter Anderem) ein
Also, für's Erste Skype deinstalliert und danach läuft das Update. Da das auf Grund von 319 Paketneubauten etwas dauern wird, habe ich mich nebenbei schon mal schlau gelesen. Früher gab es wohl extra für diese alten ebuilds, die noch nichts von dem "echten" Multilib wissen, emul-Pakete, die aber als unstable markiert - und leer (also nichts installieren) - waren.[1] Wenn man die freigab, sollte es auch wieder mit dem Skype klappen. Problem: Die gibt es in dieser Form wohl nicht mehr.
Muss ich heute Abend also mal ein wenig rum testen. Eigentlich benötige ich Skype ja sowieso nicht auf den Rechnern, habe genügend andere Geräte, die das mittlerweile können. Aber! Aus Prinzip!
[1] Gentoo-Forum
Es scheint, als wäre die native multilib-Unterstützung dann doch mal endlich fertig geworden. Das heißt, keine binären emul-linux-x86-* Pakete mehr. Soweit klingt das ja auch ganz gut. Also, flugs in die
make.conf
die Variable ABI_X86="32 64"
gesetzt und mit einem emerge -avC `ls -d /usr/portage/app-emulation/emul-linux-x86-*`
die jetzt unnötigen Pakete radikal deinstalliert, bevor ich mich an ein emerge -avuDN world
gemacht habe.Aber, ach, es will nicht. Warum möchte er mir plötzlich ein qtcore-4.8.6 installieren? Die Dependencies, die er da mal wieder auswirft, sind nicht sehr hilfreich. Was mir im emerge wirklich fehlt, ist eine klare Aussage dazu, welches Paket dafür verantwortlich ist, wenn plötzlich ein nicht freigegebenes Unstable in der Liste auftaucht. Das ist leider meist so verschwurbelt, dass man drei oder vier Deps nacheinander durchgehen muss, bis man den eigentlich Schuldigen ausgemacht hat.
In meinem Fall stand am Ende der Kette ein
skype-4.3.0.37
, das allerdings schon vorher installiert war, weswegen ich erst mal kurz verdattert aus der Wäsche geschaut habe, denn das hat bisher ganz toll auch mit Qt 4.8.5 funktioniert.Ein Blick ins ebuild erleuchtet mich: Das RDEPEND für amd64 enthält (unter Anderem) ein
dev-qt/qtcore:4[abi_x86_32(-)]
und ein >=app-emulation/emul-linux-x86-qtlibs-${EMUL_X86_VER}[-abi_x86_32(-)]
. Offenbar braucht das die alten emul-Pakete.Also, für's Erste Skype deinstalliert und danach läuft das Update. Da das auf Grund von 319 Paketneubauten etwas dauern wird, habe ich mich nebenbei schon mal schlau gelesen. Früher gab es wohl extra für diese alten ebuilds, die noch nichts von dem "echten" Multilib wissen, emul-Pakete, die aber als unstable markiert - und leer (also nichts installieren) - waren.[1] Wenn man die freigab, sollte es auch wieder mit dem Skype klappen. Problem: Die gibt es in dieser Form wohl nicht mehr.
Muss ich heute Abend also mal ein wenig rum testen. Eigentlich benötige ich Skype ja sowieso nicht auf den Rechnern, habe genügend andere Geräte, die das mittlerweile können. Aber! Aus Prinzip!
[1] Gentoo-Forum