Closed p5pRT closed 6 years ago
Blead has broken the build for CPAN library DBI. This was first detected by Carlos Guevara; see http://matrix.cpantesters.org/?dist=DBI;os=linux;perl=5.27.6;reports=1.
I have reproduced his findings on Linux building with both gcc-7.2 and gcc-5.4. The relevant portion of my cpanm build.log is attached.
This is being investigated now on #p5p. mauke diagnoses this as fallout from the "assume C89" patches that were introduced to blead in the past two weeks. Investigation continues.
Thank you very much. Jim Keenan
running Mkbootstrap for DBI () chmod 644 "DBI.bs" "/home/jkeenan/testing/blead/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- DBI.bs blib/arch/auto/DBI/DBI.bs 644 "/home/jkeenan/testing/blead/bin/perl" -p -e "s/~DRIVER~/Perl/g" ./Driver.xst > Perl.xsi "/home/jkeenan/testing/blead/bin/perl" "/home/jkeenan/testing/blead/lib/perl5/5.27.6/ExtUtils/xsubpp" -typemap '/home/jkeenan/testing/blead/lib/perl5/5.27.6/ExtUtils/typemap' -typemap '/home/jkeenan/.cpanm/work/1508670809.16621/DBI-1.637/typemap' Perl.xs > Perl.xsc mv Perl.xsc Perl.c cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.637\" -DXS_VERSION=\"1.637\" -fPIC "-I/home/jkeenan/testing/blead/lib/perl5/5.27.6/x86_64-linux/CORE" -W -Wall -Wpointer-arith -Wbad-function-cast -Wno-comment -Wno-sign-compare -Wno-cast-qual -Wmissing-noreturn -Wno-unused-parameter -DDBI_NO_THREADS Perl.c In file included from Perl.xs:7:0: DBIXS.h:429:27: error: expected ‘:’\, ‘\,’\, ‘;’\, ‘}’ or ‘__attribute__’ before ‘_’ void (*check_version) _((const char *name\, ^ In file included from Perl.xs:8:0: dbd_xsh.h:14:19: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ void dbd_init _((dbistate_t *dbistate)); ^ dbd_xsh.h:16:25: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_discon_all _((SV *drh\, imp_drh_t *imp_drh)); ^ dbd_xsh.h:17:28: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ SV *dbd_take_imp_data _((SV *h\, imp_xxh_t *imp_xxh\, void *foo)); ^ dbd_xsh.h:24:27: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_db_login6_sv _((SV *dbh\, imp_dbh_t *imp_dbh\, SV *dbname\, SV *uid\, SV *pwd\, SV*attribs)); ^ dbd_xsh.h:25:24: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_db_login6 _((SV *dbh\, imp_dbh_t *imp_dbh\, char *dbname\, char *uid\, char *pwd\, SV*attribs)); ^ dbd_xsh.h:26:24: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_db_login _((SV *dbh\, imp_dbh_t *imp_dbh\, char *dbname\, char *uid\, char *pwd)); /* deprecated */ ^ dbd_xsh.h:30:24: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_db_do4 _((SV *dbh\, imp_dbh_t *imp_dbh\, char *statement\, SV *params)); ^ dbd_xsh.h:31:24: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ IV dbd_db_do4_iv _((SV *dbh\, imp_dbh_t *imp_dbh\, char *statement\, SV *params)); ^ dbd_xsh.h:32:28: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_db_commit _((SV *dbh\, imp_dbh_t *imp_dbh)); ^ dbd_xsh.h:33:28: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_db_rollback _((SV *dbh\, imp_dbh_t *imp_dbh)); ^ dbd_xsh.h:34:28: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_db_disconnect _((SV *dbh\, imp_dbh_t *imp_dbh)); ^ dbd_xsh.h:35:28: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ void dbd_db_destroy _((SV *dbh\, imp_dbh_t *imp_dbh)); ^ dbd_xsh.h:36:30: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_db_STORE_attrib _((SV *dbh\, imp_dbh_t *imp_dbh\, SV *keysv\, SV *valuesv)); ^ dbd_xsh.h:37:30: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ SV *dbd_db_FETCH_attrib _((SV *dbh\, imp_dbh_t *imp_dbh\, SV *keysv)); ^ dbd_xsh.h:38:27: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ SV *dbd_db_last_insert_id _((SV *dbh\, imp_dbh_t *imp_dbh\, SV *catalog\, SV *schema\, SV *table\, SV *field\, SV *attr)); ^ dbd_xsh.h:39:30: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ AV *dbd_db_data_sources _((SV *dbh\, imp_dbh_t *imp_dbh\, SV *attr)); ^ dbd_xsh.h:41:25: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_st_prepare _((SV *sth\, imp_sth_t *imp_sth\, char *statement\, SV *attribs)); ^ dbd_xsh.h:42:28: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_st_prepare_sv _((SV *sth\, imp_sth_t *imp_sth\, SV *statement\, SV *attribs)); ^ dbd_xsh.h:43:25: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_st_rows _((SV *sth\, imp_sth_t *imp_sth)); ^ dbd_xsh.h:44:25: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ IV dbd_st_rows_iv _((SV *sth\, imp_sth_t *imp_sth)); ^ dbd_xsh.h:45:28: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_st_execute _((SV *sth\, imp_sth_t *imp_sth)); ^ dbd_xsh.h:46:28: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ IV dbd_st_execute_iv _((SV *sth\, imp_sth_t *imp_sth)); ^ dbd_xsh.h:47:25: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ AV *dbd_st_fetch _((SV *sth\, imp_sth_t *imp_sth)); ^ dbd_xsh.h:48:25: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_st_finish3 _((SV *sth\, imp_sth_t *imp_sth\, int from_destroy)); ^ dbd_xsh.h:49:25: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_st_finish _((SV *sth\, imp_sth_t *imp_sth)); /* deprecated */ ^ dbd_xsh.h:50:25: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ void dbd_st_destroy _((SV *sth\, imp_sth_t *imp_sth)); ^ dbd_xsh.h:51:27: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_st_blob_read _((SV *sth\, imp_sth_t *imp_sth\, ^ dbd_xsh.h:53:30: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_st_STORE_attrib _((SV *sth\, imp_sth_t *imp_sth\, SV *keysv\, SV *valuesv)); ^ dbd_xsh.h:54:30: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ SV *dbd_st_FETCH_attrib _((SV *sth\, imp_sth_t *imp_sth\, SV *keysv)); ^ dbd_xsh.h:55:35: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ SV *dbd_st_execute_for_fetch _((SV *sth\, imp_sth_t *imp_sth\, SV *fetch_tuple_sub\, SV *tuple_status)); ^ dbd_xsh.h:57:23: error: expected ‘=’\, ‘\,’\, ‘;’\, ‘asm’ or ‘__attribute__’ before ‘_’ int dbd_bind_ph _((SV *sth\, imp_sth_t *imp_sth\, ^ In file included from Perl.xs:7:0: Driver_xst.h: In function ‘dbixst_bounce_method’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:376:22: note: in expansion of macro ‘D_impdata’ #define D_imp_xxh(h) D_impdata(imp_xxh\, imp_xxh_t\, h) ^ Driver_xst.h:27:5: note: in expansion of macro ‘D_imp_xxh’ D_imp_xxh(ST(0)); ^ In file included from Perl.xs:7:0: DBIXS.h:195:51: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘logfp’ #define DBIc_LOGPIO(imp) DBIc_DBISTATE(imp)->logfp ^ Driver_xst.h:29:16: note: in expansion of macro ‘DBIc_LOGPIO’ PerlIO_printf(DBIc_LOGPIO(imp_xxh)\, ^ DBIXS.h:195:51: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘logfp’ #define DBIc_LOGPIO(imp) DBIc_DBISTATE(imp)->logfp ^ Driver_xst.h:45:16: note: in expansion of macro ‘DBIc_LOGPIO’ PerlIO_printf(DBIc_LOGPIO(imp_xxh)\, ^ In file included from Perl.xs:7:0: DBIXS.h:362:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘neat_svpv’ #define neatsvpv(sv\,len) (DBIS->neat_svpv(sv\,len)) ^ Driver_xst.h:46:60: note: in expansion of macro ‘neatsvpv’ " \<- %s= %s (trampoline call return)\n"\, methname\, neatsvpv(sv\,0)); ^ In file included from Perl.c:207:0: Driver_xst.h: In function ‘dbdxst_bind_params’: Driver_xst.h:81:7: warning: implicit declaration of function ‘dbd_bind_ph’ [-Wimplicit-function-declaration] if (!dbd_bind_ph(sth\, imp_sth\, idx\, value\, 0\, Nullsv\, FALSE\, 0)) { ^ In file included from Perl.xs:7:0: Driver_xst.h: In function ‘dbdxst_fetchall_arrayref’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ Driver_xst.h:93:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ In file included from Perl.c:207:0: Driver_xst.h:112:23: warning: implicit declaration of function ‘dbd_st_fetch’ [-Wimplicit-function-declaration] && (fetched_av = dbd_st_fetch(sth\, imp_sth)) ^ Driver_xst.h:112:21: warning: assignment makes pointer from integer without a cast [-Wint-conversion] && (fetched_av = dbd_st_fetch(sth\, imp_sth)) ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__dr_discon_all_’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:373:22: note: in expansion of macro ‘D_impdata’ #define D_imp_drh(h) D_impdata(imp_drh\, imp_drh_t\, h) ^ ./Perl.xsi:69:5: note: in expansion of macro ‘D_imp_drh’ D_imp_drh(drh); ^ ./Perl.xsi: In function ‘XS_DBD__Perl__dr_data_sources’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:373:22: note: in expansion of macro ‘D_impdata’ #define D_imp_drh(h) D_impdata(imp_drh\, imp_drh_t\, h) ^ ./Perl.xsi:84:9: note: in expansion of macro ‘D_imp_drh’ D_imp_drh(drh); ^ Perl.c:276:7: warning: variable ‘attr’ set but not used [-Wunused-but-set-variable] SV * attr; ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__db__login’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:374:22: note: in expansion of macro ‘D_impdata’ #define D_imp_dbh(h) D_impdata(imp_dbh\, imp_dbh_t\, h) ^ ./Perl.xsi:114:5: note: in expansion of macro ‘D_imp_dbh’ D_imp_dbh(dbh); ^ ./Perl.xsi:125:13: warning: implicit declaration of function ‘dbd_db_login’ [-Wimplicit-function-declaration] ST(0) = dbd_db_login( dbh\, imp_dbh\, SvPV_nolen(dbname)\, u\, p) ? &PL_sv_yes : &PL_sv_no; ^ Perl.c:320:7: warning: variable ‘attribs’ set but not used [-Wunused-but-set-variable] SV * attribs; ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__db_selectall_arrayref’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ ./Perl.xsi:168:28: note: in expansion of macro ‘DBIh_COM’ imp_sth = (imp_sth_t*)(DBIh_COM(sth)); ^ ./Perl.xsi:177:10: warning: implicit declaration of function ‘dbd_st_execute’ [-Wimplicit-function-declaration] if ( dbd_st_execute(sth\, imp_sth) \<= -2 ) { /* -2 == error */ ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__db_selectrow_arrayref’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ ./Perl.xsi:214:28: note: in expansion of macro ‘DBIh_COM’ imp_sth = (imp_sth_t*)(DBIh_COM(sth)); ^ ./Perl.xsi:227:12: warning: assignment makes pointer from integer without a cast [-Wint-conversion] row_av = dbd_st_fetch(sth\, imp_sth); ^ ./Perl.xsi:249:5: warning: implicit declaration of function ‘dbd_st_finish’ [-Wimplicit-function-declaration] dbd_st_finish(sth\, imp_sth); ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__db_do’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:374:22: note: in expansion of macro ‘D_impdata’ #define D_imp_dbh(h) D_impdata(imp_dbh\, imp_dbh_t\, h) ^ ./Perl.xsi:262:5: note: in expansion of macro ‘D_imp_dbh’ D_imp_dbh(dbh); ^ ./Perl.xsi: In function ‘XS_DBD__Perl__db_last_insert_id’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:374:22: note: in expansion of macro ‘D_impdata’ #define D_imp_dbh(h) D_impdata(imp_dbh\, imp_dbh_t\, h) ^ ./Perl.xsi:289:5: note: in expansion of macro ‘D_imp_dbh’ D_imp_dbh(dbh); ^ Perl.c:555:7: warning: variable ‘attr’ set but not used [-Wunused-but-set-variable] SV * attr; ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__db_commit’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:374:22: note: in expansion of macro ‘D_impdata’ #define D_imp_dbh(h) D_impdata(imp_dbh\, imp_dbh_t\, h) ^ ./Perl.xsi:300:5: note: in expansion of macro ‘D_imp_dbh’ D_imp_dbh(dbh); ^ ./Perl.xsi:303:13: warning: implicit declaration of function ‘dbd_db_commit’ [-Wimplicit-function-declaration] ST(0) = dbd_db_commit(dbh\, imp_dbh) ? &PL_sv_yes : &PL_sv_no; ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__db_rollback’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:374:22: note: in expansion of macro ‘D_impdata’ #define D_imp_dbh(h) D_impdata(imp_dbh\, imp_dbh_t\, h) ^ ./Perl.xsi:310:5: note: in expansion of macro ‘D_imp_dbh’ D_imp_dbh(dbh); ^ ./Perl.xsi:313:13: warning: implicit declaration of function ‘dbd_db_rollback’ [-Wimplicit-function-declaration] ST(0) = dbd_db_rollback(dbh\, imp_dbh) ? &PL_sv_yes : &PL_sv_no; ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__db_disconnect’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:374:22: note: in expansion of macro ‘D_impdata’ #define D_imp_dbh(h) D_impdata(imp_dbh\, imp_dbh_t\, h) ^ ./Perl.xsi:320:5: note: in expansion of macro ‘D_imp_dbh’ D_imp_dbh(dbh); ^ ./Perl.xsi:333:13: warning: implicit declaration of function ‘dbd_db_disconnect’ [-Wimplicit-function-declaration] ST(0) = dbd_db_disconnect(dbh\, imp_dbh) ? &PL_sv_yes : &PL_sv_no; ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__db_STORE’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:374:22: note: in expansion of macro ‘D_impdata’ #define D_imp_dbh(h) D_impdata(imp_dbh\, imp_dbh_t\, h) ^ ./Perl.xsi:343:5: note: in expansion of macro ‘D_imp_dbh’ D_imp_dbh(dbh); ^ ./Perl.xsi:347:10: warning: implicit declaration of function ‘dbd_db_STORE_attrib’ [-Wimplicit-function-declaration] if (!dbd_db_STORE_attrib(dbh\, imp_dbh\, keysv\, valuesv)) ^ ./Perl.xsi:348:36: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘set_attr_k’ if (!DBIc_DBISTATE(imp_dbh)->set_attr(dbh\, keysv\, valuesv)) ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__db_FETCH’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:374:22: note: in expansion of macro ‘D_impdata’ #define D_imp_dbh(h) D_impdata(imp_dbh\, imp_dbh_t\, h) ^ ./Perl.xsi:357:5: note: in expansion of macro ‘D_imp_dbh’ D_imp_dbh(dbh); ^ ./Perl.xsi:358:19: warning: implicit declaration of function ‘dbd_db_FETCH_attrib’ [-Wimplicit-function-declaration] SV *valuesv = dbd_db_FETCH_attrib(dbh\, imp_dbh\, keysv); ^ ./Perl.xsi:358:19: warning: initialization makes pointer from integer without a cast [-Wint-conversion] ./Perl.xsi:360:41: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘get_attr_k’ valuesv = DBIc_DBISTATE(imp_dbh)->get_attr(dbh\, keysv); ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__db_DESTROY’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:374:22: note: in expansion of macro ‘D_impdata’ #define D_imp_dbh(h) D_impdata(imp_dbh\, imp_dbh_t\, h) ^ ./Perl.xsi:369:5: note: in expansion of macro ‘D_imp_dbh’ D_imp_dbh(dbh); ^ ./Perl.xsi:373:70: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘debug’ if (DBIc_WARN(imp_dbh) && !PL_dirty && DBIc_DBISTATE(imp_dbh)->debug >= 2) ^ In file included from Perl.xs:7:0: DBIXS.h:195:51: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘logfp’ #define DBIc_LOGPIO(imp) DBIc_DBISTATE(imp)->logfp ^ ./Perl.xsi:374:28: note: in expansion of macro ‘DBIc_LOGPIO’ PerlIO_printf(DBIc_LOGPIO(imp_dbh)\, ^ ./Perl.xsi:381:39: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘debug’ if (DBIc_DBISTATE(imp_dbh)->debug) ^ In file included from Perl.xs:7:0: DBIXS.h:195:51: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘logfp’ #define DBIc_LOGPIO(imp) DBIc_DBISTATE(imp)->logfp ^ ./Perl.xsi:382:32: note: in expansion of macro ‘DBIc_LOGPIO’ PerlIO_printf(DBIc_LOGPIO(imp_dbh)\, " DESTROY %s skipped due to InactiveDestroy\n"\, SvPV_nolen(dbh)); ^ ./Perl.xsi:399:56: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘debug’ && (!PL_dirty || DBIc_DBISTATE(imp_dbh)->debug >= 3) ^ ./Perl.xsi:411:9: warning: implicit declaration of function ‘dbd_db_destroy’ [-Wimplicit-function-declaration] dbd_db_destroy(dbh\, imp_dbh); ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__db_take_imp_data’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:376:22: note: in expansion of macro ‘D_impdata’ #define D_imp_xxh(h) D_impdata(imp_xxh\, imp_xxh_t\, h) ^ ./Perl.xsi:421:5: note: in expansion of macro ‘D_imp_xxh’ D_imp_xxh(h); ^ ./Perl.xsi: In function ‘XS_DBD__Perl__st__prepare’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:475:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi:480:13: warning: implicit declaration of function ‘dbd_st_prepare’ [-Wimplicit-function-declaration] ST(0) = dbd_st_prepare(sth\, imp_sth\, SvPV_nolen(statement)\, attribs) ? &PL_sv_yes : &PL_sv_no; ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__st_bind_col’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:508:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi:527:48: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘bind_col’ ST(0) = (DBIc_DBISTATE(imp_sth)->bind_col(sth\, col\, ref\, attribs)) ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__st_bind_param’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:546:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi: In function ‘XS_DBD__Perl__st_bind_param_inout’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:576:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi: In function ‘XS_DBD__Perl__st_execute’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:605:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi: In function ‘XS_DBD__Perl__st_execute_for_fetch’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:633:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi: In function ‘XS_DBD__Perl__st_fetchrow_arrayref’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:647:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi:650:8: warning: assignment makes pointer from integer without a cast [-Wint-conversion] av = dbd_st_fetch(sth\, imp_sth); ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__st_fetchrow_array’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:660:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi:662:8: warning: assignment makes pointer from integer without a cast [-Wint-conversion] av = dbd_st_fetch(sth\, imp_sth); ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__st_finish’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:696:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi: In function ‘XS_DBD__Perl__st_blob_read’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:725:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi:728:9: warning: implicit declaration of function ‘dbd_st_blob_read’ [-Wimplicit-function-declaration] if (dbd_st_blob_read(sth\, imp_sth\, field\, offset\, len\, destrv\, destoffset)) ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__st_STORE’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:740:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi:744:10: warning: implicit declaration of function ‘dbd_st_STORE_attrib’ [-Wimplicit-function-declaration] if (!dbd_st_STORE_attrib(sth\, imp_sth\, keysv\, valuesv)) ^ ./Perl.xsi:745:36: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘set_attr_k’ if (!DBIc_DBISTATE(imp_sth)->set_attr(sth\, keysv\, valuesv)) ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__st_FETCH_attrib’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:757:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi:760:15: warning: implicit declaration of function ‘dbd_st_FETCH_attrib’ [-Wimplicit-function-declaration] valuesv = dbd_st_FETCH_attrib(sth\, imp_sth\, keysv); ^ ./Perl.xsi:760:13: warning: assignment makes pointer from integer without a cast [-Wint-conversion] valuesv = dbd_st_FETCH_attrib(sth\, imp_sth\, keysv); ^ ./Perl.xsi:762:41: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘get_attr_k’ valuesv = DBIc_DBISTATE(imp_sth)->get_attr(sth\, keysv); ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘XS_DBD__Perl__st_DESTROY’: DBIXS.h:361:38: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘getcom’ #define DBIh_COM(h) (DBIS->getcom(h)) ^ DBIXS.h:372:54: note: in expansion of macro ‘DBIh_COM’ #define D_impdata(name\,type\,h) type *name = (type*)(DBIh_COM(h)) ^ DBIXS.h:375:22: note: in expansion of macro ‘D_impdata’ #define D_imp_sth(h) D_impdata(imp_sth\, imp_sth_t\, h) ^ ./Perl.xsi:771:5: note: in expansion of macro ‘D_imp_sth’ D_imp_sth(sth); ^ ./Perl.xsi:775:70: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘debug’ if (DBIc_WARN(imp_sth) && !PL_dirty && DBIc_DBISTATE(imp_sth)->debug >= 2) ^ In file included from Perl.xs:7:0: DBIXS.h:195:51: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘logfp’ #define DBIc_LOGPIO(imp) DBIc_DBISTATE(imp)->logfp ^ ./Perl.xsi:776:28: note: in expansion of macro ‘DBIc_LOGPIO’ PerlIO_printf(DBIc_LOGPIO(imp_sth)\, ^ ./Perl.xsi:783:39: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘debug’ if (DBIc_DBISTATE(imp_sth)->debug) ^ In file included from Perl.xs:7:0: DBIXS.h:195:51: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘logfp’ #define DBIc_LOGPIO(imp) DBIc_DBISTATE(imp)->logfp ^ ./Perl.xsi:784:32: note: in expansion of macro ‘DBIc_LOGPIO’ PerlIO_printf(DBIc_LOGPIO(imp_sth)\, " DESTROY %s skipped due to InactiveDestroy\n"\, SvPV_nolen(sth)); ^ ./Perl.xsi:799:9: warning: implicit declaration of function ‘dbd_st_destroy’ [-Wimplicit-function-declaration] dbd_st_destroy(sth\, imp_sth); ^ In file included from Perl.xs:7:0: ./Perl.xsi: In function ‘boot_DBD__Perl’: DBIXS.h:523:9: error: ‘dbistate_t {aka struct dbistate_st}’ has no member named ‘check_version’ DBIS->check_version(__FILE__\, DBISTATE_VERSION\, sizeof(*DBIS)\, NEED_DBIXS_VERSION\, \ ^ ./Perl.xsi:40:5: note: in expansion of macro ‘DBISTATE_INIT’ DBISTATE_INIT; ^ ./Perl.xsi:45:5: warning: implicit declaration of function ‘dbd_init’ [-Wimplicit-function-declaration] dbd_init(DBIS); ^ Makefile:459: recipe for target 'Perl.o' failed make: *** [Perl.o] Error 1 -> FAIL Installing DBI failed. See /home/jkeenan/.cpanm/work/1508670809.16621/build.log for details. Retry with --force to force install it.
Summary of my perl5 (revision 5 version 27 subversion 6) configuration: Commit id: 1990fc31cda5d997715f410156c0103503187a35 Platform: osname=linux osvers=4.4.0-97-generic archname=x86_64-linux uname='linux zareason 4.4.0-97-generic #120-ubuntu smp tue sep 19 17:28:18 utc 2017 x86_64 x86_64 x86_64 gnulinux ' config_args='-des -Dusedevel -Uversiononly -Dprefix=/home/jkeenan/testing/blead -Dman1dir=none -Dman3dir=none' hint=recommended useposix=true d_sigaction=define useithreads=undef usemultiplicity=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='cc' ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' optimize='-O2' cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include' ccversion='' gccversion='5.4.0 20160609' gccosandvers='' intsize=4 longsize=8 ptrsize=8 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=16 longdblkind=3 ivtype='long' ivsize=8 nvtype='double' nvsize=8 Off_t='off_t' lseeksize=8 alignbytes=8 prototype=undef Linker and Libraries: ld='cc' ldflags =' -fstack-protector-strong -L/usr/local/lib' libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64 libs=-lpthread -lnsl -ldb -ldl -lm -lcrypt -lutil -lc perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc libc=libc-2.23.so so=so useshrplib=false libperl=libperl.a gnulibc_version='2.23' Dynamic Linking: dlsrc=dl_dlopen.xs dlext=so d_dlsymun=undef ccdlflags='-Wl\,-E' cccdlflags='-fPIC' lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF Built under linux Compiled at Oct 22 2017 07:11:36 %ENV: PERL2DIR="/home/jkeenan/gitwork/perl2" PERLBREW_BASHRC_VERSION="0.78" PERLBREW_HOME="/home/jkeenan/.perlbrew" PERLBREW_MANPATH="/home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/man" PERLBREW_PATH="/home/jkeenan/perl5/perlbrew/bin:/home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/bin" PERLBREW_PERL="perl-5.26.0" PERLBREW_ROOT="/home/jkeenan/perl5/perlbrew" PERLBREW_VERSION="0.78" PERL_WORKDIR="/home/jkeenan/gitwork/perl" @INC: lib /home/jkeenan/testing/blead/lib/perl5/site_perl/5.27.6/x86_64-linux /home/jkeenan/testing/blead/lib/perl5/site_perl/5.27.6 /home/jkeenan/testing/blead/lib/perl5/5.27.6/x86_64-linux /home/jkeenan/testing/blead/lib/perl5/5.27.6
Fixed in ae75e3d0dc87cf5b8ccb3d890b842edb7098140e.
-- Aaron Crane
The RT System itself - Status changed from 'new' to 'open'
@arc - Status changed from 'open' to 'resolved'
Re-opening. DBI is still not building on blead as of commit ae75e3d0dc87cf5b8ccb3d890b842edb7098140e. Investigation on #p5p is ongoing.
-- James E Keenan (jkeenan@cpan.org)
@jkeenan - Status changed from 'resolved' to 'open'
On Sun\, 22 Oct 2017 12:11:31 GMT\, jkeenan wrote:
Re-opening. DBI is still not building on blead as of commit ae75e3d0dc87cf5b8ccb3d890b842edb7098140e. Investigation on #p5p is ongoing.
As of commit 36a113ce6e02b318488367d68c0de9cb2f852752\, DBI is building and PASSing again in blead.
Other CPAN libraries -- e.g.\, Tk -- may still have breakage.
-- James E Keenan (jkeenan@cpan.org)
This is believed to be resolved as of 6c2ae6421675ba5ff81dd43f9167136f02dfe9d9 (under which I have successfully built both DBI and Tk).
If there's any further fallout from the c89ification changes\, new BBC tickets will of course be welcome as always.
Thanks.
-- Aaron Crane
@arc - Status changed from 'open' to 'resolved'
On Mon\, 23 Oct 2017 09:28:04 -0700\, arc wrote:
This is believed to be resolved as of 6c2ae6421675ba5ff81dd43f9167136f02dfe9d9 (under which I have successfully built both DBI and Tk).
If there's any further fallout from the c89ification changes\, new BBC tickets will of course be welcome as always.
Since the ‘new ticket’ feature seems to have disappeared from RT\, I’m going to be naughty and reopen this ticket. I have changed the subject to be more informative.
PDL is also affected. The build does not fail\, but image2d.t fails like this:
t/image2d.t ..................... 1/29 # Failed test 'patchbad2d' # at t/image2d.t line 126. # Looks like you failed 1 test of 29. t/image2d.t ..................... Dubious\, test returned 1 (wstat 256\, 0x100) Failed 1/29 subtests
as of this commit:
commit 9d82a2b71ca36a0f03ce4676aab0bada365292a9 Author: Aaron Crane \arc@​cpan\.org Date: Fri Oct 13 00:55:41 2017 +0200
Rely on C89 \<stdarg.h>
--
Father Chrysostomos
@cpansprout - Status changed from 'resolved' to 'open'
On Wed\, 22 Nov 2017 20:26:01 -0800\, sprout wrote:
On Mon\, 23 Oct 2017 09:28:04 -0700\, arc wrote:
This is believed to be resolved as of 6c2ae6421675ba5ff81dd43f9167136f02dfe9d9 (under which I have successfully built both DBI and Tk).
If there's any further fallout from the c89ification changes\, new BBC tickets will of course be welcome as always.
Since the ‘new ticket’ feature seems to have disappeared from RT\, I’m going to be naughty and reopen this ticket. I have changed the subject to be more informative.
PDL is also affected. The build does not fail\, but image2d.t fails like this:
t/image2d.t ..................... 1/29 # Failed test 'patchbad2d' # at t/image2d.t line 126. # Looks like you failed 1 test of 29. t/image2d.t ..................... Dubious\, test returned 1 (wstat 256\, 0x100) Failed 1/29 subtests
as of this commit:
commit 9d82a2b71ca36a0f03ce4676aab0bada365292a9 Author: Aaron Crane \arc@​cpan\.org Date: Fri Oct 13 00:55:41 2017 +0200
Rely on C89 \<stdarg.h>
A quick skim of that commit and a corresponding grep (ack) of the PDL source suggests that we need to restore the I_STDARG symbol:
$ ack '\bI_STDARG\b' Basic/Core/pdlcore.c.PL 703:#ifdef I_STDARG
--
Father Chrysostomos
Father Chrysostomos via RT \perlbug\-followup@​perl\.org wrote:
On Wed\, 22 Nov 2017 20:26:01 -0800\, sprout wrote:
On Mon\, 23 Oct 2017 09:28:04 -0700\, arc wrote:
This is believed to be resolved as of 6c2ae6421675ba5ff81dd43f9167136f02dfe9d9 (under which I have successfully built both DBI and Tk).
PDL is also affected. The build does not fail\, but image2d.t fails like this:
t/image2d.t ..................... 1/29 # Failed test 'patchbad2d' # at t/image2d.t line 126. # Looks like you failed 1 test of 29. t/image2d.t ..................... Dubious\, test returned 1 (wstat 256\, 0x100) Failed 1/29 subtests
as of this commit:
commit 9d82a2b71ca36a0f03ce4676aab0bada365292a9 Author: Aaron Crane \arc@​cpan\.org Date: Fri Oct 13 00:55:41 2017 +0200
Rely on C89 \<stdarg.h>
A quick skim of that commit and a corresponding grep (ack) of the PDL source suggests that we need to restore the I_STDARG symbol:
$ ack '\bI_STDARG\b' Basic/Core/pdlcore.c.PL 703:#ifdef I_STDARG
That symbol was restored by this commit:
commit 36a113ce6e02b318488367d68c0de9cb2f852752 Author: Aaron Crane \arc@​cpan\.org Date: Sun Oct 22 13:33:31 2017 +0100
Define I_STDARG cpp symbol for XS backcompat
While I'm not eager in general to go round defining symbols like this for all the standard headers\, I_STDARG is a little unusual in that several older XS modules also use it to decide whether to call the va_args() macro using its pre-standardisation form (since C89 added an additional argument to it).
Affected modules include DBI\, Tk\, and DBD::Unify.
So I don't think that's the problem any longer.
Do you still have the bisection setup you used to find the PDL problem\, and if so\, are you in a position to run it on the successors of 36a113ce?
-- Aaron Crane ** http://aaroncrane.co.uk/
On Thu\, 23 Nov 2017 12:07:28 GMT\, arc wrote:
Father Chrysostomos via RT \perlbug\-followup@​perl\.org wrote:
On Wed\, 22 Nov 2017 20:26:01 -0800\, sprout wrote:
On Mon\, 23 Oct 2017 09:28:04 -0700\, arc wrote:
This is believed to be resolved as of 6c2ae6421675ba5ff81dd43f9167136f02dfe9d9 (under which I have successfully built both DBI and Tk).
PDL is also affected. The build does not fail\, but image2d.t fails like this:
t/image2d.t ..................... 1/29 # Failed test 'patchbad2d' # at t/image2d.t line 126. # Looks like you failed 1 test of 29. t/image2d.t ..................... Dubious\, test returned 1 (wstat 256\, 0x100) Failed 1/29 subtests
as of this commit:
commit 9d82a2b71ca36a0f03ce4676aab0bada365292a9 Author: Aaron Crane \arc@​cpan\.org Date: Fri Oct 13 00:55:41 2017 +0200
Rely on C89 \<stdarg.h>
A quick skim of that commit and a corresponding grep (ack) of the PDL source suggests that we need to restore the I_STDARG symbol:
$ ack '\bI_STDARG\b' Basic/Core/pdlcore.c.PL 703:#ifdef I_STDARG
That symbol was restored by this commit:
commit 36a113ce6e02b318488367d68c0de9cb2f852752 Author: Aaron Crane \arc@​cpan\.org Date: Sun Oct 22 13:33:31 2017 +0100
Define I_STDARG cpp symbol for XS backcompat
While I'm not eager in general to go round defining symbols like this for all the standard headers\, I_STDARG is a little unusual in that several older XS modules also use it to decide whether to call the va_args() macro using its pre-standardisation form (since C89 added an additional argument to it).
Affected modules include DBI\, Tk\, and DBD::Unify.
So I don't think that's the problem any longer.
Do you still have the bisection setup you used to find the PDL problem\, and if so\, are you in a position to run it on the successors of 36a113ce?
PDL is indeed failing tests when built against blead (more precisely\, commit 8510c6c on Nov 21 -- 2 days ago)\, but looking at the 'make test' output attached\, my hunch is that these various failures have multiple causes.
Thank you very much. -- James E Keenan (jkeenan@cpan.org)
PERL_DL_NONLAZY=1 "/home/jkeenan/testing/blead/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0\, 'blib/lib'\, 'blib/arch')" t/*.t t/00-report-prereqs.t ........... ok t/01-checkmanifest.t ............ ok t/aaa_load.t .................... ok t/argtest.t ..................... ok t/autoload.t .................... ok t/bad.t ......................... ok t/badvalue_scalar_cmp.t ......... ok t/basic.t ....................... ok t/bess.t ........................ ok t/bigmem.t ...................... skipped: bigmem tests skipped to avoid OOM fails t/bool.t ........................ ok t/callext.t ..................... ok t/clump.t ....................... ok t/complex.t ..................... ok t/config.t ...................... ok t/constants.t ................... ok t/constructor.t ................. ok t/conv.t ........................ ok t/core.t ........................ ok t/croak.t ....................... ok t/diskcache.t ................... ok t/dumper.t ...................... ok t/erf.t ......................... ok t/erfi.t ........................ ok t/familyfree.t .................. ok t/fastraw.t ..................... ok t/fft.t ......................... ok t/fits.t ........................ ok t/flexraw.t ..................... ok t/flexraw_fortran.t ............. skipped: Skipped tests as F77 compiler not found t/flow.t ........................ ok t/func.t ........................ ok t/gauss.t ....................... ok t/gd_oo_tests.t ................. skipped: PDL::IO::GD not compiled. t/gd_tests.t .................... skipped: PDL::IO::GD not compiled. t/gis_proj.t .................... skipped: PDL::GIS::Proj module not compiled. t/gsl_diff.t .................... ok t/gsl_integ.t ................... ok t/gsl_interp.t .................. ok t/gsl_mroot.t ................... skipped: PDL::GSL::MROOT doesn't work with PDL_Index\, yet t/gsl_rng.t ..................... ok t/gsl_sf.t ...................... ok t/hdf_sd.t ...................... skipped: PDL::IO::HDF module not compiled. t/hdf_vdata.t ................... skipped: PDL::IO::HDF module not compiled. t/hdf_vgroup.t .................. skipped: PDL::IO::HDF module not compiled. t/hdrs.t ........................ ok t/hist.t ........................ ok t/howbig.t ...................... ok t/ica.t ......................... ok t/image2d.t ..................... Dubious\, test returned 1 (wstat 256\, 0x100) Failed 1/29 subtests t/imagend.t ..................... ok t/imagergb.t .................... ok t/inline-comment-test.t ......... ok t/inline-with.t ................. ok t/inlinepdlpp.t ................. ok t/interp.t ...................... skipped: See PDL::Func t/interp_slatec.t ............... skipped: See PDL::Func t/interpol.t .................... ok t/iotypes.t ..................... ok t/lgamma.t ...................... ok t/limits_00.t ................... skipped: PDL::Slatec not available t/limits_errb.t ................. skipped: PDL::Slatec not available t/limits_keyspecs.t ............. skipped: PDL::Slatec not available t/limits_normalize_dsets.t ...... skipped: could not load modules t/limits_range.t ................ skipped: PDL::Slatec not available t/limits_round.t ................ skipped: PDL::Slatec not available t/limits_trans.t ................ skipped: PDL::Slatec not available t/limits_trans_err.t ............ skipped: PDL::Slatec not available t/limits_ulimits.t .............. skipped: PDL::Slatec not available t/linfit.t ...................... skipped: PDL::Fit::Linfit: Can't locate PDL/Slatec.pm in @INC (you may need to install the PDL::Slatec module) (@INC contains: /home/jkeenan/.cpanm/work/1511442816.1911/PDL-2.018/blib/lib /home/jkeenan/.cpanm/work/1511442816.1911/PDL-2.018/blib/arch /home/jkeenan/testing/blead/lib/perl5/site_perl/5.27.7/x86_64-linux /home/jkeenan/testing/blead/lib/perl5/site_perl/5.27.7 /home/jkeenan/testing/blead/lib/perl5/5.27.7/x86_64-linux /home/jkeenan/testing/blead/lib/perl5/5.27.7 .) at /home/jkeenan/.cpanm/work/1511442816.1911/PDL-2.018/blib/lib/PDL/Fit/Linfit.pm line 118. t/lm.t .......................... skipped: PDL::Fit::LM not available (needs PDL::Slatec) t/lut.t ......................... ok t/lvalue.t ...................... ok t/magic.t ....................... skipped: Disabled t/matmult.t ..................... ok t/matrix.t ...................... ok t/matrixops.t ................... ok t/minmax-behavior.t ............. ok t/minuit.t ...................... skipped: PDL not built WITH_MINUIT t/misc.t ........................ ok t/niceslice.t ................... ok t/nsdatahandle.t ................ ok t/ones.t ........................ ok t/op-eq-warn-for-non-numeric.t .. ok t/opengl.t ...................... skipped: TriD graphics not compiled t/ops.t ......................... ok t/pdl-from-string-bad-values.t .. ok t/pdl_from_string.t ............. ok t/pdlchar.t ..................... ok t/pgplot.t ...................... skipped: PDL::Graphics::PGPLOT not installed t/physical.t .................... skipped: Disabled t/pic_16bit.t ................... ok t/picnorgb.t .................... ok t/picrgb.t ...................... ok t/pnm.t ......................... ok t/poly.t ........................ ok t/polyroots.t ................... ok t/pp_croaking.t ................. ok t/pp_line_numbers.t ............. ok t/pptest.t ...................... ok t/primitive.t ................... ok t/primitive2.t .................. ok t/proj_transform.t .............. skipped: PDL::Transform::Proj4 module not compiled. t/proj_transform2.t ............. skipped: PDL::Transform::Proj4 module not compiled. t/pthread.t ..................... ok t/pthread_auto.t ................ ok t/pthreadBarf.t ................. ok t/reduce.t ...................... ok t/refs.t ........................ ok t/requiredmods.t ................ ok t/rim.t ......................... ok t/round.t ....................... ok t/scope.t ....................... ok t/segfault.t .................... ok t/simplex.t ..................... ok t/slatec-polyfit-weight.t ....... skipped: PDL::Slatec not available t/slatec.t ...................... skipped: PDL::Slatec not available t/slice-exceptions.t ............ ok t/slice.t ....................... ok t/storable.t .................... ok t/stringify.t ................... ok t/subclass.t .................... ok t/subclass2.t ................... ok t/subclass3.t ................... ok t/subclass4.t ................... ok t/thread.t ...................... ok t/thread_def.t .................. ok t/transform.t ................... ok t/trig.t ........................ ok t/ufunc.t ....................... ok t/unpdl.t ....................... ok t/vaffine.t ..................... ok t/vsearch.t ..................... ok t/xvals.t ....................... ok
Test Summary Report
t/bad.t (Wstat: 0 Tests: 82 Failed: 0) TODO passed: 53-54 t/fits.t (Wstat: 0 Tests: 95 Failed: 0) TODO passed: 13\, 17\, 26\, 30\, 39\, 45\, 51\, 60 t/image2d.t (Wstat: 256 Tests: 29 Failed: 1) Failed test: 13 Non-zero exit status: 1 t/inline-comment-test.t (Wstat: 0 Tests: 3 Failed: 0) TODO passed: 3 t/iotypes.t (Wstat: 0 Tests: 7 Failed: 0) TODO passed: 1-7 t/minmax-behavior.t (Wstat: 0 Tests: 3 Failed: 0) TODO passed: 1\, 3 t/op-eq-warn-for-non-numeric.t (Wstat: 0 Tests: 5 Failed: 0) TODO passed: 5 t/ops.t (Wstat: 0 Tests: 60 Failed: 0) TODO passed: 49-52 t/pdl_from_string.t (Wstat: 0 Tests: 113 Failed: 0) TODO passed: 37-39 t/primitive.t (Wstat: 0 Tests: 58 Failed: 0) TODO passed: 10-11 t/ufunc.t (Wstat: 0 Tests: 43 Failed: 0) TODO passed: 22-43 Files=134\, Tests=1599\, 22 wallclock secs ( 0.40 usr 0.10 sys + 19.75 cusr 1.41 csys = 21.66 CPU) Result: FAIL Makefile:1093: recipe for target 'test_dynamic' failed
#####
Summary of my perl5 (revision 5 version 27 subversion 7) configuration: Commit id: 8510c6cb0f966b815a739212c754bb18f6f8e093 Platform: osname=linux osvers=4.4.0-98-generic archname=x86_64-linux uname='linux zareason 4.4.0-98-generic #121-ubuntu smp tue oct 10 14:24:03 utc 2017 x86_64 x86_64 x86_64 gnulinux ' config_args='-des -Dusedevel -Uversiononly -Dprefix=/home/jkeenan/testing/blead -Dman1dir=none -Dman3dir=none' hint=recommended useposix=true d_sigaction=define useithreads=undef usemultiplicity=undef use64bitint=define use64bitall=define uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='cc' ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' optimize='-O2' cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include' ccversion='' gccversion='5.4.1 20160904' gccosandvers='' intsize=4 longsize=8 ptrsize=8 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=16 longdblkind=3 ivtype='long' ivsize=8 nvtype='double' nvsize=8 Off_t='off_t' lseeksize=8 alignbytes=8 prototype=define Linker and Libraries: ld='cc' ldflags =' -fstack-protector-strong -L/usr/local/lib' libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /lib64 /usr/lib64 libs=-lpthread -lnsl -ldb -ldl -lm -lcrypt -lutil -lc perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc libc=libc-2.23.so so=so useshrplib=false libperl=libperl.a gnulibc_version='2.23' Dynamic Linking: dlsrc=dl_dlopen.xs dlext=so d_dlsymun=undef ccdlflags='-Wl\,-E' cccdlflags='-fPIC' lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector-strong'
Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF Built under linux Compiled at Nov 21 2017 18:24:22 %ENV: PERL2DIR="/home/jkeenan/gitwork/perl2" PERLBREW_BASHRC_VERSION="0.78" PERLBREW_HOME="/home/jkeenan/.perlbrew" PERLBREW_MANPATH="/home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/man" PERLBREW_PATH="/home/jkeenan/perl5/perlbrew/bin:/home/jkeenan/perl5/perlbrew/perls/perl-5.26.0/bin" PERLBREW_PERL="perl-5.26.0" PERLBREW_ROOT="/home/jkeenan/perl5/perlbrew" PERLBREW_VERSION="0.78" PERL_WORKDIR="/home/jkeenan/gitwork/perl" @INC: lib /home/jkeenan/testing/blead/lib/perl5/site_perl/5.27.7/x86_64-linux /home/jkeenan/testing/blead/lib/perl5/site_perl/5.27.7 /home/jkeenan/testing/blead/lib/perl5/5.27.7/x86_64-linux /home/jkeenan/testing/blead/lib/perl5/5.27.7
On Thu\, 23 Nov 2017 13:33:08 GMT\, jkeenan wrote:
On Thu\, 23 Nov 2017 12:07:28 GMT\, arc wrote:
Father Chrysostomos via RT \perlbug\-followup@​perl\.org wrote:
On Wed\, 22 Nov 2017 20:26:01 -0800\, sprout wrote:
On Mon\, 23 Oct 2017 09:28:04 -0700\, arc wrote:
This is believed to be resolved as of 6c2ae6421675ba5ff81dd43f9167136f02dfe9d9 (under which I have successfully built both DBI and Tk).
PDL is also affected. The build does not fail\, but image2d.t fails like this:
t/image2d.t ..................... 1/29 # Failed test 'patchbad2d' # at t/image2d.t line 126. # Looks like you failed 1 test of 29. t/image2d.t ..................... Dubious\, test returned 1 (wstat 256\, 0x100) Failed 1/29 subtests
as of this commit:
commit 9d82a2b71ca36a0f03ce4676aab0bada365292a9 Author: Aaron Crane \arc@​cpan\.org Date: Fri Oct 13 00:55:41 2017 +0200
Rely on C89 \<stdarg.h>
A quick skim of that commit and a corresponding grep (ack) of the PDL source suggests that we need to restore the I_STDARG symbol:
$ ack '\bI_STDARG\b' Basic/Core/pdlcore.c.PL 703:#ifdef I_STDARG
That symbol was restored by this commit:
commit 36a113ce6e02b318488367d68c0de9cb2f852752 Author: Aaron Crane \arc@​cpan\.org Date: Sun Oct 22 13:33:31 2017 +0100
Define I_STDARG cpp symbol for XS backcompat
While I'm not eager in general to go round defining symbols like this for all the standard headers\, I_STDARG is a little unusual in that several older XS modules also use it to decide whether to call the va_args() macro using its pre-standardisation form (since C89 added an additional argument to it).
Affected modules include DBI\, Tk\, and DBD::Unify.
So I don't think that's the problem any longer.
Do you still have the bisection setup you used to find the PDL problem\, and if so\, are you in a position to run it on the successors of 36a113ce?
PDL is indeed failing tests when built against blead (more precisely\, commit 8510c6c on Nov 21 -- 2 days ago)\, but looking at the 'make test' output attached\, my hunch is that these various failures have multiple causes.
Thank you very much.
Please ignore the preceding post. I didn't realize that all the failing tests have been TODOed except for the one which Father C singled out. I apologize for the noise.
-- James E Keenan (jkeenan@cpan.org)
On Thu\, 23 Nov 2017 04:07:28 -0800\, arc wrote:
That symbol was restored by this commit:
commit 36a113ce6e02b318488367d68c0de9cb2f852752 Author: Aaron Crane \arc@​cpan\.org Date: Sun Oct 22 13:33:31 2017 +0100
Define I_STDARG cpp symbol for XS backcompat
While I'm not eager in general to go round defining symbols like this for all the standard headers\, I_STDARG is a little unusual in that several older XS modules also use it to decide whether to call the va_args() macro using its pre-standardisation form (since C89 added an additional argument to it).
Affected modules include DBI\, Tk\, and DBD::Unify.
So I don't think that's the problem any longer.
Do you still have the bisection setup you used to find the PDL problem\, and if so\, are you in a position to run it on the successors of 36a113ce?
Yes\, I am running it now. It may take several hours. FYI\, the command I did the previous bisect with was:
../perl.git-copy/Porting/bisect.pl --test-module=PDL --cpan-config-dir=/Users/sprout --start=v5.26.0 --end=v5.27.6
using the --test-module option that I just added.
--
Father Chrysostomos
On Thu\, 23 Nov 2017 08:45:50 -0800\, sprout wrote:
On Thu\, 23 Nov 2017 04:07:28 -0800\, arc wrote:
That symbol was restored by this commit:
commit 36a113ce6e02b318488367d68c0de9cb2f852752 Author: Aaron Crane \arc@​cpan\.org Date: Sun Oct 22 13:33:31 2017 +0100
Define I_STDARG cpp symbol for XS backcompat
While I'm not eager in general to go round defining symbols like this for all the standard headers\, I_STDARG is a little unusual in that several older XS modules also use it to decide whether to call the va_args() macro using its pre-standardisation form (since C89 added an additional argument to it).
Affected modules include DBI\, Tk\, and DBD::Unify.
So I don't think that's the problem any longer.
Do you still have the bisection setup you used to find the PDL problem\, and if so\, are you in a position to run it on the successors of 36a113ce?
Yes\, I am running it now. It may take several hours. FYI\, the command I did the previous bisect with was:
../perl.git-copy/Porting/bisect.pl --test-module=PDL --cpan-config- dir=/Users/sprout --start=v5.26.0 --end=v5.27.6
using the --test-module option that I just added.
The result: OP_MULTICONCAT\, so I am closing this ticket. I have mentioned in ticket #132385 that PDL is affected.
--
Father Chrysostomos
@cpansprout - Status changed from 'open' to 'resolved'
Migrated from rt.perl.org#132347 (status was 'resolved')
Searchable as RT132347$