PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DBI und DBD::mysql auf Raspberry



I-Master
20.07.13, 13:19
Hallo zusammen,

irgendwie bekomme ich die o.g. Module nicht auf meinem Raspberry zum laufen. Ich hatte zuerst probiert, die über CPAN zu installieren. DBI hat auch keine Probleme gemacht. Bei DBD sind die Testfälle aber fehlgeschlagen. Ich hatte das darauf geschoben, dass ich keine funktionierenden Login-Daten mit übergeben hatte. Aber wenn ich jetzt z.B. versuche folgendes auszuführen:



use warnings;
use DBI;

$dbh = DBI->connect('DBI:mysql:fhem', 'root', 'passwd') || die "Could not connect to database: $DBI::errstr";
# (insert query examples here...)
$dbh->disconnect();


und dann


/usr/bin/perl test.pl

kommt die Meldung "Ungültiger Maschinenbefehl". M.E. scheint also was beim kompilieren schief gelaufen zu sein. Deshalb habe ich mir die Pakete hier:

http://search.cpan.org/dist/DBI/lib/Bundle/DBI.pm
http://search.cpan.org/~capttofu/DBD-mysql-4.023/lib/DBD/mysql.pm

manuell runter geladen und die alten Builds unter

/usr/local/lib/perl/5.14.2

entfernt. Make test bei DBI klappt wieder problemlos und anschließendes make install auch. Wenn ich dann aber bei DBI mit


perl Makefile.PL --testuser=root --testdb=test --testpassword=passwd

mir ein passendes Makefile erzeuge, ist die Ausgabe von make test wieder


root@raspberrypi:/home/pi/DBD-mysql-4.023# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base.t .................. Failed 5/6 subtests
t/10connect.t ............... No subtests run
t/20createdrop.t ............ No subtests run
t/25lockunlock.t ............ No subtests run
t/29warnings.t .............. No subtests run


Ich bin jetzt ehrlich gesagt etwas ratlos woran es noch liegen könnte und würde mich über ein wenig Hilfestellung sehr freuen!

Edit: Hier auch nochmal die Ausgabe von perl Makefile.PL



perl Makefile.PL --testdb=test --testuser=root --testpassword=passwd --cflags=-I/usr/include/mysql
I will use the following settings for compiling and testing:

cflags (User's choice) = -I/usr/include/mysql
embedded (mysql_config ) =
ldflags (mysql_config ) =
libs (mysql_config ) = -L/usr/lib/arm-linux-gnueabihf -lmysqlclient -lpthread -lz -lm -lrt -ldl
mysql_config (guessed ) = mysql_config
nocatchstderr (default ) = 0
nofoundrows (default ) = 0
ssl (guessed ) = 0
testdb (User's choice) = test
testhost (default ) =
testpassword (User's choice) = passwd
testsocket (default ) =
testuser (User's choice) = root

To change these settings, see 'perl Makefile.PL --help' and
'perldoc INSTALL'.

Argument "6.57_05" isn't numeric in numeric ge (>=) at Makefile.PL line 353, <PIPE> line 92.
Multiple copies of Driver.xst found in: /usr/local/lib/perl/5.14.2/auto/DBI/ /usr/lib/perl5/auto/DBI/ at Makefile.PL line 941
Using DBI 1.627 (for perl 5.014002 on arm-linux-gnueabihf-thread-multi-64int) installed in /usr/local/lib/perl/5.14.2/auto/DBI/
Writing Makefile for DBD::mysql
Writing MYMETA.yml


Das mit dem Argument verwirrt mich etwas, kommt aber auch wenn ich keine Parameter angebe.

I-Master
20.07.13, 14:09
Ich habe die Module jetzt über apt-get (libdbd-mysql-perl + libdbi-perl) installiert und das hat funktioniert. Interessanterweise nur, wenn ich mit dem dbd-Pakete anfange.