portupgrade: (RecursiveDependencyError)

noize

Active Member
Moin,

Nachdem ich mir gestern einen neuen Rechner zugelegt habe bekomme ich bei dem Versuch urxvt-unicode per portupgrade zu installieren besagten (RecursiveDependencyError).

Google spricht dazu auch nicht viel, nur dass es sich um einen Bug in Ruby handeln könnte, welcher auch schon älter ist. Zugehöriger Report ist hier zu finden:

http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/137958

http://www.mail-archive.com/freebsd-questions@freebsd.org/msg241178.html

bzw. hier geht es um selbiges Problem, allerdings um eine Installation per portinstall.

http://lists.freebsd.org/pipermail/freebsd-ruby/2010-August/000414.html

Bei mir sieht die Ausgabe dann so aus:

Code:
# portupgrade -N rxvt-unicode 
[Updating the portsdb <format:bdb_btree> in /var/db/pkg ... - 22385 port entries found.........1000.........2000...
......3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000...
......13000.........14000.........15000.........16000.........17000.........18000.........19000.........20000.........21000.........
22000... ..... done]
[Gathering depends for x11/rxvt-unicode
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
....................................................................................................
/usr/local/sbin/portupgrade:854:in `get_all_depends': recursive dependency (RecursiveDependencyError)
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:893:in `get_notinstalled_depends'
        from /usr/local/sbin/portupgrade:775:in `main'
        from /usr/local/sbin/portupgrade:753:in `each'
        from /usr/local/sbin/portupgrade:753:in `main'
        from /usr/local/lib/ruby/1.8/optparse.rb:1310:in `call'
        from /usr/local/lib/ruby/1.8/optparse.rb:1310:in `parse_in_order'
        from /usr/local/lib/ruby/1.8/optparse.rb:1306:in `catch'
        from /usr/local/lib/ruby/1.8/optparse.rb:1306:in `parse_in_order'
        from /usr/local/lib/ruby/1.8/optparse.rb:1254:in `catch'
        from /usr/local/lib/ruby/1.8/optparse.rb:1254:in `parse_in_order'
        from /usr/local/lib/ruby/1.8/optparse.rb:1248:in `order!'
        from /usr/local/lib/ruby/1.8/optparse.rb:1241:in `order'
        from /usr/local/sbin/portupgrade:559:in `main'
        from /usr/local/lib/ruby/1.8/optparse.rb:791:in `initialize'
        from /usr/local/sbin/portupgrade:231:in `new'
        from /usr/local/sbin/portupgrade:231:in `main'
        from /usr/local/sbin/portupgrade:2219
Tritt das Problem nur bei bestimmten Ports auftritt, wegen Fehlern bei diversen Abhängigkeiten, oder tritt dieser Bug nur sporadisch auf?

Ein Versuch make config über portmaster abzuarbeiten und dann den build mit portupgrade zu starten schlug ebenso fehl.

Portstree ist aktualisiert und alle ports sind auf aktuellem Stand.

MfG
 
Zuletzt bearbeitet:
Gerade eben ausgeführt mit selbigem Ergebnis. Liegt also nicht an einer kaputten Paketdatenbank, was ich für mich eh ausgeschlossen habe, da ich das System erst gestern hochgezogen habe.

Edit: Ich bau jetzt mal weiter und sehe nach ob sich der Fehler bei anderen Ports wiederholt.
 
Selbiges Ergebnis jetzt beim Versuch Eclipse zu bauen:

Code:
# portupgrade -N eclipse
[Updating the portsdb <format:bdb_btree> in /var/db/pkg ... - 22385 port entries found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000.........17000.........18000.........19000.........20000.........21000.........22000... ..... done]
[Gathering depends for java/eclipse ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................../usr/local/sbin/portupgrade:854:in `get_all_depends': recursive dependency (RecursiveDependencyError)
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:877:in `get_all_depends'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each_key'
        from /usr/local/lib/ruby/1.8/set.rb:195:in `each'
        from /usr/local/sbin/portupgrade:876:in `get_all_depends'
        from /usr/local/sbin/portupgrade:893:in `get_notinstalled_depends'
        from /usr/local/sbin/portupgrade:775:in `main'
        from /usr/local/sbin/portupgrade:753:in `each'
        from /usr/local/sbin/portupgrade:753:in `main'
        from /usr/local/lib/ruby/1.8/optparse.rb:1310:in `call'
        from /usr/local/lib/ruby/1.8/optparse.rb:1310:in `parse_in_order'
        from /usr/local/lib/ruby/1.8/optparse.rb:1306:in `catch'
        from /usr/local/lib/ruby/1.8/optparse.rb:1306:in `parse_in_order'
        from /usr/local/lib/ruby/1.8/optparse.rb:1254:in `catch'
        from /usr/local/lib/ruby/1.8/optparse.rb:1254:in `parse_in_order'
        from /usr/local/lib/ruby/1.8/optparse.rb:1248:in `order!'
        from /usr/local/lib/ruby/1.8/optparse.rb:1241:in `order'
        from /usr/local/sbin/portupgrade:559:in `main'
        from /usr/local/lib/ruby/1.8/optparse.rb:791:in `initialize'
        from /usr/local/sbin/portupgrade:231:in `new'
        from /usr/local/sbin/portupgrade:231:in `main'
        from /usr/local/sbin/portupgrade:2219

Hatte jemand schon einmal einen solchen Fehler? Wenn das am portupgrade zugrunde liegenden ruby liegt, kann ich dann auf portmaster wechseln?

Soweit ich gelesen habe ist das allerdings keine gute Idee da portmaster, keine oder eine andere Paketdatenbank pflegt.
 
Ich denke portupgrade benutzen ist generell keine gute Idee. Das Programm wird schlichtweg nicht mehr weitergepflegt.
 
Das entzog sich meiner Kenntnis. Ich dachte portmaster wäre nur eine neuere Alternative zu portupgrade zumal es auch in UPDATING meist erwähnt wird wenn es Besonderheiten gibt.

Mercy für die schnellen Antworten.
 
portupgrade-devel wird, zumindest für meine Bedürfnisse, zufriedenstellend gepflegt.
Letzte Änderung: 03 Apr 2011 08:16:50 20110403,1 stas - Update to 20110403 snapshot. This build includes support for ruby 1.9
(tested by Steve Willis).

Habe ehrlich gesagt aber noch nie den Schalter '-N' verwendet, sondern make install clean im
enstrechenden Verzeichnis.
Ansonsten ist mein 48h'diges portupgrade -arR heute sauber durchgelaufen.
 
Ich benutze schon seit längerer Zeit nur portupgrade beim Installieren von neuen Paketen. Mich hat bei make config install clean gestört, dass ein Konfigurationsdialog der eine Eingabe erfordert teilweise für Stunden den Prozess blockiert hat.

Daher hab ich neue Pakete immer mit portupgrade -cN oder mit -CN gebaut. Da werden alle Dialoge vorher abgefragt, wobei -c nur noch nicht konfigurierte Ports, und -C alle zu konfigurierenden Ports abfragt.

MfG
 
In /etc/make.conf
BATCH=yes
make install clean baut dann den jeweiligen Port in der vorgegebenen Konfiguration. Kein Warten ;)
 
Zurück
Oben