under Cygwin:what's wrong with "arm" building error
hi, all:
I am try to build u-boot image for board "ep7312", and process pause with error:
----------------------------------------------------------------------------
----------
$make
.......
m7tdmi -Wall -Wstrict-prototypes -c -o cmd_scsi.o cmd_scsi.c In file included from cmd_scsi.c:33:
/u-boot-1.0.0/include/asm/processor.h:52: parse error before `1' /u-boot-1.0.0/include/asm/processor.h:52: warning: no semicolon at end of struct or union
/u-boot-1.0.0/include/asm/processor.h:54: parse error before }' /u-boot-1.0.0/include/asm/processor.h:58: field insn' has incomplete type make[1]: *** [cmd_scsi.o] Error 1
make[1]: Leaving directory `/44b0ii/u-boot-1.0.0/common'
make: *** [subdirs] Error 1
$
----------------------------------------------------------------------------
----------------
(My build enviroment is cygwin)
By way, I post line 52 of processor.h
...
union debug_insn {
u32 arm; <---- line 52
u16 thumb;
};
....
And, if I modify "arm" to "arm1" (anything but "arm"), like
union debug_insn {
u32 arm1;
u16 thumb;
};
then build will finish without any error, it says that "u-boot" and "u-boot.srec" will be built out.
thanks for answer
Liang Alei
Quoted 17 lines · In message <000701c3cc96$aa95a380$f48ec9ca@liangalei> you wrote:
I am try to build u-boot image for board "ep7312", and process pause with error:
----------------------------------------------------------------------------
----------
$make
.......
m7tdmi -Wall -Wstrict-prototypes -c -o cmd_scsi.ocmd_scsi.cIn file included from cmd_scsi.c:33:
/u-boot-1.0.0/include/asm/processor.h:52: parse error before `1' /u-boot-1.0.0/include/asm/processor.h:52: warning: no semicolon at end of struct or union
/u-boot-1.0.0/include/asm/processor.h:54: parse error before}' /u-boot-1.0.0/include/asm/processor.h:58: fieldinsn' has incomplete type make[1]: *** [cmd_scsi.o] Error 1
make[1]: Leaving directory `/44b0ii/u-boot-1.0.0/common'
make: *** [subdirs] Error 1
Most probably you converted the source files from Unix format to DOS (with CR-LF line endings, which results in compiler errors).
Quoted 10 lines
By way, I post line 52 of
processor.h
...
uniondebug_insn{
u32 arm; <---- line 52
u16 thumb;
};
....And, if I modify "arm" to "arm1" (anything but "arm"), like
Quoted 7 lines
union
debug_insn{
u32 arm1;
u16 thumb;
};then build will finish without any error, it says that "u-boot" and "u-boot.srec" will be built out.
"arm" is not a reserved identifier. I can compile the source tree perfectly fine here.
Why don't you do yourself a favour and use a Linux host for building? You will have lots of avoidable problems under Cygwin.
Best regards,
Wolfgang Denk
Signature · 4 lines
Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de When choosing between two evils, I always like to take the one I've never tried before. -- Mae West, "Klondike Annie"