2010-01-20 4 views
2

Je suis en train d'installer des dépendances pour Koha. Cela nécessite l'utilisation de Perl et Cpan, dont c'est la première fois. J'ai installé mysql via les instructions de hivelogic. Je cours 10.6.2 sur un mac mini 32 bits.Module d'installation cpan DBD :: mysql échoue, snow leopard

est ici la sortie du terminal:

John-Breedloves-Mac-mini:~ john_breedlove$ sudo -H cpan -i DBD::mysql 
CPAN: Storable loaded ok (v2.19) 
Going to read /var/root/.cpan/Metadata 
    Database was generated on Tue, 19 Jan 2010 14:52:55 GMT 
Running install for module 'DBD::mysql' 
CPAN: YAML loaded ok (v0.71) 
Running make for C/CA/CAPTTOFU/DBD-mysql-4.013.tar.gz 
CPAN: Digest::SHA loaded ok (v5.48) 
CPAN: Time::HiRes loaded ok (v1.9715) 
    LWP not available 

Trying with "/usr/bin/curl -L -f -s -S --netrc-optional" to get 
    http://www.perl.org/CPAN/authors/id/C/CA/CAPTTOFU/CHECKSUMS 
Checksum for /var/root/.cpan/sources/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.013.tar.gz ok 
x DBD-mysql-4.013/ 
x DBD-mysql-4.013/lib/ 
x DBD-mysql-4.013/lib/DBD/ 
x DBD-mysql-4.013/lib/DBD/mysql.pm 
x DBD-mysql-4.013/lib/DBD/mysql/ 
x DBD-mysql-4.013/lib/DBD/mysql/GetInfo.pm 
x DBD-mysql-4.013/lib/DBD/mysql/INSTALL.pod 
x DBD-mysql-4.013/lib/Bundle/ 
x DBD-mysql-4.013/lib/Bundle/DBD/ 
x DBD-mysql-4.013/lib/Bundle/DBD/mysql.pm 
x DBD-mysql-4.013/mysql.xs 
x DBD-mysql-4.013/dbdimp.c 
x DBD-mysql-4.013/myld 
x DBD-mysql-4.013/INSTALL.html 
x DBD-mysql-4.013/Makefile.PL.embedded 
x DBD-mysql-4.013/TODO 
x DBD-mysql-4.013/README 
x DBD-mysql-4.013/MANIFEST.SKIP 
x DBD-mysql-4.013/ChangeLog 
x DBD-mysql-4.013/Makefile.PL 
x DBD-mysql-4.013/META.yml 
x DBD-mysql-4.013/dbdimp.h 
x DBD-mysql-4.013/eg/ 
x DBD-mysql-4.013/eg/prepare_memory_usage.pl 
x DBD-mysql-4.013/eg/proc_example2b.pl 
x DBD-mysql-4.013/eg/proc_example2.pl 
x DBD-mysql-4.013/eg/decimal_test.pl 
x DBD-mysql-4.013/eg/bug30033pg.pl 
x DBD-mysql-4.013/eg/proc_example2a.pl 
x DBD-mysql-4.013/eg/proc_example4.pl 
x DBD-mysql-4.013/eg/bug21028.pl 
x DBD-mysql-4.013/eg/bug14979.pl 
x DBD-mysql-4.013/eg/bug30033.pl 
x DBD-mysql-4.013/eg/issue21946.pl 
x DBD-mysql-4.013/eg/proc_example3.pl 
x DBD-mysql-4.013/eg/proc_example1.pl 
x DBD-mysql-4.013/constants.h 
x DBD-mysql-4.013/t/ 
x DBD-mysql-4.013/t/85init_command.t 
x DBD-mysql-4.013/t/40listfields.t 
x DBD-mysql-4.013/t/40bindparam.t 
x DBD-mysql-4.013/t/mysql.mtest 
x DBD-mysql-4.013/t/41bindparam.t 
x DBD-mysql-4.013/t/76multi_statement.t 
x DBD-mysql-4.013/t/40nulls.t 
x DBD-mysql-4.013/t/32insert_error.t 
x DBD-mysql-4.013/t/40catalog.t 
x DBD-mysql-4.013/t/51bind_type_guessing.t 
x DBD-mysql-4.013/t/40bindparam2.t 
x DBD-mysql-4.013/t/41blobs_prepare.t 
x DBD-mysql-4.013/t/20createdrop.t 
x DBD-mysql-4.013/t/70takeimp.t 
x DBD-mysql-4.013/t/42bindparam.t 
x DBD-mysql-4.013/t/00base.t 
x DBD-mysql-4.013/t/55utf8.t 
x DBD-mysql-4.013/t/65types.t 
x DBD-mysql-4.013/t/40server_prepare_error.t 
x DBD-mysql-4.013/t/31insertid.t 
x DBD-mysql-4.013/t/29warnings.t 
x DBD-mysql-4.013/t/40types.t 
x DBD-mysql-4.013/t/10connect.t 
x DBD-mysql-4.013/t/lib.pl 
x DBD-mysql-4.013/t/mysql.dbtest 
x DBD-mysql-4.013/t/35limit.t 
x DBD-mysql-4.013/t/71impdata.t 
x DBD-mysql-4.013/t/40blobs.t 
x DBD-mysql-4.013/t/40server_prepare.t 
x DBD-mysql-4.013/t/40numrows.t 
x DBD-mysql-4.013/t/35prepare.t 
x DBD-mysql-4.013/t/40keyinfo.t 
x DBD-mysql-4.013/t/75supported_sql.t 
x DBD-mysql-4.013/t/60leaks.t 
x DBD-mysql-4.013/t/50commit.t 
x DBD-mysql-4.013/t/30insertfetch.t 
x DBD-mysql-4.013/t/50chopblanks.t 
x DBD-mysql-4.013/t/25lockunlock.t 
x DBD-mysql-4.013/t/80procs.t 
x DBD-mysql-4.013/MANIFEST 
CPAN: File::Temp loaded ok (v0.20) 

    CPAN.pm: Going to build C/CA/CAPTTOFU/DBD-mysql-4.013.tar.gz 

Can't locate DBI/DBD.pm in @INC (@INC contains: /opt/local/lib/perl5/site_perl/5.8.9/darwin-2level /opt/local/lib/perl5/site_perl/5.8.9 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level /opt/local/lib/perl5/vendor_perl/5.8.9 /opt/local/lib/perl5/vendor_perl /opt/local/lib/perl5/5.8.9/darwin-2level /opt/local/lib/perl5/5.8.9 .) at Makefile.PL line 24. 
Warning: No success on command[/opt/local/bin/perl Makefile.PL] 
    CAPTTOFU/DBD-mysql-4.013.tar.gz 
    /opt/local/bin/perl Makefile.PL -- NOT OK 
Running make test 
    Make had some problems, won't test 
Running make install 
    Make had some problems, won't install 
+0

Dupliquer de http://superuser.com/questions/98822/mac-os-x-10-6-2-install-dbdmysql – Ether

Répondre

6

L'indice était dans cette ligne de votre sortie cité:

 
    Can't locate DBI/DBD.pm in @INC... 

Vous allez voir ce type d'erreur beaucoup que vous développez en Perl! Cela signifie qu'il vous manque une dépendance de module, généralement parce que le module n'a pas été installé à partir de CPAN. Par conséquent, vous devez d'abord installer DBI::DBD avant le DBD::mysql. Il y a some complicated reasons pourquoi ce n'est pas installé automatiquement par cpan comme condition préalable (généralement lors de l'installation d'un module ou la distribution, il installera automatiquement toutes ses dépendances):

PREREQ_PM dit MakeMaker que DBI (version 1.03 dans ce cas) est requis pour ce module. Cela émet un avertissement que DBI 1.03 est manquant si quelqu'un tente d'installer votre DBD sans DBI 1.03. Reportez-vous à la section CONFIGURATION ci-dessous pour savoir pourquoi cela ne fonctionne pas de manière fiable en arrêtant les testeurs cpan défaillant sur votre module si DBI n'est pas installé.

CONFIGURE est un sous-programme appelé par MakeMaker pendant WriteMakefile. En mettant le require DBI :: DBD dans cette section, nous pouvons essayer de charger DBI :: DBD mais s'il est manquant, nous sortons avec succès. Comme nous quittons avec succès sans créer un Makefile lorsque DBI :: DBD est manquant, les testeurs cpan ne signaleront pas un échec. Cela peut sembler contradictoire avec PREREQ_PM mais PREREQ_PM ne provoque pas l'échec de WriteMakefile (sauf si vous spécifiez également PREREQ_FATAL qui est fortement déconseillé par MakeMaker) afin que WriteMakefile continue d'appeler dbd_dbi_arch_dir et échoue.

Vous pouvez installer les deux modules à la fois avec:

 
    sudo -H cpan DBI::DBD DBD::mysql 
0

Essayez d'installer DBI.pm premier.

1

J'ai passé plus d'un googleing du soir et essayer les différentes directions pour obtenir DBD :: mysql pour travailler avec mon installation de perl osx existant. Je ne faisais aucun progrès et j'ai finalement essayé d'installer perl actif. Il est livré avec un gestionnaire de paquets perl (ppm). De là, vous pouvez installer un pilote perl mysql pur (DBD :: mysqlPP) et cela contourne tous les problèmes de compilation. - Assurez-vous simplement de changer votre code pour utiliser DBD :: mysqlPP plutôt que DBD :: mysql - dans mon cas, j'ai changé ceci: mon $ dsn = 'DBI: mysql: nom_schéma: localhost';

à ceci: mon $ dsn = 'DBI: mysqlPP: nom_schéma: localhost';