Hilfe !! Probleme mit perl Glib 1 / Gtk 1

  • Thread starter Thread starter blob
  • Start date Start date
B

blob

Guest
Seit der Installierung von perl 5.8.8 geht fast nichts mehr was damit zusammenhängt ...

Programme verlangen dauernd /usr/lib/perl5/5.8.8/auto/Glib/Glib.so

Standardmäßig ist die Datei nicht dort, sondern unter /usr/lib/perl5/5.8.8/i486-linux/auto/Glib/Glib.so

Wenn ich das versuche zu reparieren, ist das Ergebnis bei Übersetzen mit perl Makefile.PL prefix=/usr/lib/perl5/5.8.8/auto dann in: /usr/lib/perl5/5.8.8/auto/lib/perl5/5.8.8/i486-linux-thread-multi/auto/Glib/Glib.so

Auch PERL5LIB=/usr/lib/perl5 , ... = /usr/lib/perl5/site-perl oder ...=<wohin /Glib/... installiert wurde> ; export PERL5LIB nützt nichts

Auch andere Versuche seit mehreren Tagen erfolglos. Ähnliches bei der Installierung von Gtk 1.

Vermutlich aus demselben Grund funktioniert auch das Installieren nachgeladener webmin-Module nicht mehr

Es ist notorisch daß in perl und python alles bescheuert ist, aber es kann doch nicht derart bescheuert sein ... immerhin gibt es ja Leute, die das installiert bekommen. Ganz vermeidbar sind perl und python nicht, weil manche Programmierer leider noch Programme damit schreiben.

Kann mir jemand sagen, wie ich Glib 1 / Gtk 1 an die genannte Stelle installieren kann, oder umgedreht wie ich allen künftig mit perl übersetzten / laufenden Programmen sagen kann, daß sich /Glib/... an der Stelle X befindet ?
 
Last edited by a moderator:
Seit der Installierung von perl 5.8.8 geht fast nichts mehr was damit zusammenhängt ...
Tja, da Du Dich aus schweigst wie Du das installiert hast kann Dir gerade nicht geholfen werden.
Aber Du hast eine Slackware-Distribution, oder?

/usr/lib/perl5/5.8.8/i486-linux/auto/Glib/Glib.so
Ist Deine Hardware wirklich so alt, daß Du eine Library für i486 brauchst?
Wäre eine i586 nicht passender?

huschi.
 
Was ich installiert habe, ist u.a. alles von:

ftp://ftp.slackware.no/pub/linux/slackware/

dort unter /slackware-current /slackware /d ist das Paket perl-5.8.8-i486.tgz , wenn man das downläd und im #mc F3 drückt, erhält man die Liste wo die Dateien hinkopiert werden, sodaß ich hier diese lange Liste nicht wiedergeben will.

Die perl-Module/Bibliotheken Gtk 1 und Glib 1 (etwa Version 1.144) sind nicht dabei, und muß man von CPAN oder sonstwo downloaden und übersetzen. Das klappt insoweit zumindest für Glib, aber für Gtk 1 sowie irgendwelche andere perl-Programme die Glib brauchen nicht.

Das Problem ist dabei, wie gesagt, wie man beeinflussen kann, daß Glib dorthin installiert wird wo es die Programme erwarten, bzw. umgekehrt abzuändern daß sie es suchen wohin es installiert wird. Mit den normalen Mitteln wie prefix= oder PERL5LIB geht es nicht. Weil Glib.so usw an der zu erwartenden Stelle nicht gefunden wird, sondern woanders ist (wo genau, s. ersten post), kommen dann beim Laufenlassen / Interpretierrn / Übersetzen aller Programme die Glib oder Gtk brauchen, Fehlermeldungen wie diese:

Code:
# acidrip
Can't load '/usr/lib/perl5/5.8.8/auto/Glib/Glib.so' for module Glib: /usr/lib/perl5/5.8.8/auto/Glib/Glib.so: undefined symbol: PL_sv_undef at /usr/lib/perl5/5.8.8/i486-linux-thread-multi/DynaLoader.pm line 230.
 at /usr/lib/perl5/5.8.8/Gtk2.pm line 30

Also alle Programme die von perl-Glib und perl-Gtk abhängen, laufen nicht. Das ist nicht ein Slackware-Problem sondern ein perl-Problem von Umgebungsvariablen um zu beeinflussen wo übersetzte Module hinkommen oder aber wo sie von anderen Programmen erwartet werden.

Bei webmin kommt beim Versuch Module nachzuladen, eine Fehlermeldung daß sie bei CPAN nicht gefunden werden, obwohl sie dort sind. Läd man sie woanders nach, werden sie geladen, aber die Installierung stürzt ab wegen perl-Probleme wie oben. Früher gab es solche Probleme nicht !

Nachtrag: unten snapshots zu den perl-Problemen bei webmin. Früher mit perl 5.8.7 gab es diese Probleme nicht, und auch jetzt funktioniert noch alles, was nichts mit perl (oder python) zu tun hat (mit python funktioniert u.a. nicht pysol). 1: CPAN-Module wären nicht da , sind es aber; 2: CPAN-Module wären bei CPAN nicht vhd/ladbar, 3: andere Module von CPAN erfolgreich nachgeladen, aber: 4: selbe Probleme beim Übersetzen weil irgendwas nicht gefunden wird
 

Attachments

  • webmin1.jpg
    webmin1.jpg
    77 KB · Views: 108
  • webmin2.jpg
    webmin2.jpg
    42.8 KB · Views: 90
  • webmin3.jpg
    webmin3.jpg
    63.5 KB · Views: 84
  • webmin4.jpg
    webmin4.jpg
    95.1 KB · Views: 85
Last edited by a moderator:
Es gibt 'nicht-offizielle' Pakete von slacky.it und linuxpackages, die ich regelmäßig und komplett downloade und installiere, was zu 99% auch funktioniert -- bei diesen beiden aber eben nicht, weil sie die Bibliothek an die Stelle X installieren, die Programme sie aber an der Stelle Y suchen.

Etwas flexibler ist das Übersetzen, weil man dann die Stelle selbst bestimmen kann, normalerweise mit prefix=... bei ./configure -- aber das funktioniert halt bei diesen Paketen nicht wie normal. Daher mein post, ob irgendein perl-Spezialist weiß wie ich das machen kann ...


Nachtrag: moment ... vielleicht hast du recht, das Paket ist ganz neu, muß ich mir mal genauer angucken

Nachtrag 2: Leider nicht, dieselben Probleme. Diese Pakete installieren Glib in /usr/lib/perl5/site_perl/5.8.8/i486-linux/Glib , wie die anderen von slacky.it. Beim Versuch, etwas vom source-code zu übersetzen, werden sie wie zuvor nicht gefunden.

Das hat sich auch nicht dadurch geändert, daß ich erneut nochmal alles was mit perl zu tun hat, desinstalliert, den ganzen Ordner /usr/lib/perl5 gelöscht, und alles neu installiert habe ...

Code:
root@werner:/usr/local/src/acidrip-0.14# perl Makefile.PL
Checking if your kit is complete...
Looks good
Warning: prerequisite Glib 1 not found.
Warning: prerequisite Gtk2 1 not found.
Writing Makefile for AcidRip

Running additional test to be sure acidrip will work
test for lsdvd: found
test for MPlayer: found
test for MEncoder: found
test for MP3 support in mencoder: found
Everything looks good here...

und dann beim Versuch das laufenzulassen wieder dieselben Fehlermeldungen wie oben.

Immer wieder derselbe Kram mit perl, daß irgendwas nicht gefunden wird ...
 
Last edited by a moderator:
Gut, ich hab jetzt perl soweit hingekriegt, daß es wieder läuft, statt sich aufzuhängen weil Glib, Gtk2 woanders sind als von vielen Programmen erwartet...

Da beim googeln tausendfach die Frage, aber nirgends die Antwort zu finden ist, kurz, wie ich's hingekriegt habe:

I.W. durch Überinstallierung/Überkopieren von Teilen von perl, ohne aber die vorigen zu löschen.

1) Glib, Gtk2 installiert, wobei u.a. ExtUtils:: Depends, ExtUtils::PkgConfig, Cairo für Gtk2 verlangt und vorher installiert wurden :
#perl -MCPAN -e shell
cpan> install <name> bzw bei Cairo wegen Problemen cpan> force install Cairo
2) Da viel in /usr/lib/perl5/site_perl ist was wegen irgendeinem @INC in /usr/lib/perl5... gesucht wird: alles was in ...perl5/site_perl war, nach ...perl5 kopiert, site_perl gelöscht, und unter seinem Namen einen link zurück nach ...perl5 angelegt
3) Da viel in ...i486-linux gesucht wird was in ...i486-linux-thread-multi ist, beides zusammenkopiert, das andere davon gelöscht und als link zum ersten angelegt. So viele Unterscheidungen sind sowieso völlig nutzlos

Und die fortwährende Meldung bei Gtk2 daß kein screen geöffnet werden kann, ging weg, nachdem ich wegen beryl DISPLAY=:0 ; export DISPLAY eingegeben habe

Nun funktionieren wieder (fast) alle perl-Programme :)
 
Last edited by a moderator:
Back
Top