Services webmasters
Partenaires
Jeux concours gratuits
 
Installer la distribution Perl de MySQL sous Windows
<<<
Problèmes lors de l'utilisation des interfaces Perl DBI et DBD Installation de MySQL
>>>

2.7 Commentaires sur l'installation de Perl
2 Installation de MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Installer Perl sur Unix
Installer ActiveState Perl sur Windows
Installer la distribution Perl de MySQL sous Windows
->Problèmes lors de l'utilisation des interfaces Perl DBI et DBD

2.7.4 Problèmes lors de l'utilisation des interfaces Perl DBI et DBD

Si Perl vous informe qu'il ne peut trouver le module ../mysql/mysql.so , il se trouve probablement que Perl n'arrive pas à trouver la librairie partagée libmysqlclient.so .

Vous pouvez corriger cela en suivant l'une des méthodes suivantes :
  • Compilez la distribution Msql-Mysql-modules avec perl Makefile.PL -static -config au lieu de perl Makefile.PL .
  • Copiez libmysqlclient.so dans le dossier où se situent vos autres librairies partagées (souvent /usr/lib ou /lib ).
  • Sous Linux vous pouvez ajouter le chemin vers le dossier dans lequel se trouve libmysqlclient.so au fichier /etc/ld.so.conf .
  • Ajoutez le chemin complet vers le dossier où se situe libmysqlclient.so à la variable d'environnement LD_RUN_PATH .
Si vous obtenez l'erreur suivante de DBD-mysql , vous utilisez probablement gcc (ou un vieux binaire compilé avec gcc ) :

/usr/bin/perl: can't resolve symbol '__moddi3'
/usr/bin/perl: can't resolve symbol '__divdi3'
Ajoutez -L/usr/lib/gcc-lib/... -lgcc à la commande de liaison lorsque la librairie mysql.so est construite (vérifiez l'affichage de make concernant mysql.so quand vous compilez le client Perl). L'option -L doit spécifier le chemin vers le dossier où se situe libgcc.a sur votre système.Une autre cause du problème peut être que Perl et MySQL ne sont pas tous deux compilés avec gcc . Dans ce cas là, vous devrez faire en sorte qu'ils le soient.

Si vous obtenez les erreurs suivantes de la part de Msql-Mysql-modules quand vous exécutez ces tests :


t/00base............install_driver(mysql) failed:
Can't load '../blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql:
../blib/arch/auto/DBD/mysql/mysql.so: undefined symbol:
uncompress at /usr/lib/perl5/5.00503/i586-linux/DynaLoader.pm line 169.
cela signifie que vous avez besoin d'inclure la librairie dynamique, -lz, dans la ligne de liaison. Cela peut se faire en changeant ce qui suit dans lib/DBD/mysql/Install.pm :

$sysliblist .= " -lm";

en

$sysliblist .= " -lm -lz";
Après cela, vous devez exécuter 'make realclean' et reprendre l'installation dès le début.Si vous voulez utiliser le module de Perl sur un système qui ne supporte pas les liaisons dynamiques (comme Caldera/SCO) vous pouvez générer une version statique de Perl incluant DBI et DBD-mysql . L'approche est de générer une version de Perl avec le code de DBI lié et de l'installer au dessus de votre Perl courant. Puis vous utilisez cette version pour en créer à nouveau une autre qui comporte le code de DBD lié et d'installer cette version ci.

Sur Caldera (SCO), vous devez définir les variables d'environnement suivantes :


shell> LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/usr/progressive/lib
ou
shell> LD_LIBRARY_PATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:\
/usr/progressive/lib:/usr/skunk/lib
shell> LIBPATH=/usr/lib:/lib:/usr/local/lib:/usr/ccs/lib:\
/usr/progressive/lib:/usr/skunk/lib
shell> MANPATH=scohelp:/usr/man:/usr/local1/man:/usr/local/man:\
/usr/skunk/man:
D'abord, créez un Perl incluant un DBI lié statiquement en exécutant des commandes dans le dossier où se situe votre distribution DBI :

shell> perl Makefile.PL -static -config
shell> make
shell> make install
shell> make perl
Ensuite, vous devez installer le nouveau Perl. Les affichages de make perl vous indiqueront les commandes make exactes que vous aurez besoin d'exécuter pour faire l'installation. Sur Caldera (SCO), il s'agit de make -f Makefile.aperl inst_perl MAP_TARGET=perl .Puis, utilisé le Perl qui vient d'être créé pour en créer un nouveau qui inclut un DBD::mysql lié statiquement en exécutant ces commandes dans le dossier où votre distribution de Msql-Mysql-modules se situe :

shell> perl Makefile.PL -static -config
shell> make
shell> make install
shell> make perl
Finalement, vous devez installer ce nouveau Perl. Une fois de plus, l'affichage de make perl vous indiquera la commande à utiliser.

<< Problèmes lors de l'utilisation des interfaces Perl DBI et DBD >>
Installer la distribution Perl de MySQL sous Windows Commentaires sur l'installation de Perl Installation de MySQL
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -