Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]9764[/thread]

ldd Problem...



<< >> 9 Einträge, 1 Seite
J-jayz-Z
 2005-05-16 01:32
#95390 #95390
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Der Linux Befehl ldd listet ja alle Librarys auf, die ein bestimmtes Programm braucht.
Soweit so gut. Jetzt habe ich allerdings an meinem Linux Server mit PAR ein binary gebaut, dass das Curses Modul verwendet. Mit PAR ist das ja im binary. Also auch kein Thema. Jetzt benötigt Curses allerdings libncurses(-dev), wie ich unter Linux auch richtig angezeigt bekomme mit ldd. Wenn ich ldd allerdings unter FreeBSD ausführe, zeigt er mir eine Linux lib. Und _findet_ dieselib auch. Sie existiert aber ganz sicher nicht!
Wie kommt das? Kann es sein, dass ldd in diesem Fall die gefundenen libs von dem Rechner, auf dem das binary gebaut wurde auflistet?
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
betterworld
 2005-05-16 04:28
#95391 #95391
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Zeig mal das Output von ldd unter FreeBSD.
Quote
Und _findet_ dieselib auch. Sie existiert aber ganz sicher nicht!

Auch nicht in /compat/linux/lib oder so?
J-jayz-Z
 2005-05-16 04:41
#95392 #95392
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Das ist die Ausgabe unter FreeBSD _und_ Linux:
Code: (dl )
1
2
3
4
5
6
7
8
process.bin:
libnsl.so.1 => /lib/libnsl.so.1 (0x2812e000)
libdl.so.2 => /lib/libdl.so.2 (0x28143000)
libm.so.6 => /lib/libm.so.6 (0x28146000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x28167000)
libutil.so.1 => /lib/libutil.so.1 (0x28194000)
libc.so.6 => /lib/libc.so.6 (0x28197000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x28118000)

exakt das selbe. Aber Die unterste lib existiert ganz sicher nicht...
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
betterworld
 2005-05-16 19:14
#95393 #95393
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=J-jayz-Z,16.05.2005, 02:41]exakt das selbe. Aber Die unterste lib existiert ganz sicher nicht...[/quote]
Wie gesagt, schau mal, ob /compat/linux/lib/ld-linux.so.2 existiert
J-jayz-Z
 2005-05-16 21:25
#95394 #95394
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
nein, wie gesagt, es ist reines *BSD.
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
ptk
 2005-05-17 17:56
#95395 #95395
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=J-jayz-Z,16.05.2005, 19:25]nein, wie gesagt, es ist reines *BSD.[/quote]
Trotzdem kann ja /compat/linux existieren...

Du scheinst ein reines Linux-Binary zu haben. /lib/* existiert unter *BSD auch nicht, da ist alles unterhalb von /usr/lib oder /usr/local/lib
J-jayz-Z
 2005-05-17 18:57
#95396 #95396
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Sag ich ja die ganze Zeit, es ist nicht die Ausgabe, die ich unter FreeBSD bekommen sollte.
Und /compat/linux/ existiert auch nicht....
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
betterworld
 2005-05-17 19:31
#95397 #95397
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Eine andere Frage: Wo ist denn jetzt eigentlich das Problem? Auch wenn die Libraries augenscheinlich nicht da sind, werden sie gefunden, also ist doch eigentlich alles in Ordnung?\n\n

<!--EDIT|betterworld|1116343971-->
J-jayz-Z
 2005-05-17 23:12
#95398 #95398
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich wollte nur wissen, ob ich mich auf die ausgabe von ldd verlassen kann bzw. wieso er mir das zeigt...
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
<< >> 9 Einträge, 1 Seite



View all threads created 2005-05-16 01:32.