Perlscripte funktionieren nicht mehr

D

dts

Grünschnabel
Hallo,

ich suche nun schon seit Tagen nach einer lösung meines Problems...leider ohne Erfolg.
Und zwar hab ich auf meinem Debian Sarge 64bit per cpan DBI und DBD::mysql installiert. Seitdem funktionieren keine Perlscripte mehr und bekomme stattdessen folgende Fehlermeldung:

Code:
/usr/bin/perl: relocation error: /usr/local/lib/perl/5.8.4/auto/DBD/mysql/mysql.so: undefined symbol: mysql_server_init

ich hoffe mir kann hier jemand helfen. Wenn ihr mehr wissen wollt, einfach fragen.

Vielen Dank schonmal im Vorraus
 
Ist mysql installiert ?

mach mal
ldd /usr/local/lib/perl/5.8.4/auto/DBD/mysql/mysql.so

Gibt es hier eine Fehler ?
 
mysql ist installiert. version 4.1.11

das ist die ausgabe des befehls:

Code:
bash:/# ldd /usr/local/lib/perl/5.8.4/auto/DBD/mysql/mysql.so
        libmysqlclient.so.10 => /usr/lib/libmysqlclient.so.10 (0x00002b46c3994000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00002b46c3ad4000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x00002b46c3be8000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x00002b46c3d1b000)
        libm.so.6 => /lib/libm.so.6 (0x00002b46c3e32000)
        libc.so.6 => /lib/libc.so.6 (0x00002b46c3fb8000)
        /lib/ld-linux-x86-64.so.2 => /lib/ld-linux-x86-64.so.2 (0x0000555555554000)

leider kann ich damit nix anfangen, stehe noch ziemlich am anfang meiner linuxkarriere ;)
 
Ist okay. Kein Fehler zuerkennen.

geht auch

#!/usr/bin/perl -w
print "test";

Hier auch fehler ?
 
wenn ich #!/usr/bin/perl -w eingebe bringt es mir folgenden fehler:
-bash: !/usr/bin/perl: event not found

ohne ausrufezeichen passiert überhauptnix, nur durch ctrl+c komm ich wieder in die eingabe.
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

aaah ich hab dich nur falsch verstanden...sorry

ich hab eben eine perldatei erstellt mit diesem inhalt, wenn ich sie ausführe erscheint
Code:
testbash:/#
 
Zuletzt bearbeitet:
Mach mal folgendes:

#!/usr/bin/perl

use DBI;


my ($dsn) = "DBI:mysql:mysql:localhost";
my ($user_name)= "root";
my ($password) = "";
$dbh = DBI->connect ($dsn, $user_name, $password, { RaiseError => 1 });

$statement = "SELECT User from user";

$sth = $dbh->prepare($statement) || die $dbh->errstr;
$sth->execute ();

while (($test) = $sth->fetchrow_array) {

print "Geht oder het nicht: $test \n";
}

##

Natürlich noch Passwort und Pfad nach perl anplassen
 
kommt wieder der erste fehler :( auch mit -w

kann es evtl. daran liegen, dass ich im verzeichnis /usr/bin/ einmal "perl" und einmal "perl5.8.4" liegen hab?


...hab es nochmal versucht den pfad mit #!/usr/bin/perl5.8.4 anzugeben...mit gleichem ergebnis
 
Dann liegt es nicht an per sondern am DBI oder mysql.

mysql geht aber schon oder ?
In der Console einfach mal mysql eintippen ?
Ist mysql gestartet ?
 
jojo mysql funktioniert ohne problem...ich denke auch dass es an DBI liegt. die Frage ist ja nur wie ich das behebe?!

hab mich auch schon dumm und dusselig gegoogelt, deswegen hab ich mich hier gemeldet.
Hab leider auch nix gefunden wie ich das reinstallen kann.
 
also das hat es leider auch nicht gebracht, hab auch auf dem selben weg nochmal DBD::mysql installiert. Kann es evtl sein, dass diese Versionen zu neu sind für sarge oder unter 64bit nicht funktionieren?

Ich weiß echt nicht mehr weiter...BS Neuinstallation wollte ich mir eigentlich ersparen.
 
das waere auch mein erster gedanke gewesen... nutze zwar keine 64bit systeme, aber gibts da keinen unterschied zwischen perl 32/64bit ?

nur so ne vermutung...


gReetZ
 
hmm also ich hab bis jetzt keine gefunden :(

wenn es jemand besser weiß, bitte bescheid sagen ;)
 

Ähnliche Themen

OpenSUSE 12.1: Gnucash startet nicht mehr

Probleme mit SuSE 64 Bit

Samba bricht Datenübertragung ab!

Probleme bei der Installation von Greylisting (Sendmail::Milter)

perl anfänger

Zurück
Oben