Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.91k stars 543 forks source link

BBC: C89 changes break DBI #16207

Closed p5pRT closed 6 years ago

p5pRT commented 6 years ago

Migrated from rt.perl.org#132347 (status was 'resolved')

Searchable as RT132347$

p5pRT commented 6 years ago

From @jkeenan

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

p5pRT commented 6 years ago

From @jkeenan

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.

p5pRT commented 6 years ago

From @jkeenan

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

p5pRT commented 6 years ago

From @arc

Fixed in ae75e3d0dc87cf5b8ccb3d890b842edb7098140e.

-- Aaron Crane

p5pRT commented 6 years ago

The RT System itself - Status changed from 'new' to 'open'

p5pRT commented 6 years ago

@arc - Status changed from 'open' to 'resolved'

p5pRT commented 6 years ago

From @jkeenan

Re-opening. DBI is still not building on blead as of commit ae75e3d0dc87cf5b8ccb3d890b842edb7098140e. Investigation on #p5p is ongoing.

-- James E Keenan (jkeenan@​cpan.org)

p5pRT commented 6 years ago

@jkeenan - Status changed from 'resolved' to 'open'

p5pRT commented 6 years ago

From @jkeenan

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)

p5pRT commented 6 years ago

From @arc

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

p5pRT commented 6 years ago

@arc - Status changed from 'open' to 'resolved'

p5pRT commented 6 years ago

From @cpansprout

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@&#8203;cpan\.org Date​: Fri Oct 13 00​:55​:41 2017 +0200

  Rely on C89 \<stdarg.h>

--

Father Chrysostomos

p5pRT commented 6 years ago

@cpansprout - Status changed from 'resolved' to 'open'

p5pRT commented 6 years ago

From @cpansprout

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@&#8203;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

p5pRT commented 6 years ago

From @arc

Father Chrysostomos via RT \perlbug\-followup@&#8203;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@&#8203;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@&#8203;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/

p5pRT commented 6 years ago

From @jkeenan

On Thu\, 23 Nov 2017 12​:07​:28 GMT\, arc wrote​:

Father Chrysostomos via RT \perlbug\-followup@&#8203;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@&#8203;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@&#8203;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)

p5pRT commented 6 years ago

From @jkeenan

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

p5pRT commented 6 years ago

From @jkeenan

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@&#8203;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@&#8203;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@&#8203;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)

p5pRT commented 6 years ago

From @cpansprout

On Thu\, 23 Nov 2017 04​:07​:28 -0800\, arc wrote​:

That symbol was restored by this commit​:

commit 36a113ce6e02b318488367d68c0de9cb2f852752 Author​: Aaron Crane \arc@&#8203;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

p5pRT commented 6 years ago

From @cpansprout

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@&#8203;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

p5pRT commented 6 years ago

@cpansprout - Status changed from 'open' to 'resolved'