21 Feb
matte

matte il 21 February 2007 parla di Risorse

Perl: problemi nell’installazione di DBD::mysql

Cosa c’entra il Perl in questo blog su Ruby on Rails? non tanto, ma volevo postare questa cosa ugualmente. Ho dovuto installare il driver mysql per la connessione al database MySQL con il Perl ed ho avuto un po’ di problemi, quindi ho pensato perché non condividere anche questa cosa?

Allora io ho un Powerbook con installato MySQL 5.0.27 dai binari e non dal port in cui invece ho installato il Perl. Dovendo installare i driver di connessione a MySQL ho lanciato cpan ed eseguito il comando:

    1 install DBD::mysql

ma ho ottenuto diversi errori per via della configurazione di MySQL. Lanciando sempre da cpan il comando

    1 look DBD::mysql

cpan apre una shell posizionato nei sorgenti di DBD::mysql. A questo punto ho lanciato:

    1 sudo perl Makefile.PL −−testuser=dbuser −−testpassword=dbpassword −−mysql_config=/path/to/mysql_config −−testhost=dbhost

Poi lanciando il comando make ottenevo il seguente errore:

    1 dbdimp.c: In function ‘mysql_dr_connect’:
    2 dbdimp.c:1677: error: ‘ulong’ undeclared (first use in this function)
    3 dbdimp.c:1677: error: (Each undeclared identifier is reported only once
    4 dbdimp.c:1677: error: for each function it appears in.)
    5 dbdimp.c:1677: error: parse error before numeric constant
    6 make: *** [dbdimp.o] Error 1

Per risolverlo ho dovuto inserire la seguente riga di codice nel file mysql_com.h (sul mio Mac si trova in /usr/ local/mysql/include):

    1 typedef unsigned long ulong;      /* Short for unsigned long */

subito sotto la riga:

    1 typedef struct st_vio Vio;

Fatto questo e lanciando a questo punto: sudo make seguito da sudo make install ho installato il tutto senza problemi. Spero che possa tornare utile a qualcuno!

Scrivi un commento