I am compiling grep in a 64-bit GCC compiler for Windows 7 x64 SUA / Interix.
It puts the highlighted line in stddef.h :
#ifndef _SIZE_T_DEFINED #if defined (lp64) || defined(_WIN64) #ifdef lp64 typedef unsigned long size_t; // <------ error #else /* lp64 */ typedef unsigned __int64 size_t; #endif /* lp64 */ #else /* (defined(lp64) || defined(_WIN64)) */ typedef unsigned int size_t; #endif /* (defined(lp64) || defined(_WIN64)) */ #define _SIZE_T_DEFINED #define _SIZE_T #endif /* _SIZE_T_DEFINED */
Output for make :
make all-recursive Making all in intl gcc -c -DLOCALEDIR=\"/usr/local/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale\" -DLIBDIR=\"/usr/local/lib\" -DIN_LIBINTL -DHAVE_CONFIG_H -I.. -I. -I../../intl -D_ALL_SOURCE -D_REENTRANT -I/usr/local/include -I/usr/local/include -D_ALL_SOURCE -D_REENTRANT ../../intl/intl-compat.c In file included from ../../intl/gettextP.h:23:0, from ../../intl/intl-compat.c:25: /usr/include/stddef.h:50:23: error: duplicate 'unsigned' *** Error code 1 Stop in /tmp/grep-2.5.4-src/build/intl. *** Error code 1 Stop in /tmp/grep-2.5.4-src/build (line 329 of Makefile). *** Error code 1 Stop in /tmp/grep-2.5.4-src/build (line 244 of Makefile).
I donβt understand what the reason is ... it is already confusing that long used as if it is 64-bit in GCC, but the error is even more confusing! Ideas?
source share