View previous topic :: View next topic |
Author |
Message |
pablo_supertux Advocate
Joined: 25 Jan 2004 Posts: 2931 Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)
|
Posted: Wed Nov 15, 2017 8:08 pm Post subject: emerge Ausgabe von Fehlern verstehen |
|
|
Ich hab seit Wochen kein eix-sycn gemacht und heute habe ich es gemacht. Wie erwartet werde ich von Abhängigkeitsfehlern überschlagen.
emerge liefert mittlerweile so viel Info, dass ich noch nicht in der Lage bin zu verstehen, was emerge mir genau sagen will.
Z.b.
Code: |
emerge: there are no ebuilds to satisfy ">=sys-libs/zlib-1.2.8-r1:0/0=[abi_x86_32(-),abi_x86_64(-)]".
|
was genau bedeutet :0/0=[abi_x86_32(-),abi_x86_64(-)]? eix zlib sagt: Available versions: 1.2.11(0/1) 1.2.11-r1(0/1) und installiert ist .2.11-r1. Was ist (0/1)? Was ist das für ein slot?
oder
Code: |
All ebuilds that could satisfy "=dev-util/boost-build-1.63*" have been masked.
|
Wenn ich aber eix boost mache, bekomme ich 1.62.0-r1(0/1.62.0)^t 1.63.0(0/1.63.0)^t (in Available versions). Was heißt hier ^t, und das ist wieder diese Notation (0/1.63.0). Bei mir ist übrigens 1.62.0-r1 drauf, wieso bekomme ich fiese Fehler?
Eine andere Ausgabe, die mich zweifeln lässt:
Code: |
(dev-libs/boost-1.62.0-r1:0/1.62.0::gentoo, installed) pulled in by
>=dev-libs/boost-1.46.0:0/1.62.0= required by (media-video/mkvtoolnix-9.6.0:0/0::gentoo, installed)
^^^^^^^^^^
(and 2 more with the same problem)
|
Was heißt >=dev-libs/boost-1.46.0:0/1.62.0= denn das? Dass media-video/mkvtoolnix boost nur in den Versionen zwischen 1.46.0 und 1.62.0 haben will?
Und vor allem, wie kann man diese Probleme lösen?
Danke _________________ A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth! |
|
Back to top |
|
|
LuxJux Guru
Joined: 01 Mar 2016 Posts: 497 Location: Germany/Berlin
|
Posted: Wed Nov 15, 2017 11:03 pm Post subject: |
|
|
boost soll man mit
bauen
P.S: bei mir ist boost= 1.65.1 |
|
Back to top |
|
|
michael_w Guru
Joined: 22 Feb 2006 Posts: 469 Location: 09xxx
|
Posted: Thu Nov 16, 2017 2:55 pm Post subject: |
|
|
LuxJux wrote: | boost soll man mit
bauen |
Und das löst obiges Problem? Glaub ich eher nicht. Und Gegenfrage, wieso soll man das so bauen, wo steht das und was passiert wenn man das nicht beachtet? Ich habe boost noch nie mit makeopts=-j1 gebaut (immer volle Pulle), was muss ich befürchten? _________________ Linux ryzen 6.6.21-gentoo-dist #1 SMP PREEMPT_DYNAMIC Sun Mar 24 18:32:46 CET 2024 x86_64 AMD Ryzen 7 PRO 4750G with Radeon Graphics AuthenticAMD GNU/Linux |
|
Back to top |
|
|
firefly Watchman
Joined: 31 Oct 2002 Posts: 5175
|
Posted: Thu Nov 16, 2017 3:40 pm Post subject: Re: emerge Ausgabe von Fehlern verstehen |
|
|
pablo_supertux wrote: |
Was heißt >=dev-libs/boost-1.46.0:0/1.62.0= denn das? Dass media-video/mkvtoolnix boost nur in den Versionen zwischen 1.46.0 und 1.62.0 haben will? |
Der Part hinter dem "/" (0/1.62.0) spezifiziert einen subslot.
Allgemeine info zu subslots: https://wiki.gentoo.org/wiki/Sub-slots_and_Slot-Operators
Vereinfacht gesagt werden subslots verwendet falls eine neuere version eines pakets im selben slot eine Änderung hat, welche die ABI bricht.
Wenn portage feststellt das ein update für boost installiert werden soll, welches aber einen anderen subslot zugeordnet ist so baut portage automatisch alle pakete nue, welche das paket mit dem alten subslot als abhängigkeit spezifizieren.
In dem oben genannten Beispiel verlangt mkvtoolnix boost in mindestens der version 1.46.0 und neuer wobei die neueren Versionen dem subslot 1.62.0 zugeordnet sein sollen.
Bei dir soll wohl ein update von boost auf version 1.63.0 gemacht werden. Diese Version ist aber dem subslot 1.62.0 zugeordnet. Dadurch muss mkvtoolnix nach dem update von boost neu übersetzt werden, damit die neuen Abhängigkeiten stimmen.
Ich hoffe das hilft etwas weiter.
Wie schon gesagt eigendlich sollte der rebuild von mkvtoolnix automatisch von portage gemacht werden, wenn das update von boost durchgeführt werden soll. Aber ab welcher version das so ist kann ich nicht sagen _________________ Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn. |
|
Back to top |
|
|
LuxJux Guru
Joined: 01 Mar 2016 Posts: 497 Location: Germany/Berlin
|
|
Back to top |
|
|
ChrisJumper Advocate
Joined: 12 Mar 2005 Posts: 2390 Location: Germany
|
Posted: Thu Nov 16, 2017 7:30 pm Post subject: |
|
|
Bei mir lief boost auf den meisten Systemen so durch. Erinnere mich aber das ein System es (-j1) auch haben wollte.
@pablo_supertux
Vergiss nicht das da auch ein gcc-upgrade auf 5.4 mit dabei ist. Das würde ich wenn du eh schon Updates machst ziemlich früh ansetzen. Gentoo wiki: Upgrading GCC |
|
Back to top |
|
|
pablo_supertux Advocate
Joined: 25 Jan 2004 Posts: 2931 Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)
|
Posted: Thu Nov 16, 2017 7:53 pm Post subject: Re: emerge Ausgabe von Fehlern verstehen |
|
|
firefly wrote: | pablo_supertux wrote: |
Was heißt >=dev-libs/boost-1.46.0:0/1.62.0= denn das? Dass media-video/mkvtoolnix boost nur in den Versionen zwischen 1.46.0 und 1.62.0 haben will? |
Der Part hinter dem "/" (0/1.62.0) spezifiziert einen subslot.
|
Ich war in der Annahme, dass slots/subslots nur numerisch sein können, deshalb fand ich das verwirrend
firefly wrote: |
Vereinfacht gesagt werden subslots verwendet falls eine neuere version eines pakets im selben slot eine Änderung hat, welche die ABI bricht.
Wenn portage feststellt das ein update für boost installiert werden soll, welches aber einen anderen subslot zugeordnet ist so baut portage automatisch alle pakete nue, welche das paket mit dem alten subslot als abhängigkeit spezifizieren.
|
Wenn das meistens portage macht, wieso ist es hier fehlgeschlagen?
firefly wrote: |
In dem oben genannten Beispiel verlangt mkvtoolnix boost in mindestens der version 1.46.0 und neuer wobei die neueren Versionen dem subslot 1.62.0 zugeordnet sein sollen.
Bei dir soll wohl ein update von boost auf version 1.63.0 gemacht werden. Diese Version ist aber dem subslot 1.62.0 zugeordnet. Dadurch muss mkvtoolnix nach dem update von boost neu übersetzt werden, damit die neuen Abhängigkeiten stimmen.
|
D.h. in solchen Fällen müsste ich zuerst boost aktualisieren und dann deren Abhängigkeiten in 2 separate Schritte?
ChrisJumper wrote: |
@pablo_supertux
Vergiss nicht das da auch ein gcc-upgrade auf 5.4 mit dabei ist. Das würde ich wenn du eh schon Updates machst ziemlich früh ansetzen. Gentoo wiki: Upgrading GCC |
ja, das sollte ich auch machen. Danke für den Hinweis. _________________ A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth! |
|
Back to top |
|
|
ChrisJumper Advocate
Joined: 12 Mar 2005 Posts: 2390 Location: Germany
|
Posted: Thu Nov 16, 2017 8:26 pm Post subject: Re: emerge Ausgabe von Fehlern verstehen |
|
|
pablo_supertux wrote: |
D.h. in solchen Fällen müsste ich zuerst boost aktualisieren und dann deren Abhängigkeiten in 2 separate Schritte?
|
So hab ich das auch gemacht, aber man muss halt aufpassen das immer ein boost installiert ist. Also emerge -u boost und wenn das sauber durch war, kannst du die andere Version entfernen. Wobei natürlich auch die Programme neu gebaut werden müssen die Boost benötigen.. (Preserved-rebuild)
Ich glaube Portage verschluckt sich öfter einfach mit den Abhängigkeiten. Da muss man die dann selber lösen. Sonst bekommt man den Hinweise das Portage nicht los legt, weil quasi zwei Gruppen sich widersprechen.
Dann guckt man darauf und muss überlegen ob man sich für die eine oder die andere Seite entscheiden will. Die alternative ist natürlich immer das alle Abhängigkeiten die die alte Version wollen, komplett mit der neuen neu gebaut werden.
Bin mir nicht sicher, aber das Anzeigen dieser großen Böcke verhindert halt das er noch mehr arch-Keywords verlangt und das so eine Aufwärtsspirale wird. Als auch das man öfter die Wahl hat vor dem Kompilieren darauf hingewiesen wird: z.B. "Dann muss ich auch Libre Office neu bauen wenn wir jetzt das Paket aktualisieren".
Bin da aber kein guter Ratgeber hier weil ich selber immer z.B. alle QT-Pakete neu baue bei einem etwas größeren QT-Update weil die sich bei mir immer blockieren. |
|
Back to top |
|
|
Josef.95 Advocate
Joined: 03 Sep 2007 Posts: 4552 Location: Germany
|
Posted: Fri Nov 17, 2017 4:02 am Post subject: |
|
|
Quote: | @pablo_supertux
Vergiss nicht das da auch ein gcc-upgrade auf 5.4 mit dabei ist. Das würde ich wenn du eh schon Updates machst ziemlich früh ansetzen. Gentoo wiki: Upgrading GCC |
Hm, in diesem Fall sollte man das umstellen auf den neuen >=gcc-5 Compiler wegen dem ABI-Wechsel besser erst nach dem @world Update und dem anschließenden --depclean machen. Das hat beim anschließenden nötigen rebuild den enormen Vorteil, das alle Dependencies schon sauber aufgelöst sind, und somit der rebuild in der passenden Reihenfolge durchbauen sollte.
Versucht den rebuild (wie in der News empfohlen) bitte nicht auf einem nicht komplett upgedateten System - dass würde ansonsten sicherlich zu vielen Compile-Errors führen.
Bei diesem nötigen rebuild ist die richtige Reihenfolge in der die Pakete gebaut werden sehr wichtig - und das funktioniert idR nur auf einem System auf dem keine Abhängigkeitskonflikte und Updates offen sind. |
|
Back to top |
|
|
|