Opened 3 hours ago

Last modified 110 minutes ago

#71351 new defect

p5.34-curses does not build on PPC Tiger, Mac OS X 10.4.11, because of

Reported by: ballapete (Peter "Pete" Dyballa) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.10.4
Keywords: tiger ppc Cc:
Port: p5-curses

Description

/opt/local/bin/gcc-apple-4.2 -c   -fno-common -DPERL_DARWIN -pipe -Os -fno-strict-aliasing -I/opt/local/include -D_FORTIFY_SOURCE=2 -DPERL_USE_SAFE_PUTENV -arch ppc -isysroot/ -O3   -DVERSION=\"1.45\" -DXS_VERSION=\"1.45\"  "-I/opt/local/lib/perl5/5.34/darwin-thread-multi-2level/CORE"   Curses.c
Curses.c:217: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
Curses.c:221: error: expected identifier or '(' before '{' token
Curses.c:233: error: expected declaration specifiers or '...' before 'FIELD'
Curses.c: In function 'c_field2sv':
Curses.c:239: error: 'fieldP' undeclared (first use in this function)
Curses.c:239: error: (Each undeclared identifier is reported only once
Curses.c:239: error: for each function it appears in.)
Curses.c: At top level:
Curses.c:242: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
Curses.c:246: error: expected identifier or '(' before '{' token
Curses.c: In function 'c_form2sv':
Curses.c:259: error: expected declaration specifiers before 'FORM'
In file included from Curses.c:445:
CursesFun.c: In function 'XS_Curses_pos_form_cursor':
CursesFun.c:5744: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_data_ahead':
CursesFun.c:5766: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_data_behind':
CursesFun.c:5785: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_form_driver':
CursesFun.c:5807: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_form_fields':
CursesFun.c:5830: error: 'FORM' undeclared (first use in this function)
CursesFun.c:5831: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:5831: error: 'fields' undeclared (first use in this function)
CursesFun.c:5831: error: expected expression before ')' token
CursesFun.c: In function 'XS_Curses_form_fields':
CursesFun.c:5850: error: 'FORM' undeclared (first use in this function)
CursesFun.c:5851: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:5851: error: 'ret' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_count':
CursesFun.c:5869: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_move_field':
CursesFun.c:5888: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:5888: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_new_form':
CursesFun.c:5911: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:5911: error: 'fields' undeclared (first use in this function)
CursesFun.c:5911: error: expected expression before ')' token
CursesFun.c:5912: error: 'FORM' undeclared (first use in this function)
CursesFun.c:5912: error: 'ret' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_free_form':
CursesFun.c:5930: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_new_page':
CursesFun.c:5952: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:5952: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_new_page':
CursesFun.c:5972: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:5972: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_form_opts':
CursesFun.c:5994: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_form_opts_on':
CursesFun.c:6014: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_form_opts_off':
CursesFun.c:6034: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_form_opts':
CursesFun.c:6054: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_current_field':
CursesFun.c:6076: error: 'FORM' undeclared (first use in this function)
CursesFun.c:6077: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6077: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_current_field':
CursesFun.c:6096: error: 'FORM' undeclared (first use in this function)
CursesFun.c:6097: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6097: error: 'ret' undeclared (first use in this function)
CursesFun.c:6100: error: too many arguments to function 'c_field2sv'
CursesFun.c: In function 'XS_Curses_set_form_page':
CursesFun.c:6115: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_form_page':
CursesFun.c:6135: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_index':
CursesFun.c:6154: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6154: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_post_form':
CursesFun.c:6176: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_unpost_form':
CursesFun.c:6195: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_form_userptr':
CursesFun.c:6217: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_form_userptr':
CursesFun.c:6237: error: 'FORM' undeclared (first use in this function)
CursesFun.c:6238: warning: initialization makes pointer from integer without a cast
CursesFun.c: In function 'XS_Curses_set_form_win':
CursesFun.c:6259: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_form_win':
CursesFun.c:6279: error: 'FORM' undeclared (first use in this function)
CursesFun.c:6280: warning: initialization makes pointer from integer without a cast
CursesFun.c: In function 'XS_Curses_set_form_sub':
CursesFun.c:6298: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_form_sub':
CursesFun.c:6318: error: 'FORM' undeclared (first use in this function)
CursesFun.c:6319: warning: initialization makes pointer from integer without a cast
CursesFun.c: In function 'XS_Curses_scale_form':
CursesFun.c:6337: error: 'FORM' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_field_fore':
CursesFun.c:6363: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6363: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_fore':
CursesFun.c:6383: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6383: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_field_back':
CursesFun.c:6402: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6402: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_back':
CursesFun.c:6422: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6422: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_field_pad':
CursesFun.c:6441: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6441: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_pad':
CursesFun.c:6461: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6461: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_field_buffer':
CursesFun.c:6483: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6483: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_buffer':
CursesFun.c:6504: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6504: error: 'field' undeclared (first use in this function)
CursesFun.c:6506: warning: initialization makes pointer from integer without a cast
CursesFun.c: In function 'XS_Curses_set_field_status':
CursesFun.c:6524: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6524: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_status':
CursesFun.c:6544: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6544: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_max_field':
CursesFun.c:6563: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6563: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_info':
CursesFun.c:6586: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6586: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_dynamic_field_info':
CursesFun.c:6617: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6617: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_field_just':
CursesFun.c:6645: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6645: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_just':
CursesFun.c:6665: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6665: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_new_field':
CursesFun.c:6693: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6693: error: 'ret' undeclared (first use in this function)
CursesFun.c:6695: error: too many arguments to function 'c_field2sv'
CursesFun.c: In function 'XS_Curses_dup_field':
CursesFun.c:6710: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6710: error: 'field' undeclared (first use in this function)
CursesFun.c:6713: error: 'ret' undeclared (first use in this function)
CursesFun.c:6716: error: too many arguments to function 'c_field2sv'
CursesFun.c: In function 'XS_Curses_link_field':
CursesFun.c:6731: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6731: error: 'field' undeclared (first use in this function)
CursesFun.c:6734: error: 'ret' undeclared (first use in this function)
CursesFun.c:6737: error: too many arguments to function 'c_field2sv'
CursesFun.c: In function 'XS_Curses_free_field':
CursesFun.c:6752: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6752: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_field_opts':
CursesFun.c:6774: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6774: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_opts_on':
CursesFun.c:6794: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6794: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_opts_off':
CursesFun.c:6814: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6814: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_opts':
CursesFun.c:6834: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6834: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_set_field_userptr':
CursesFun.c:6856: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6856: error: 'field' undeclared (first use in this function)
CursesFun.c: In function 'XS_Curses_field_userptr':
CursesFun.c:6876: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6876: error: 'field' undeclared (first use in this function)
CursesFun.c:6877: warning: initialization makes pointer from integer without a cast
CursesFun.c: In function 'XS_Curses_field_arg':
CursesFun.c:6898: error: 'FIELD' undeclared (first use in this function)
CursesFun.c:6898: error: 'field' undeclared (first use in this function)
CursesFun.c:6899: warning: initialization makes pointer from integer without a cast
make: *** [Curses.o] Error 1
make: Leaving directory `/opt/local/var/macports/build/_Volumes_BSD-Linux_MacPorts-distfiles_ports_perl_p5-curses/p5.34-curses/work/Curses-1.45'

Change History (4)

comment:1 Changed 2 hours ago by ballapete (Peter "Pete" Dyballa)

Using a more up-to-date C compiler does not help much:

/opt/local/bin/gcc-mp-7 -c   -fno-common -DPERL_DARWIN -pipe -Os -fno-strict-aliasing -I/opt/local/include -D_FORTIFY_SOURCE=2 -DPERL_USE_SAFE_PUTENV -arch ppc -isysroot/ -O3   -DVERSION=\"1.45\" -DXS_VERSION=\"1.45\"  "-I/opt/local/lib/perl5/5.34/darwin-thread-multi-2level/CORE"   Curses.c
Curses.c:217:8: error: unknown type name 'FIELD'
 static FIELD *
        ^~~~~
Curses.c: In function 'c_sv2field':
Curses.c:223:13: error: 'FIELD' undeclared (first use in this function); did you mean 'YIELD'?
     return (FIELD *)SvIV((SV*)SvRV(sv));
             ^~~~~
             YIELD
Curses.c:223:13: note: each undeclared identifier is reported only once for each function it appears in
Curses.c:223:20: error: expected expression before ')' token
     return (FIELD *)SvIV((SV*)SvRV(sv));
                    ^
Curses.c: At top level:
Curses.c:233:12: error: unknown type name 'FIELD'; did you mean 'YIELD'?
            FIELD * const fieldP) {
            ^~~~~
            YIELD
Curses.c:242:8: error: unknown type name 'FORM'
 static FORM *
        ^~~~
Curses.c: In function 'c_sv2form':
Curses.c:248:13: error: 'FORM' undeclared (first use in this function); did you mean 'GvFORM'?
     return (FORM *)SvIV((SV*)SvRV(sv));
             ^~~~
             GvFORM
Curses.c:248:19: error: expected expression before ')' token
     return (FORM *)SvIV((SV*)SvRV(sv));
                   ^
Curses.c: In function 'c_form2sv':
Curses.c:259:1: error: unknown type name 'FORM'; did you mean 'GvFORM'?
 FORM *val;
 ^~~~
 GvFORM
In file included from Curses.c:445:0:
CursesFun.c: In function 'XS_Curses_pos_form_cursor':
CursesFun.c:5744:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:5745:15: warning: implicit declaration of function 'pos_form_cursor'; did you mean 'pos_menu_cursor'? [-Wimplicit-function-declaration]
     int ret = pos_form_cursor(form);
               ^~~~~~~~~~~~~~~
               pos_menu_cursor
CursesFun.c: In function 'XS_Curses_data_ahead':
CursesFun.c:5766:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:5767:19: warning: implicit declaration of function 'data_ahead'; did you mean 'typeahead'? [-Wimplicit-function-declaration]
     bool    ret = data_ahead(form);
                   ^~~~~~~~~~
                   typeahead
CursesFun.c: In function 'XS_Curses_data_behind':
CursesFun.c:5785:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:5786:19: warning: implicit declaration of function 'data_behind' [-Wimplicit-function-declaration]
     bool    ret = data_behind(form);
                   ^~~~~~~~~~~
CursesFun.c: In function 'XS_Curses_form_driver':
CursesFun.c:5807:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:5809:15: warning: implicit declaration of function 'form_driver'; did you mean 'menu_driver'? [-Wimplicit-function-declaration]
     int ret = form_driver(form, c);
               ^~~~~~~~~~~
               menu_driver
CursesFun.c: In function 'XS_Curses_set_form_fields':
CursesFun.c:5830:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:5831:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD **fields  = (FIELD **)SvPV_nolen(ST(1));
     ^~~~~
     YIELD
CursesFun.c:5831:24: error: 'FIELD' undeclared (first use in this function); did you mean 'YIELD'?
     FIELD **fields  = (FIELD **)SvPV_nolen(ST(1));
                        ^~~~~
                        YIELD
CursesFun.c:5831:32: error: expected expression before ')' token
     FIELD **fields  = (FIELD **)SvPV_nolen(ST(1));
                                ^
CursesFun.c:5832:15: warning: implicit declaration of function 'set_form_fields' [-Wimplicit-function-declaration]
     int ret = set_form_fields(form, fields);
               ^~~~~~~~~~~~~~~
CursesFun.c: In function 'XS_Curses_form_fields':
CursesFun.c:5850:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:5851:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD **    ret = form_fields(form);
     ^~~~~
     YIELD
CursesFun.c:5851:23: warning: implicit declaration of function 'form_fields' [-Wimplicit-function-declaration]
     FIELD **    ret = form_fields(form);
                       ^~~~~~~~~~~
CursesFun.c:5851:23: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
CursesFun.c: In function 'XS_Curses_field_count':
CursesFun.c:5869:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:5870:15: warning: implicit declaration of function 'field_count'; did you mean 'item_count'? [-Wimplicit-function-declaration]
     int ret = field_count(form);
               ^~~~~~~~~~~
               item_count
CursesFun.c: In function 'XS_Curses_move_field':
CursesFun.c:5888:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:5891:15: warning: implicit declaration of function 'move_field'; did you mean 'move_panel'? [-Wimplicit-function-declaration]
     int ret = move_field(field, frow, fcol);
               ^~~~~~~~~~
               move_panel
CursesFun.c: In function 'XS_Curses_new_form':
CursesFun.c:5911:9: error: unknown type name 'FIELD'; did you mean 'YIELD'?
         FIELD ** fields  = (FIELD **)SvPV_nolen(ST(0));
         ^~~~~
         YIELD
CursesFun.c:5911:29: error: 'FIELD' undeclared (first use in this function); did you mean 'YIELD'?
         FIELD ** fields  = (FIELD **)SvPV_nolen(ST(0));
                             ^~~~~
                             YIELD
CursesFun.c:5911:37: error: expected expression before ')' token
         FIELD ** fields  = (FIELD **)SvPV_nolen(ST(0));
                                     ^
CursesFun.c:5912:9: error: unknown type name 'FORM'; did you mean 'GvFORM'?
         FORM *  ret = new_form(fields);
         ^~~~
         GvFORM
CursesFun.c:5912:23: warning: implicit declaration of function 'new_form'; did you mean 'Perl_form'? [-Wimplicit-function-declaration]
         FORM *  ret = new_form(fields);
                       ^~~~~~~~
                       Perl_form
CursesFun.c:5912:23: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
CursesFun.c: In function 'XS_Curses_free_form':
CursesFun.c:5930:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:5931:15: warning: implicit declaration of function 'free_form'; did you mean 'free_item'? [-Wimplicit-function-declaration]
     int ret = free_form(form);
               ^~~~~~~~~
               free_item
CursesFun.c: In function 'XS_Curses_set_new_page':
CursesFun.c:5952:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:5954:15: warning: implicit declaration of function 'set_new_page'; did you mean 'set_menu_pad'? [-Wimplicit-function-declaration]
     int ret = set_new_page(field, new_page_flag);
               ^~~~~~~~~~~~
               set_menu_pad
CursesFun.c: In function 'XS_Curses_new_page':
CursesFun.c:5972:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:5973:19: warning: implicit declaration of function 'new_page'; did you mean 'new_panel'? [-Wimplicit-function-declaration]
     bool    ret = new_page(field);
                   ^~~~~~~~
                   new_panel
CursesFun.c: In function 'XS_Curses_set_form_opts':
CursesFun.c:5994:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:5996:15: warning: implicit declaration of function 'set_form_opts'; did you mean 'set_item_opts'? [-Wimplicit-function-declaration]
     int ret = set_form_opts(form, opts);
               ^~~~~~~~~~~~~
               set_item_opts
CursesFun.c: In function 'XS_Curses_form_opts_on':
CursesFun.c:6014:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6016:15: warning: implicit declaration of function 'form_opts_on'; did you mean 'item_opts_on'? [-Wimplicit-function-declaration]
     int ret = form_opts_on(form, opts);
               ^~~~~~~~~~~~
               item_opts_on
CursesFun.c: In function 'XS_Curses_form_opts_off':
CursesFun.c:6034:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6036:15: warning: implicit declaration of function 'form_opts_off'; did you mean 'item_opts_off'? [-Wimplicit-function-declaration]
     int ret = form_opts_off(form, opts);
               ^~~~~~~~~~~~~
               item_opts_off
CursesFun.c: In function 'XS_Curses_form_opts':
CursesFun.c:6054:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6055:15: warning: implicit declaration of function 'form_opts'; did you mean 'item_opts'? [-Wimplicit-function-declaration]
     int ret = form_opts(form);
               ^~~~~~~~~
               item_opts
CursesFun.c: In function 'XS_Curses_set_current_field':
CursesFun.c:6076:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6077:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(1), 1);
     ^~~~~
     YIELD
CursesFun.c:6078:15: warning: implicit declaration of function 'set_current_field'; did you mean 'set_current_item'? [-Wimplicit-function-declaration]
     int ret = set_current_field(form, field);
               ^~~~~~~~~~~~~~~~~
               set_current_item
CursesFun.c: In function 'XS_Curses_current_field':
CursesFun.c:6096:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6097:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * ret = current_field(form);
     ^~~~~
     YIELD
CursesFun.c:6097:19: warning: implicit declaration of function 'current_field'; did you mean 'current_item'? [-Wimplicit-function-declaration]
     FIELD * ret = current_field(form);
                   ^~~~~~~~~~~~~
                   current_item
CursesFun.c:6097:19: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
CursesFun.c:6100:5: warning: implicit declaration of function 'c_field2sv'; did you mean 'c_panel2sv'? [-Wimplicit-function-declaration]
     c_field2sv(ST(0), ret);
     ^~~~~~~~~~
     c_panel2sv
CursesFun.c: In function 'XS_Curses_set_form_page':
CursesFun.c:6115:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6117:15: warning: implicit declaration of function 'set_form_page'; did you mean 'set_menu_pad'? [-Wimplicit-function-declaration]
     int ret = set_form_page(form, n);
               ^~~~~~~~~~~~~
               set_menu_pad
CursesFun.c: In function 'XS_Curses_form_page':
CursesFun.c:6135:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6136:15: warning: implicit declaration of function 'form_page'; did you mean 'perl_parse'? [-Wimplicit-function-declaration]
     int ret = form_page(form);
               ^~~~~~~~~
               perl_parse
CursesFun.c: In function 'XS_Curses_field_index':
CursesFun.c:6154:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6155:15: warning: implicit declaration of function 'field_index'; did you mean 'item_index'? [-Wimplicit-function-declaration]
     int ret = field_index(field);
               ^~~~~~~~~~~
               item_index
CursesFun.c: In function 'XS_Curses_post_form':
CursesFun.c:6176:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6177:15: warning: implicit declaration of function 'post_form'; did you mean 'c_sv2form'? [-Wimplicit-function-declaration]
     int ret = post_form(form);
               ^~~~~~~~~
               c_sv2form
CursesFun.c: In function 'XS_Curses_unpost_form':
CursesFun.c:6195:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6196:15: warning: implicit declaration of function 'unpost_form'; did you mean 'unpost_menu'? [-Wimplicit-function-declaration]
     int ret = unpost_form(form);
               ^~~~~~~~~~~
               unpost_menu
CursesFun.c: In function 'XS_Curses_set_form_userptr':
CursesFun.c:6217:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6219:15: warning: implicit declaration of function 'set_form_userptr'; did you mean 'set_item_userptr'? [-Wimplicit-function-declaration]
     int ret = set_form_userptr(form, userptr);
               ^~~~~~~~~~~~~~~~
               set_item_userptr
CursesFun.c: In function 'XS_Curses_form_userptr':
CursesFun.c:6237:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6238:19: warning: implicit declaration of function 'form_userptr'; did you mean 'item_userptr'? [-Wimplicit-function-declaration]
     char *  ret = form_userptr(form);
                   ^~~~~~~~~~~~
                   item_userptr
CursesFun.c:6238:19: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
CursesFun.c: In function 'XS_Curses_set_form_win':
CursesFun.c:6259:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6261:15: warning: implicit declaration of function 'set_form_win'; did you mean 'set_menu_win'? [-Wimplicit-function-declaration]
     int ret = set_form_win(form, win);
               ^~~~~~~~~~~~
               set_menu_win
CursesFun.c: In function 'XS_Curses_form_win':
CursesFun.c:6279:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6280:23: warning: implicit declaration of function 'form_win'; did you mean 'fmin'? [-Wimplicit-function-declaration]
     WINDOW *    ret = form_win(form);
                       ^~~~~~~~
                       fmin
CursesFun.c:6280:23: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
CursesFun.c: In function 'XS_Curses_set_form_sub':
CursesFun.c:6298:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6300:15: warning: implicit declaration of function 'set_form_sub'; did you mean 'set_menu_sub'? [-Wimplicit-function-declaration]
     int ret = set_form_sub(form, sub);
               ^~~~~~~~~~~~
               set_menu_sub
CursesFun.c: In function 'XS_Curses_form_sub':
CursesFun.c:6318:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6319:23: warning: implicit declaration of function 'form_sub'; did you mean 'menu_sub'? [-Wimplicit-function-declaration]
     WINDOW *    ret = form_sub(form);
                       ^~~~~~~~
                       menu_sub
CursesFun.c:6319:23: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
CursesFun.c: In function 'XS_Curses_scale_form':
CursesFun.c:6337:5: error: unknown type name 'FORM'; did you mean 'GvFORM'?
     FORM *  form    = c_sv2form(ST(0), 0);
     ^~~~
     GvFORM
CursesFun.c:6340:15: warning: implicit declaration of function 'scale_form'; did you mean 'Perl_form'? [-Wimplicit-function-declaration]
     int ret = scale_form(form, &rows, &cols);
               ^~~~~~~~~~
               Perl_form
CursesFun.c: In function 'XS_Curses_set_field_fore':
CursesFun.c:6363:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6365:15: warning: implicit declaration of function 'set_field_fore'; did you mean 'set_menu_fore'? [-Wimplicit-function-declaration]
     int ret = set_field_fore(field, attr);
               ^~~~~~~~~~~~~~
               set_menu_fore
CursesFun.c: In function 'XS_Curses_field_fore':
CursesFun.c:6383:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6384:19: warning: implicit declaration of function 'field_fore'; did you mean 'menu_fore'? [-Wimplicit-function-declaration]
     chtype  ret = field_fore(field);
                   ^~~~~~~~~~
                   menu_fore
CursesFun.c: In function 'XS_Curses_set_field_back':
CursesFun.c:6402:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6404:15: warning: implicit declaration of function 'set_field_back'; did you mean 'set_menu_back'? [-Wimplicit-function-declaration]
     int ret = set_field_back(field, attr);
               ^~~~~~~~~~~~~~
               set_menu_back
CursesFun.c: In function 'XS_Curses_field_back':
CursesFun.c:6422:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6423:19: warning: implicit declaration of function 'field_back'; did you mean 'menu_back'? [-Wimplicit-function-declaration]
     chtype  ret = field_back(field);
                   ^~~~~~~~~~
                   menu_back
CursesFun.c: In function 'XS_Curses_set_field_pad':
CursesFun.c:6441:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6443:15: warning: implicit declaration of function 'set_field_pad'; did you mean 'set_menu_pad'? [-Wimplicit-function-declaration]
     int ret = set_field_pad(field, pad);
               ^~~~~~~~~~~~~
               set_menu_pad
CursesFun.c: In function 'XS_Curses_field_pad':
CursesFun.c:6461:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6462:19: warning: implicit declaration of function 'field_pad'; did you mean 'menu_pad'? [-Wimplicit-function-declaration]
     chtype  ret = field_pad(field);
                   ^~~~~~~~~
                   menu_pad
CursesFun.c: In function 'XS_Curses_set_field_buffer':
CursesFun.c:6483:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6486:15: warning: implicit declaration of function 'set_field_buffer'; did you mean 'setbuffer'? [-Wimplicit-function-declaration]
     int ret = set_field_buffer(field, buf, value);
               ^~~~~~~~~~~~~~~~
               setbuffer
CursesFun.c: In function 'XS_Curses_field_buffer':
CursesFun.c:6504:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6506:19: warning: implicit declaration of function 'field_buffer'; did you mean 'setbuffer'? [-Wimplicit-function-declaration]
     char *  ret = field_buffer(field, buffer);
                   ^~~~~~~~~~~~
                   setbuffer
CursesFun.c:6506:19: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
CursesFun.c: In function 'XS_Curses_set_field_status':
CursesFun.c:6524:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6526:15: warning: implicit declaration of function 'set_field_status'; did you mean 'PL_pidstatus'? [-Wimplicit-function-declaration]
     int ret = set_field_status(field, status);
               ^~~~~~~~~~~~~~~~
               PL_pidstatus
CursesFun.c: In function 'XS_Curses_field_status':
CursesFun.c:6544:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6545:19: warning: implicit declaration of function 'field_status'; did you mean 'PL_pidstatus'? [-Wimplicit-function-declaration]
     bool    ret = field_status(field);
                   ^~~~~~~~~~~~
                   PL_pidstatus
CursesFun.c: In function 'XS_Curses_set_max_field':
CursesFun.c:6563:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6565:15: warning: implicit declaration of function 'set_max_field' [-Wimplicit-function-declaration]
     int ret = set_max_field(field, max);
               ^~~~~~~~~~~~~
CursesFun.c: In function 'XS_Curses_field_info':
CursesFun.c:6586:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6593:15: warning: implicit declaration of function 'field_info'; did you mean 'freeaddrinfo'? [-Wimplicit-function-declaration]
     int ret = field_info(field, &rows, &cols, &frow, &fcol, &nrow, &nbuf);
               ^~~~~~~~~~
               freeaddrinfo
CursesFun.c: In function 'XS_Curses_dynamic_field_info':
CursesFun.c:6617:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6621:15: warning: implicit declaration of function 'dynamic_field_info'; did you mean 'XS_Curses_field_info'? [-Wimplicit-function-declaration]
     int ret = dynamic_field_info(field, &rows, &cols, &max);
               ^~~~~~~~~~~~~~~~~~
               XS_Curses_field_info
CursesFun.c: In function 'XS_Curses_set_field_just':
CursesFun.c:6645:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6647:15: warning: implicit declaration of function 'set_field_just'; did you mean 'set_menu_sub'? [-Wimplicit-function-declaration]
     int ret = set_field_just(field, justif);
               ^~~~~~~~~~~~~~
               set_menu_sub
CursesFun.c: In function 'XS_Curses_field_just':
CursesFun.c:6665:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6666:15: warning: implicit declaration of function 'field_just' [-Wimplicit-function-declaration]
     int ret = field_just(field);
               ^~~~~~~~~~
CursesFun.c: In function 'XS_Curses_new_field':
CursesFun.c:6693:9: error: unknown type name 'FIELD'; did you mean 'YIELD'?
         FIELD * ret = new_field(height, width, toprow, leftcol, offscreen, nbuffers);
         ^~~~~
         YIELD
CursesFun.c:6693:23: warning: implicit declaration of function 'new_field'; did you mean 'new_menu'? [-Wimplicit-function-declaration]
         FIELD * ret = new_field(height, width, toprow, leftcol, offscreen, nbuffers);
                       ^~~~~~~~~
                       new_menu
CursesFun.c:6693:23: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
CursesFun.c: In function 'XS_Curses_dup_field':
CursesFun.c:6710:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6713:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * ret = dup_field(field, toprow, leftcol);
     ^~~~~
     YIELD
CursesFun.c:6713:19: warning: implicit declaration of function 'dup_field'; did you mean 'c_sv2field'? [-Wimplicit-function-declaration]
     FIELD * ret = dup_field(field, toprow, leftcol);
                   ^~~~~~~~~
                   c_sv2field
CursesFun.c:6713:19: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
CursesFun.c: In function 'XS_Curses_link_field':
CursesFun.c:6731:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6734:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * ret = link_field(field, toprow, leftcol);
     ^~~~~
     YIELD
CursesFun.c:6734:19: warning: implicit declaration of function 'link_field'; did you mean 'c_sv2field'? [-Wimplicit-function-declaration]
     FIELD * ret = link_field(field, toprow, leftcol);
                   ^~~~~~~~~~
                   c_sv2field
CursesFun.c:6734:19: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
CursesFun.c: In function 'XS_Curses_free_field':
CursesFun.c:6752:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6753:15: warning: implicit declaration of function 'free_field'; did you mean 'free_menu'? [-Wimplicit-function-declaration]
     int ret = free_field(field);
               ^~~~~~~~~~
               free_menu
CursesFun.c: In function 'XS_Curses_set_field_opts':
CursesFun.c:6774:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6776:15: warning: implicit declaration of function 'set_field_opts'; did you mean 'set_menu_opts'? [-Wimplicit-function-declaration]
     int ret = set_field_opts(field, opts);
               ^~~~~~~~~~~~~~
               set_menu_opts
CursesFun.c: In function 'XS_Curses_field_opts_on':
CursesFun.c:6794:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6796:15: warning: implicit declaration of function 'field_opts_on'; did you mean 'menu_opts_on'? [-Wimplicit-function-declaration]
     int ret = field_opts_on(field, opts);
               ^~~~~~~~~~~~~
               menu_opts_on
CursesFun.c: In function 'XS_Curses_field_opts_off':
CursesFun.c:6814:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6816:15: warning: implicit declaration of function 'field_opts_off'; did you mean 'menu_opts_off'? [-Wimplicit-function-declaration]
     int ret = field_opts_off(field, opts);
               ^~~~~~~~~~~~~~
               menu_opts_off
CursesFun.c: In function 'XS_Curses_field_opts':
CursesFun.c:6834:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6835:15: warning: implicit declaration of function 'field_opts'; did you mean 'menu_opts'? [-Wimplicit-function-declaration]
     int ret = field_opts(field);
               ^~~~~~~~~~
               menu_opts
CursesFun.c: In function 'XS_Curses_set_field_userptr':
CursesFun.c:6856:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6858:15: warning: implicit declaration of function 'set_field_userptr'; did you mean 'set_menu_userptr'? [-Wimplicit-function-declaration]
     int ret = set_field_userptr(field, userptr);
               ^~~~~~~~~~~~~~~~~
               set_menu_userptr
CursesFun.c: In function 'XS_Curses_field_userptr':
CursesFun.c:6876:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6877:19: warning: implicit declaration of function 'field_userptr'; did you mean 'item_userptr'? [-Wimplicit-function-declaration]
     char *  ret = field_userptr(field);
                   ^~~~~~~~~~~~~
                   item_userptr
CursesFun.c:6877:19: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
CursesFun.c: In function 'XS_Curses_field_arg':
CursesFun.c:6898:5: error: unknown type name 'FIELD'; did you mean 'YIELD'?
     FIELD * field   = c_sv2field(ST(0), 0);
     ^~~~~
     YIELD
CursesFun.c:6899:19: warning: implicit declaration of function 'field_arg' [-Wimplicit-function-declaration]
     char *  ret = field_arg(field);
                   ^~~~~~~~~
CursesFun.c:6899:19: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
CursesFun.c: In function 'XS_Curses_form_request_name':
CursesFun.c:6921:27: warning: implicit declaration of function 'form_request_name'; did you mean 'menu_request_name'? [-Wimplicit-function-declaration]
     char *  ret = (char *)form_request_name(request);
                           ^~~~~~~~~~~~~~~~~
                           menu_request_name
CursesFun.c: In function 'XS_Curses_form_request_by_name':
CursesFun.c:6940:15: warning: implicit declaration of function 'form_request_by_name'; did you mean 'menu_request_by_name'? [-Wimplicit-function-declaration]
     int ret = form_request_by_name(name);
               ^~~~~~~~~~~~~~~~~~~~
               menu_request_by_name
make: *** [Curses.o] Error 1
make: Leaving directory `/opt/local/var/macports/build/_Volumes_BSD-Linux_MacPorts-distfiles_ports_perl_p5-curses/p5.34-curses/work/Curses-1.45'

comment:2 Changed 2 hours ago by ballapete (Peter "Pete" Dyballa)

The problem is, as described in the INSTALL file, that these form.h C header files get included:

.. /opt/local/lib/perl5/5.34/darwin-thread-multi-2level/CORE/form.h
.. /opt/local/lib/perl5/5.34/darwin-thread-multi-2level/CORE/form.h
/opt/local/lib/perl5/5.34/darwin-thread-multi-2level/CORE/form.h

The proper one is contents of curses:

-rw-r--r-- 1 root admin 18899 30. Apr 2024  /opt/local/include/form.h

comment:3 Changed 2 hours ago by ballapete (Peter "Pete" Dyballa)

The cure for PPC Tiger, Mac OS X 10.4.11 seems to be an additional reinplace:

    post-patch {
        copy ${worksrcpath}/hints/c-freebsd.ncurses.h ${worksrcpath}/c-config.h
        reinplace "s|<form.h>|\"${prefix}/include/form.h\"|" ${worksrcpath}/c-config.h
    }

comment:4 Changed 110 minutes ago by ballapete (Peter "Pete" Dyballa)

This also works with the default C compiler.

Note: See TracTickets for help on using tickets.