Opened 19 years ago

Closed 19 years ago

#3735 closed defect (fixed)

yafc 1.1_1 parse error during compile during upgrade from 1.1_0

Reported by: kyle-opendarwinbugzilla@… Owned by: mww@…
Priority: Normal Milestone:
Component: ports Version: 1.0
Keywords: Cc:
Port:

Description

I did a fresh port -d selfupdate last night, and upon doing a sudo port upgrade yafc, got this:

[kyle@tunican ~]$ sudo port upgrade yafc ---> Fetching yafc ---> Verifying checksum(s) for yafc ---> Extracting yafc ---> Applying patches to yafc ---> Configuring yafc ---> Building yafc with target all Error: Target com.apple.build returned: shell command "cd "/opt/local/var/db/dports/build/ file._opt_local_var_db_dports_sources_rsync.rsync.opendarwin.org_dpupdate_dports_net_yafc/work/ yafc-1.1" && make all" returned error 2 Command output: ../src/ftp/ftp.h:107: error: field ‘transfer_is_put’ declared as a function ../src/ftp/ftp.h:108: error: field ‘finished’ declared as a function ../src/ftp/ftp.h:109: error: field ‘begin’ declared as a function ../src/ftp/ftp.h:116: error: parse error before ‘Socket’ ../src/ftp/ftp.h:116: warning: no semicolon at end of struct or union ../src/ftp/ftp.h:118: error: parse error before ‘*’ token ../src/ftp/ftp.h:118: warning: data definition has no type or storage class ../src/ftp/ftp.h:189: error: parse error before ‘}’ token ../src/ftp/ftp.h:189: warning: data definition has no type or storage class ../src/ftp/ftp.h:191: error: parse error before ‘*’ token ../src/ftp/ftp.h:191: warning: data definition has no type or storage class ../src/ftp/ftp.h:197: error: parse error before ‘*’ token ../src/ftp/ftp.h:197: warning: data definition has no type or storage class ../src/ftp/ftp.h:198: error: parse error before ‘*’ token ../src/ftp/ftp.h:199: error: parse error before ‘*’ token ../src/ftp/ftp.h:208: error: parse error before ‘*’ token ../src/ftp/ftp.h:225: error: parse error before ‘*’ token ../src/ftp/ftp.h:236: error: parse error before ‘*’ token ../src/ftp/ftp.h:238: error: ‘ftp_connected’ declared as function returning a function ../src/ftp/ftp.h:239: error: ‘ftp_loggedin’ declared as function returning a function In file included from bashline.c:29: ../src/gvars.h:139: error: parse error before ‘*’ token ../src/gvars.h:139: warning: data definition has no type or storage class ../src/gvars.h:140: error: parse error before ‘*’ token ../src/gvars.h:140: warning: data definition has no type or storage class ../src/gvars.h:161: error: parse error before ‘*’ token ../src/gvars.h:161: warning: data definition has no type or storage class make[2]: * [bashline.o] Error 1 make[1]: * [all-recursive] Error 1 make: * [all] Error 2

Error: Unable to upgrade port: 1

I can't figure out why it thinks those lines in ftp.h are incorrect. They look fine to me. When I cd into that directory and run "sudo make all", I get this, much different, output:

[kyle@tunican yafc-1.1]$ sudo make all make all-recursive Making all in doc make[2]: Nothing to be done for `all'. Making all in lib if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I../src -I../src/ftp -I../src/libmhe -I/opt/local/include -I/ opt/local/include -I/opt/local/include -L/opt/local/lib/ -L/usr/local/lib/ -mcpu=G4 -mtune=G4 -MT bashline.o -MD -MP -MF ".deps/bashline.Tpo" -c -o bashline.o bashline.c; \ then mv -f ".deps/bashline.Tpo" ".deps/bashline.Po"; else rm -f ".deps/bashline.Tpo"; exit 1; fi In file included from ../src/ftp/host.h:18,

from ../src/ftp/ftp.h:19, from ../src/gvars.h:18, from bashline.c:29:

../src/ftp/url.h:29: error: parse error before ‘bool’ ../src/ftp/url.h:29: warning: no semicolon at end of struct or union ../src/ftp/url.h:32: error: parse error before ‘noupdate’ ../src/ftp/url.h:32: warning: data definition has no type or storage class ../src/ftp/url.h:33: warning: data definition has no type or storage class ../src/ftp/url.h:35: error: parse error before ‘*’ token ../src/ftp/url.h:35: warning: data definition has no type or storage class ../src/ftp/url.h:36: error: parse error before ‘*’ token ../src/ftp/url.h:36: warning: data definition has no type or storage class ../src/ftp/url.h:37: error: parse error before ‘*’ token ../src/ftp/url.h:38: error: parse error before ‘*’ token ../src/ftp/url.h:38: error: parse error before ‘*’ token ../src/ftp/url.h:38: warning: data definition has no type or storage class ../src/ftp/url.h:40: error: parse error before ‘*’ token ../src/ftp/url.h:41: error: parse error before ‘*’ token ../src/ftp/url.h:42: error: parse error before ‘*’ token ../src/ftp/url.h:43: error: parse error before ‘*’ token ../src/ftp/url.h:44: error: parse error before ‘*’ token ../src/ftp/url.h:45: error: parse error before ‘*’ token ../src/ftp/url.h:46: error: parse error before ‘*’ token ../src/ftp/url.h:47: error: parse error before ‘*’ token ../src/ftp/url.h:48: error: parse error before ‘*’ token ../src/ftp/url.h:49: error: parse error before ‘*’ token ../src/ftp/url.h:50: error: parse error before ‘*’ token ../src/ftp/url.h:51: error: parse error before ‘*’ token ../src/ftp/url.h:53: error: parse error before ‘url_isanon’ ../src/ftp/url.h:53: error: parse error before ‘*’ token ../src/ftp/url.h:53: warning: data definition has no type or storage class ../src/ftp/url.h:56: error: parse error before ‘*’ token ../src/ftp/url.h:57: error: parse error before ‘*’ token In file included from ../src/ftp/ftp.h:19,

from ../src/gvars.h:18, from bashline.c:29:

../src/ftp/host.h:34: error: parse error before ‘*’ token In file included from ../src/ftp/ftp.h:20,

from ../src/gvars.h:18, from bashline.c:29:

../src/ftp/socket.h:26: error: parse error before ‘bool’ ../src/ftp/socket.h:26: warning: no semicolon at end of struct or union ../src/ftp/socket.h:27: warning: data definition has no type or storage class ../src/ftp/socket.h:29: error: parse error before ‘*’ token ../src/ftp/socket.h:29: warning: data definition has no type or storage class ../src/ftp/socket.h:30: error: parse error before ‘*’ token

... and a lot more very similar lines (I won't bother you with all of them). I can't quite find what struct or union it might be complaining about. Perhaps it's in src/syshdr.h (where bool is defined), but it *looks* okay to me.

Change History (8)

comment:1 Changed 19 years ago by kyle-opendarwinbugzilla@…

Summary: yafc 1.1_1 won't buildyafc 1.1_1 parse error during compile during upgrade from 1.1_0

comment:2 Changed 19 years ago by mww@…

Owner: changed from darwinports-bugs@… to mww@…

please assign bugs to their maintainers - else they tend not to be found

comment:3 Changed 19 years ago by mww@…

did you perhaps switch gcc to 3.3?

comment:4 Changed 19 years ago by kyle-opendarwinbugzilla@…

(In reply to comment #2)

did you perhaps switch gcc to 3.3?

Nope, this is the gcc --version output:

powerpc-apple-darwin8-gcc-4.0.0 (GCC) 4.0.0 (Apple Computer, Inc. build 5026) Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

comment:5 Changed 19 years ago by kyle-opendarwinbugzilla@…

If you edit src/syshdr.h and remove the #ifndef from around the typedef of the bool enum, it compiles.

comment:6 Changed 19 years ago by mww@…

I guess the problem is the "# include <config.h>" in src/syshdr.h that will include a different config.h that the one from yafc - if there is one e. g. in /usr/ include - which might be the case on your system; would you mind doing a $ port extract replace the <config.h> with a "config.h" (< and > to ") $ port destroot -d and - if it fails - attach the output

comment:7 Changed 19 years ago by kyle-opendarwinbugzilla@…

Works perfectly.

comment:8 Changed 19 years ago by mww@…

Resolution: fixed
Status: newclosed

excellent - commited a patch doing exactly that.

Note: See TracTickets for help on using tickets.