On Sun, 22 Jun 2008, hua zhang wrote:

> Hi expert,
> I am trying to build usbutils 0.73 at Solaris, but failed, I am using Sun 
> Studio 11. In order to make the error clear, I posted all of the error 
> message below, hope anyone can give me any comments on what's the problem.... 
> Thanks.
>
> fifa:henry>make
> make  all-am
> make[1]: Entering directory `/export/home/henry/SSA/USB/usbutils-0.73.build'
> source='lsusb.c' object='lsusb.o' libtool=no \
> DEPDIR=.deps depmode=none /bin/bash ./depcomp \
> /ws/onnv-tools-prc/SUNWspro/SS11/bin/cc -DHAVE_CONFIG_H -I. -I. -I.  
> -DUSBIDS_DIR='"/usr/local/share"'  -I/usr/sfw/include -L/usr/sfw/lib 
> -R/usr/sfw/lib lsusb_SOURCES = lsusb.c names.c names.h devtree.c devtree.h 
> list.h usbmisc.c usbmisc.h -g -c lsusb.c
> lsusb.c:
> "usbmisc.h", line 33: only "register" valid as formal parameter storage class

This kind of error happens when compiler is mislead to think
that usual declarations (variables, structs etc) happen inside the 
function declaration.
For instance, it happens due to parenthesis mismatch, like this:


int foo(

#include <stdio.h>
static int x;


Why parenthesis mismatch happens is another story.
Try to run your compilation with -E and scan the preprocessor output.

regards,
   Fedor.

> "usbmisc.h", line 33: parameter not in identifier list: get_usb_device
> "/usr/include/getopt.h", line 51: warning: dubious struct declaration; use 
> tag only: option
> "/usr/include/getopt.h", line 62: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 62: parameter not in identifier list: optarg
> "/usr/include/getopt.h", line 63: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 63: parameter not in identifier list: opterr
> "/usr/include/getopt.h", line 64: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 64: parameter not in identifier list: optind
> "/usr/include/getopt.h", line 65: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 65: parameter not in identifier list: optopt
> "/usr/include/getopt.h", line 71: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 72: warning: dubious tag in function prototype: 
> struct option
> "/usr/include/getopt.h", line 72: parameter not in identifier list: 
> getopt_long
> "/usr/include/getopt.h", line 73: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 74: warning: dubious tag in function prototype: 
> struct option
> "/usr/include/getopt.h", line 74: parameter not in identifier list: 
> getopt_long_only
> "/usr/include/getopt.h", line 75: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 76: warning: dubious tag in function prototype: 
> struct option
> "/usr/include/getopt.h", line 76: parameter not in identifier list: 
> getopt_clip
> "lsusb.c", line 77: only "register" valid as formal parameter storage class
> "lsusb.c", line 77: parameter not in identifier list: procbususb
> "lsusb.c", line 77: cannot initialize parameter: procbususb
> "lsusb.c", line 78: only "register" valid as formal parameter storage class
> "lsusb.c", line 78: parameter not in identifier list: verblevel
> "lsusb.c", line 78: cannot initialize parameter: verblevel
> "lsusb.c", line 79: only "register" valid as formal parameter storage class
> "lsusb.c", line 79: parameter not in identifier list: do_report_desc
> "lsusb.c", line 79: cannot initialize parameter: do_report_desc
> "lsusb.c", line 81: only "register" valid as formal parameter storage class
> "lsusb.c", line 81: parameter not in identifier list: dump_interface
> "lsusb.c", line 82: only "register" valid as formal parameter storage class
> "lsusb.c", line 82: parameter not in identifier list: dump_endpoint
> "lsusb.c", line 83: only "register" valid as formal parameter storage class
> "lsusb.c", line 83: parameter not in identifier list: 
> dump_audiocontrol_interface
> "lsusb.c", line 84: only "register" valid as formal parameter storage class
> "lsusb.c", line 84: parameter not in identifier list: 
> dump_audiostreaming_interface
> "lsusb.c", line 85: only "register" valid as formal parameter storage class
> "lsusb.c", line 85: parameter not in identifier list: 
> dump_midistreaming_interface
> "lsusb.c", line 86: only "register" valid as formal parameter storage class
> "lsusb.c", line 86: parameter not in identifier list: 
> dump_videocontrol_interface
> "lsusb.c", line 87: only "register" valid as formal parameter storage class
> "lsusb.c", line 87: parameter not in identifier list: 
> dump_videostreaming_interface
> "lsusb.c", line 88: only "register" valid as formal parameter storage class
> "lsusb.c", line 88: parameter not in identifier list: dump_comm_descriptor
> "lsusb.c", line 89: only "register" valid as formal parameter storage class
> "lsusb.c", line 89: parameter not in identifier list: dump_hid_device
> "lsusb.c", line 90: only "register" valid as formal parameter storage class
> "lsusb.c", line 90: parameter not in identifier list: 
> dump_audiostreaming_endpoint
> "lsusb.c", line 91: only "register" valid as formal parameter storage class
> "lsusb.c", line 91: parameter not in identifier list: 
> dump_midistreaming_endpoint
> "lsusb.c", line 92: only "register" valid as formal parameter storage class
> "lsusb.c", line 92: parameter not in identifier list: dump_hub
> "lsusb.c", line 93: only "register" valid as formal parameter storage class
> "lsusb.c", line 93: parameter not in identifier list: dump_ccid_device
> "lsusb.c", line 97: only "register" valid as formal parameter storage class
> "lsusb.c", line 98: parameter not in identifier list: convert_le_u32
> "lsusb.c", line 98: syntax error before or at: {
> "lsusb.c", line 108: only "register" valid as formal parameter storage class
> "lsusb.c", line 112: inline keyword applied to typesafe_control_msg: must be 
> a function identifier
> "lsusb.c", line 112: parameter redeclared: typesafe_control_msg
> "lsusb.c", line 112: cannot recover from previous errors
> cc: acomp failed for lsusb.c
> names.c:
> "names.c", line 115: warning: integer overflow detected: op "<<"
> "names.c", line 115: warning: initializer does not fit or is out of range: 
> -2147483648
> devtree.c:
> "devtree.c", line 45: parameter not in identifier list: usbbuslist
> "devtree.c", line 45: cannot initialize parameter: usbbuslist
> "devtree.c", line 45: non-constant initializer: op "U&"
> "devtree.c", line 45: non-constant initializer: op "U&"
> "devtree.c", line 49: only "register" valid as formal parameter storage class
> "devtree.c", line 50: parameter not in identifier list: freedev
> "devtree.c", line 50: syntax error before or at: {
> "devtree.c", line 54: only "register" valid as formal parameter storage class
> "devtree.c", line 55: parameter redeclared: freebus
> "devtree.c", line 55: cannot recover from previous errors
> cc: acomp failed for devtree.c
> usbmisc.c:
> lsusb.c:
> "usbmisc.h", line 33: only "register" valid as formal parameter storage class
> "usbmisc.h", line 33: parameter not in identifier list: get_usb_device
> "/usr/include/getopt.h", line 51: warning: dubious struct declaration; use 
> tag only: option
> "/usr/include/getopt.h", line 62: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 62: parameter not in identifier list: optarg
> "/usr/include/getopt.h", line 63: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 63: parameter not in identifier list: opterr
> "/usr/include/getopt.h", line 64: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 64: parameter not in identifier list: optind
> "/usr/include/getopt.h", line 65: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 65: parameter not in identifier list: optopt
> "/usr/include/getopt.h", line 71: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 72: warning: dubious tag in function prototype: 
> struct option
> "/usr/include/getopt.h", line 72: parameter not in identifier list: 
> getopt_long
> "/usr/include/getopt.h", line 73: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 74: warning: dubious tag in function prototype: 
> struct option
> "/usr/include/getopt.h", line 74: parameter not in identifier list: 
> getopt_long_only
> "/usr/include/getopt.h", line 75: only "register" valid as formal parameter 
> storage class
> "/usr/include/getopt.h", line 76: warning: dubious tag in function prototype: 
> struct option
> "/usr/include/getopt.h", line 76: parameter not in identifier list: 
> getopt_clip
> "lsusb.c", line 77: only "register" valid as formal parameter storage class
> "lsusb.c", line 77: parameter not in identifier list: procbususb
> "lsusb.c", line 77: cannot initialize parameter: procbususb
> "lsusb.c", line 78: only "register" valid as formal parameter storage class
> "lsusb.c", line 78: parameter not in identifier list: verblevel
> "lsusb.c", line 78: cannot initialize parameter: verblevel
> "lsusb.c", line 79: only "register" valid as formal parameter storage class
> "lsusb.c", line 79: parameter not in identifier list: do_report_desc
> "lsusb.c", line 79: cannot initialize parameter: do_report_desc
> "lsusb.c", line 81: only "register" valid as formal parameter storage class
> "lsusb.c", line 81: parameter not in identifier list: dump_interface
> "lsusb.c", line 82: only "register" valid as formal parameter storage class
> "lsusb.c", line 82: parameter not in identifier list: dump_endpoint
> "lsusb.c", line 83: only "register" valid as formal parameter storage class
> "lsusb.c", line 83: parameter not in identifier list: 
> dump_audiocontrol_interface
> "lsusb.c", line 84: only "register" valid as formal parameter storage class
> "lsusb.c", line 84: parameter not in identifier list: 
> dump_audiostreaming_interface
> "lsusb.c", line 85: only "register" valid as formal parameter storage class
> "lsusb.c", line 85: parameter not in identifier list: 
> dump_midistreaming_interface
> "lsusb.c", line 86: only "register" valid as formal parameter storage class
> "lsusb.c", line 86: parameter not in identifier list: 
> dump_videocontrol_interface
> "lsusb.c", line 87: only "register" valid as formal parameter storage class
> "lsusb.c", line 87: parameter not in identifier list: 
> dump_videostreaming_interface
> "lsusb.c", line 88: only "register" valid as formal parameter storage class
> "lsusb.c", line 88: parameter not in identifier list: dump_comm_descriptor
> "lsusb.c", line 89: only "register" valid as formal parameter storage class
> "lsusb.c", line 89: parameter not in identifier list: dump_hid_device
> "lsusb.c", line 90: only "register" valid as formal parameter storage class
> "lsusb.c", line 90: parameter not in identifier list: 
> dump_audiostreaming_endpoint
> "lsusb.c", line 91: only "register" valid as formal parameter storage class
> "lsusb.c", line 91: parameter not in identifier list: 
> dump_midistreaming_endpoint
> "lsusb.c", line 92: only "register" valid as formal parameter storage class
> "lsusb.c", line 92: parameter not in identifier list: dump_hub
> "lsusb.c", line 93: only "register" valid as formal parameter storage class
> "lsusb.c", line 93: parameter not in identifier list: dump_ccid_device
> "lsusb.c", line 97: only "register" valid as formal parameter storage class
> "lsusb.c", line 98: parameter not in identifier list: convert_le_u32
> "lsusb.c", line 98: syntax error before or at: {
> "lsusb.c", line 108: only "register" valid as formal parameter storage class
> "lsusb.c", line 112: inline keyword applied to typesafe_control_msg: must be 
> a function identifier
> "lsusb.c", line 112: parameter redeclared: typesafe_control_msg
> "lsusb.c", line 112: cannot recover from previous errors
> cc: acomp failed for lsusb.c
> make[1]: *** [lsusb.o] Error 6
> make[1]: Leaving directory `/export/home/henry/SSA/USB/usbutils-0.73.build'
> make: *** [all] Error 2
> --
> This message posted from opensolaris.org
> _______________________________________________
> tools-compilers mailing list
> tools-compilers at opensolaris.org
>

Reply via email to