On Sat, Jul 4, 2009 at 8:08 PM, Xiaofan Chen<xiaof...@gmail.com> wrote: > Some summary: cross build OpenOCD (for J-Link only, will try libftdi later). > > 1. Failed under Ubuntu 9.04 because of error in replacement.h > In file included from ../../config.h:280, > from binarybuffer.c:24: > ./replacements.h:213: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘Elf32_Addr’ > ./replacements.h:214: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘Elf32_Half’ > ./replacements.h:215: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘Elf32_Off’ > ./replacements.h:216: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘Elf32_Sword’ > ./replacements.h:217: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘Elf32_Word’ > ./replacements.h:218: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘Elf32_Size’ > ./replacements.h:219: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or > ‘__attribute__’ before ‘Elf32_Hashelt’ > ./replacements.h:224: error: expected specifier-qualifier-list before > ‘Elf32_Half’ > ./replacements.h:252: error: expected specifier-qualifier-list before > ‘Elf32_Word’
Not so sure if this is the correct fix, but adding "types.h" to "replacement.h" solved the problem. --- src/helper/replacements.h.org 2009-07-04 09:13:57.000000000 +0800 +++ src/helper/replacements.h 2009-07-04 21:32:45.000000000 +0800 @@ -134,6 +134,7 @@ #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <time.h> +#include "types.h" /* win32 systems do not support ETIMEDOUT */ > 2. Under Fedora 10, I need to use --disable-werror due to problems > with jim-eventloop.c. > > cc1: warnings being treated as errors > ../../../src/helper/jim-eventloop.c: In function 'Jim_ProcessEvents': > ../../../src/helper/jim-eventloop.c:275: error: comparison between > signed and unsigned > ../../../src/helper/jim-eventloop.c:276: error: comparison between > signed and unsigned > ../../../src/helper/jim-eventloop.c:277: error: comparison between > signed and unsigned > ../../../src/helper/jim-eventloop.c:352: error: comparison between > signed and unsigned > ../../../src/helper/jim-eventloop.c:353: error: comparison between > signed and unsigned > ../../../src/helper/jim-eventloop.c:354: error: comparison between > signed and unsigned > > I also need to manually build openocd.exe due to the last > linking step problem. > > I need to manually build openocd.exe by adding -lwsock32. > [mc...@acerpc src]$ /usr/bin/i686-pc-mingw32-gcc -std=gnu99 -O2 -g > -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions > --param=ssp-buffer-size=4 -mms-bitfields -Wall -Wstrict-prototypes > -Wformat-security -Wextra -Wno-unused-parameter -Wbad-function-cast > -Wcast-align -Wredundant-decls -o openocd.exe main.o > ./.libs/libopenocd.a -lusb -lwsock32 > > 3. Under Arch Linux (rolling updates to the latest) and OpenSuse 11.1, > the cross-build works. > -- Xiaofan http://mcuee.blogspot.com
--- src/helper/replacements.h.org 2009-07-04 09:13:57.000000000 +0800 +++ src/helper/replacements.h 2009-07-04 21:32:45.000000000 +0800 @@ -134,6 +134,7 @@ #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <time.h> +#include "types.h" /* win32 systems do not support ETIMEDOUT */
_______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development