Page 1 of 1

Problem installing DBD::mysql using CPAN on CentOS 4.4

PostPosted: Mon Mar 12, 2007 5:19 am
by henry
Hi,

I've been experiencing some problems when attempting to install DBD::mysql (even using force install) using CPAN and when downloading the source to compile manually. The install log and errors are shown below.

I have installed MySQL and the other perl modules as directed in SCRATCH_INSTALL and followed it exactly from PHASE 3: INSTALLING SOFTWARE BEFORE ASTERISK

Any advice on how to avoid, work around or install a different module instead would be greatly appreciated.

Kind regards,

Henry

dbdimp.c:1897: error: dereferencing pointer to incomplete type
dbdimp.c:1897: warning: passing arg 3 of `mysql_dr_error' makes pointer from integer without a cast
dbdimp.c: In function `mysql_db_disconnect':
dbdimp.c:1930: error: dereferencing pointer to incomplete type
dbdimp.c:1930: error: dereferencing pointer to incomplete type
dbdimp.c:1930: error: dereferencing pointer to incomplete type
dbdimp.c:1933: error: dereferencing pointer to incomplete type
dbdimp.c:1934: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_db_destroy':
dbdimp.c:2018: error: dereferencing pointer to incomplete type
dbdimp.c:2020: error: dereferencing pointer to incomplete type
dbdimp.c:2022: error: dereferencing pointer to incomplete type
dbdimp.c:2024: error: dereferencing pointer to incomplete type
dbdimp.c:2034: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_db_STORE_attrib':
dbdimp.c:2069: error: dereferencing pointer to incomplete type
dbdimp.c:2071: error: dereferencing pointer to incomplete type
dbdimp.c:2091: error: dereferencing pointer to incomplete type
dbdimp.c:2099: error: dereferencing pointer to incomplete type
dbdimp.c:2106: error: dereferencing pointer to incomplete type
dbdimp.c:2106: error: dereferencing pointer to incomplete type
dbdimp.c:2123: error: dereferencing pointer to incomplete type
dbdimp.c:2125: error: dereferencing pointer to incomplete type
dbdimp.c:2127: error: dereferencing pointer to incomplete type
dbdimp.c:2130: error: dereferencing pointer to incomplete type
dbdimp.c: At top level:
dbdimp.c:2159: error: syntax error before "val"
dbdimp.c: In function `my_ulonglong2str':
dbdimp.c:2164: error: `val' undeclared (first use in this function)
dbdimp.c: In function `mysql_db_FETCH_attrib':
dbdimp.c:2192: error: dereferencing pointer to incomplete type
dbdimp.c:2193: error: dereferencing pointer to incomplete type
dbdimp.c:2209: error: dereferencing pointer to incomplete type
dbdimp.c:2214: error: dereferencing pointer to incomplete type
dbdimp.c:2218: error: dereferencing pointer to incomplete type
dbdimp.c:2222: error: dereferencing pointer to incomplete type
dbdimp.c:2222: warning: initialization makes pointer from integer without a cast
dbdimp.c:2235: error: dereferencing pointer to incomplete type
dbdimp.c:2242: error: dereferencing pointer to incomplete type
dbdimp.c:2256: error: dereferencing pointer to incomplete type
dbdimp.c:2256: warning: initialization makes pointer from integer without a cast
dbdimp.c:2265: error: dereferencing pointer to incomplete type
dbdimp.c:2265: warning: initialization makes pointer from integer without a cast
dbdimp.c:2270: error: dereferencing pointer to incomplete type
dbdimp.c:2275: error: dereferencing pointer to incomplete type
dbdimp.c:2281: error: dereferencing pointer to incomplete type
dbdimp.c:2281: warning: initialization makes pointer from integer without a cast
dbdimp.c:2286: error: dereferencing pointer to incomplete type
dbdimp.c:2288: error: dereferencing pointer to incomplete type
dbdimp.c:2291: error: dereferencing pointer to incomplete type
dbdimp.c:2291: warning: initialization makes pointer from integer without a cast
dbdimp.c:2298: error: dereferencing pointer to incomplete type
dbdimp.c:2298: warning: initialization makes pointer from integer without a cast
dbdimp.c:2303: error: dereferencing pointer to incomplete type
dbdimp.c:2308: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_st_prepare':
dbdimp.c:2352: error: dereferencing pointer to incomplete type
dbdimp.c:2356: error: `MYSQL_VERSION_ID' undeclared (first use in this function)
dbdimp.c:2371: error: dereferencing pointer to incomplete type
dbdimp.c:2372: error: dereferencing pointer to incomplete type
dbdimp.c:2373: error: dereferencing pointer to incomplete type
dbdimp.c:2377: error: dereferencing pointer to incomplete type
dbdimp.c:2378: error: dereferencing pointer to incomplete type
dbdimp.c:2381: error: dereferencing pointer to incomplete type
dbdimp.c:2567: error: dereferencing pointer to incomplete type
dbdimp.c:2571: error: dereferencing pointer to incomplete type
dbdimp.c:2571: error: dereferencing pointer to incomplete type
dbdimp.c:2572: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_st_free_result_sets':
dbdimp.c:2592: error: dereferencing pointer to incomplete type
dbdimp.c:2639: error: dereferencing pointer to incomplete type
dbdimp.c:2641: error: dereferencing pointer to incomplete type
dbdimp.c:2642: error: dereferencing pointer to incomplete type
dbdimp.c: At top level:
dbdimp.c:2834: error: syntax error before "mysql_st_internal_execute"
dbdimp.c:2840: error: syntax error before "MYSQL_RES"
dbdimp.c: In function `mysql_st_internal_execute':
dbdimp.c:2847: error: `statement' undeclared (first use in this function)
dbdimp.c:2852: error: `my_ulonglong' undeclared (first use in this function)
dbdimp.c:2852: error: syntax error before "rows"
dbdimp.c:2855: error: `h' undeclared (first use in this function)
dbdimp.c:2870: error: dereferencing pointer to incomplete type
dbdimp.c:2878: error: dereferencing pointer to incomplete type
dbdimp.c:2881: error: dereferencing pointer to incomplete type
dbdimp.c:2886: error: `svsock' undeclared (first use in this function)
dbdimp.c:2890: error: `num_params' undeclared (first use in this function)
dbdimp.c:2898: error: `MYSQL_VERSION_ID' undeclared (first use in this function)
dbdimp.c:2936: error: `result' undeclared (first use in this function)
dbdimp.c:2943: warning: passing arg 3 of `mysql_dr_error' makes pointer from integer without a cast
dbdimp.c:2956: warning: passing arg 3 of `mysql_dr_error' makes pointer from integer without a cast
dbdimp.c:2969: warning: passing arg 3 of `mysql_dr_error' makes pointer from integer without a cast
dbdimp.c:2972: error: `rows' undeclared (first use in this function)
dbdimp.c: In function `mysql_st_execute':
dbdimp.c:3120: error: dereferencing pointer to incomplete type
dbdimp.c:3135: error: dereferencing pointer to incomplete type
dbdimp.c:3136: error: dereferencing pointer to incomplete type
dbdimp.c:3138: error: dereferencing pointer to incomplete type
dbdimp.c:3152: error: `MYSQL_VERSION_ID' undeclared (first use in this function)
dbdimp.c:3182: error: dereferencing pointer to incomplete type
dbdimp.c:3186: error: dereferencing pointer to incomplete type
dbdimp.c:3187: error: dereferencing pointer to incomplete type
dbdimp.c:3188: error: dereferencing pointer to incomplete type
dbdimp.c:3189: error: dereferencing pointer to incomplete type
dbdimp.c:3190: error: dereferencing pointer to incomplete type
dbdimp.c:3193: error: dereferencing pointer to incomplete type
dbdimp.c:3193: error: `my_ulonglong' undeclared (first use in this function)
dbdimp.c:3195: error: dereferencing pointer to incomplete type
dbdimp.c:3196: error: dereferencing pointer to incomplete type
dbdimp.c:3196: error: dereferencing pointer to incomplete type
dbdimp.c:3200: error: dereferencing pointer to incomplete type
dbdimp.c:3200: error: dereferencing pointer to incomplete type
dbdimp.c:3201: error: dereferencing pointer to incomplete type
dbdimp.c:3201: error: dereferencing pointer to incomplete type
dbdimp.c:3201: error: dereferencing pointer to incomplete type
dbdimp.c:3202: error: dereferencing pointer to incomplete type
dbdimp.c:3203: error: dereferencing pointer to incomplete type
dbdimp.c:3213: error: dereferencing pointer to incomplete type
dbdimp.c:3219: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_describe':
dbdimp.c:3340: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_st_fetch':
dbdimp.c:3368: error: `MYSQL_ROW' undeclared (first use in this function)
dbdimp.c:3368: error: syntax error before "cols"
dbdimp.c:3369: error: dereferencing pointer to incomplete type
dbdimp.c:3370: error: `MYSQL' undeclared (first use in this function)
dbdimp.c:3370: error: `svsock' undeclared (first use in this function)
dbdimp.c:3370: error: dereferencing pointer to incomplete type
dbdimp.c:3375: error: `MYSQL_FIELD' undeclared (first use in this function)
dbdimp.c:3375: error: `fields' undeclared (first use in this function)
dbdimp.c:3406: error: dereferencing pointer to incomplete type
dbdimp.c:3413: error: dereferencing pointer to incomplete type
dbdimp.c:3419: error: too few arguments to function `mysql_dr_error'
dbdimp.c:3425: error: dereferencing pointer to incomplete type
dbdimp.c:3555: error: dereferencing pointer to incomplete type
dbdimp.c:3560: error: dereferencing pointer to incomplete type
dbdimp.c:3562: error: dereferencing pointer to incomplete type
dbdimp.c:3564: error: dereferencing pointer to incomplete type
dbdimp.c:3566: error: dereferencing pointer to incomplete type
dbdimp.c:3568: error: dereferencing pointer to incomplete type
dbdimp.c:3571: error: `cols' undeclared (first use in this function)
dbdimp.c:3571: error: dereferencing pointer to incomplete type
dbdimp.c:3577: error: dereferencing pointer to incomplete type
dbdimp.c:3578: error: dereferencing pointer to incomplete type
dbdimp.c:3579: error: dereferencing pointer to incomplete type
dbdimp.c:3583: warning: passing arg 3 of `mysql_dr_error' makes pointer from integer without a cast
dbdimp.c:3583: error: too few arguments to function `mysql_dr_error'
dbdimp.c:3594: error: dereferencing pointer to incomplete type
dbdimp.c:3595: error: dereferencing pointer to incomplete type
dbdimp.c:3596: error: dereferencing pointer to incomplete type
dbdimp.c:3596: warning: assignment makes pointer from integer without a cast
dbdimp.c:3598: error: dereferencing pointer to incomplete type
dbdimp.c:3610: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_st_finish':
dbdimp.c:3761: error: dereferencing pointer to incomplete type
dbdimp.c:3769: error: dereferencing pointer to incomplete type
dbdimp.c:3769: error: dereferencing pointer to incomplete type
dbdimp.c:3769: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_st_destroy':
dbdimp.c:3802: error: dereferencing pointer to incomplete type
dbdimp.c:3802: error: dereferencing pointer to incomplete type
dbdimp.c:3803: error: dereferencing pointer to incomplete type
dbdimp.c:3808: error: dereferencing pointer to incomplete type
dbdimp.c:3809: error: dereferencing pointer to incomplete type
dbdimp.c:3810: error: dereferencing pointer to incomplete type
dbdimp.c:3813: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_st_STORE_attrib':
dbdimp.c:3853: error: dereferencing pointer to incomplete type
dbdimp.c: At top level:
dbdimp.c:3901: error: syntax error before "MYSQL_RES"
dbdimp.c: In function `mysql_st_FETCH_internal':
dbdimp.c:3905: error: `sth' undeclared (first use in this function)
dbdimp.c:3907: error: `MYSQL_FIELD' undeclared (first use in this function)
dbdimp.c:3907: error: `curField' undeclared (first use in this function)
dbdimp.c:3910: error: `what' undeclared (first use in this function)
dbdimp.c:3915: error: too few arguments to function `mysql_dr_error'
dbdimp.c:3919: error: `cacheit' undeclared (first use in this function)
dbdimp.c:3919: error: dereferencing pointer to incomplete type
dbdimp.c:3920: error: dereferencing pointer to incomplete type
dbdimp.c:3923: error: `res' undeclared (first use in this function)
dbdimp.c:3929: error: too few arguments to function `mysql_dr_error'
dbdimp.c:3993: error: `PRI_KEY_FLAG' undeclared (first use in this function)
dbdimp.c:3993: error: `UNIQUE_KEY_FLAG' undeclared (first use in this function)
dbdimp.c:3993: error: `MULTIPLE_KEY_FLAG' undeclared (first use in this function)
dbdimp.c:4020: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_st_FETCH_attrib':
dbdimp.c:4069: error: dereferencing pointer to incomplete type
dbdimp.c:4071: error: dereferencing pointer to incomplete type
dbdimp.c:4075: error: dereferencing pointer to incomplete type
dbdimp.c:4079: error: dereferencing pointer to incomplete type
dbdimp.c:4084: error: dereferencing pointer to incomplete type
dbdimp.c:4087: error: dereferencing pointer to incomplete type
dbdimp.c:4096: error: dereferencing pointer to incomplete type
dbdimp.c:4100: error: dereferencing pointer to incomplete type
dbdimp.c:4106: error: dereferencing pointer to incomplete type
dbdimp.c:4110: error: dereferencing pointer to incomplete type
dbdimp.c:4114: error: dereferencing pointer to incomplete type
dbdimp.c:4116: error: dereferencing pointer to incomplete type
dbdimp.c:4118: error: dereferencing pointer to incomplete type
dbdimp.c:4120: error: dereferencing pointer to incomplete type
dbdimp.c:4124: error: dereferencing pointer to incomplete type
dbdimp.c:4131: error: dereferencing pointer to incomplete type
dbdimp.c:4133: error: dereferencing pointer to incomplete type
dbdimp.c:4138: error: dereferencing pointer to incomplete type
dbdimp.c:4142: error: dereferencing pointer to incomplete type
dbdimp.c:4144: error: dereferencing pointer to incomplete type
dbdimp.c:4146: error: dereferencing pointer to incomplete type
dbdimp.c:4158: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_bind_ph':
dbdimp.c:4237: error: dereferencing pointer to incomplete type
dbdimp.c:4244: error: too few arguments to function `mysql_dr_error'
dbdimp.c:4271: error: too few arguments to function `mysql_dr_error'
dbdimp.c:4283: error: too few arguments to function `mysql_dr_error'
dbdimp.c:4288: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_db_reconnect':
dbdimp.c:4407: error: `MYSQL' undeclared (first use in this function)
dbdimp.c:4407: error: syntax error before "save_socket"
dbdimp.c:4417: error: dereferencing pointer to incomplete type
dbdimp.c:4417: error: `CR_SERVER_GONE_ERROR' undeclared (first use in this function)
dbdimp.c:4421: error: dereferencing pointer to incomplete type
dbdimp.c:4421: error: dereferencing pointer to incomplete type
dbdimp.c:4435: error: `save_socket' undeclared (first use in this function)
dbdimp.c:4435: error: dereferencing pointer to incomplete type
dbdimp.c:4436: error: dereferencing pointer to incomplete type
dbdimp.c:4437: error: dereferencing pointer to incomplete type
dbdimp.c:4437: error: dereferencing pointer to incomplete type
dbdimp.c:4441: error: dereferencing pointer to incomplete type
dbdimp.c:4441: error: dereferencing pointer to incomplete type
dbdimp.c:4445: warning: passing arg 3 of `mysql_dr_error' makes pointer from integer without a cast
dbdimp.c:4445: error: too few arguments to function `mysql_dr_error'
dbdimp.c:4447: error: dereferencing pointer to incomplete type
dbdimp.c:4448: error: dereferencing pointer to incomplete type
dbdimp.c:4451: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_db_quote':
dbdimp.c:4608: error: dereferencing pointer to incomplete type
dbdimp.c: In function `mysql_db_last_insert_id':
dbdimp.c:4623: error: dereferencing pointer to incomplete type
make: *** [dbdimp.o] Error 1
/usr/local/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible

PostPosted: Mon Mar 12, 2007 9:36 am
by henry
I managed to sort it in the end.

I think the RPM versions were interfering with the CPAN versions.

To fix it I did a yum remove on perl-DBI which removed the installation of mysql and the mysql perl drivers.

When I went back to CPAN it let me install the modules I wanted with no troubles and I managed to start Asterisk with the script that VICIDIAL requires.

PostPosted: Mon Mar 12, 2007 11:16 pm
by mflorell
Another reason I avoid RPMs if at all possible.

PostPosted: Wed Mar 21, 2007 10:48 am
by henry
Having installed a new server again from scratch I have discovered that the reason DBD::mysql wouldn't install initially was because I needed the RPM mysql-devel to do this in CentOS.

PostPosted: Wed Mar 21, 2007 1:29 pm
by gardo
there is a good howto on this forum that gives you a detailed step by step vicidial from scratch using centos. i'm sorry but i forgot the exact link. been using centos x86_64 for all my vicidial installations and never encountered any difficulties in installing vicidial and its dependencies. most of the time i use the centos RPMS (except for apache and php - you really need to compile them - centos bug - vicidal admin.php pages doesnt appear on the default apache and php installation).

PostPosted: Wed Mar 21, 2007 2:31 pm
by mflorell
This might be the thread you are think of. It has lots of good information in it:
http://www.eflo.net/VICIDIALforum/viewtopic.php?t=1778