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 3 dbdimp.c:1677: error: 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!

