Hi,
I’m trying to build libmcc based program using OpenEmbedded’s SDK. The problem is everytime I include an header file in $(OECORE_TARGET_SYSROOT) I got errors in compilation process. Here is my Makefile
###############################################################################
# Setup project settings
###############################################################################
PROG := app_linux
SRCS = ../../source/main.c
SRCS += ../../source/lib/mcc_a5.c
SRCS += ../../../common/mcc/mcc.c
LIBS = -lmcc
INC = -I../../source/lib
INC += -I../../../common
INC += -I$(OECORE_TARGET_SYSROOT)/usr/include
INC += -I$(OECORE_TARGET_SYSROOT)/usr/include/linux
# Set flags to the compiler and linker
CFLAGS+=$(INC)
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
###############################################################################
# This section of Makefile usually needs no change
###############################################################################
# Sets the output filename and objects files
PROG := $(PROG)
OBJS = $(SRCS:.c=.o)
DEPS = $(OBJS:.o=.o.d)
-include $(DEPS)
all: $(PROG)
$(PROG): $(OBJS) Makefile
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(LDFLAGS)
# $(STRIP) $@
%.O: %.C
$(CC) -c $(CFLAGS) -O $@ $<
$(CC) -MM $(CFLAGS) $< > $@.d
clean:
$(RM) $(DEPS) $(OBJS) $(PROG)
Following the console output
arm-angstrom-linux-gnueabi-gcc -march=armv7-a -mthumb -mthumb-interwork -mfloat-abi=hard -mfpu=neon --sysroot=/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi -O2 -pipe -g -feliminate-unused-debug-types -I../../source/lib -I../../../common -I/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include -I/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/linux -c -o ../../source/main.o ../../source/main.c
In file included from /usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:74:0,
from ../../source/main.c:45:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/libio.h:306:3: error: unknown type name 'size_t'
size_t __pad5;
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/libio.h:310:67: error: 'size_t' undeclared here (not in a function)
char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/libio.h:338:62: error: expected declaration specifiers or '...' before 'size_t'
typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes);
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/libio.h:347:6: error: expected declaration specifiers or '...' before 'size_t'
size_t __n);
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/libio.h:469:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_IO_sgetn'
extern _IO_size_t _IO_sgetn (_IO_FILE *, void *, _IO_size_t);
^
In file included from ../../source/main.c:45:0:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:319:35: error: expected declaration specifiers or '...' before 'size_t'
extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:325:47: error: expected declaration specifiers or '...' before 'size_t'
extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __THROW __wur;
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:337:20: error: expected declaration specifiers or '...' before 'size_t'
int __modes, size_t __n) __THROW;
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:344:10: error: expected declaration specifiers or '...' before 'size_t'
size_t __size) __THROW;
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:386:44: error: expected declaration specifiers or '...' before 'size_t'
extern int snprintf (char *__restrict __s, size_t __maxlen,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:390:45: error: expected declaration specifiers or '...' before 'size_t'
extern int vsnprintf (char *__restrict __s, size_t __maxlen,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:666:11: error: expected declaration specifiers or '...' before 'size_t'
size_t *__restrict __n, int __delimiter,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:669:9: error: expected declaration specifiers or '...' before 'size_t'
size_t *__restrict __n, int __delimiter,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:679:8: error: expected declaration specifiers or '...' before 'size_t'
size_t *__restrict __n,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:709:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fread'
extern size_t fread (void *__restrict __ptr, size_t __size,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:715:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fwrite'
extern size_t fwrite (const void *__restrict __ptr, size_t __size,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:737:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fread_unlocked'
extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdio.h:739:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fwrite_unlocked'
extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
^
In file included from ../../source/main.c:47:0:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:139:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__ctype_get_mb_cur_max'
extern size_t __ctype_get_mb_cur_max (void) __THROW __wur;
^
In file included from /usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/sys/select.h:45:0,
from /usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/sys/types.h:219,
from /usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:314,
from ../../source/main.c:47:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/bits/time.h:30:8: error: redefinition of 'struct timeval'
struct timeval
^
In file included from /usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/sys/types.h:132:0,
from /usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:314,
from ../../source/main.c:47:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/linux/time.h:15:8: note: originally defined here
struct timeval {
^
In file included from ../../source/main.c:47:0:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:331:4: error: expected declaration specifiers or '...' before 'size_t'
size_t __statelen) __THROW __nonnull ((2));
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:361:4: error: expected declaration specifiers or '...' before 'size_t'
size_t __statelen,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:466:22: error: expected declaration specifiers or '...' before 'size_t'
extern void *malloc (size_t __size) __THROW __attribute_malloc__ __wur;
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:468:22: error: expected declaration specifiers or '...' before 'size_t'
extern void *calloc (size_t __nmemb, size_t __size)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:468:38: error: expected declaration specifiers or '...' before 'size_t'
extern void *calloc (size_t __nmemb, size_t __size)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:480:36: error: expected declaration specifiers or '...' before 'size_t'
extern void *realloc (void *__ptr, size_t __size)
^
In file included from /usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:492:0,
from ../../source/main.c:47:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/alloca.h:32:22: error: expected declaration specifiers or '...' before 'size_t'
extern void *alloca (size_t __size) __THROW;
^
In file included from ../../source/main.c:47:0:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:498:22: error: expected declaration specifiers or '...' before 'size_t'
extern void *valloc (size_t __size) __THROW __attribute_malloc__ __wur;
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:503:45: error: expected declaration specifiers or '...' before 'size_t'
extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:503:65: error: expected declaration specifiers or '...' before 'size_t'
extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:755:9: error: expected declaration specifiers or '...' before 'size_t'
size_t __nmemb, size_t __size, __compar_fn_t __compar)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:755:25: error: expected declaration specifiers or '...' before 'size_t'
size_t __nmemb, size_t __size, __compar_fn_t __compar)
^
In file included from /usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:759:0,
from ../../source/main.c:47:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/bits/stdlib-bsearch.h:20:49: error: expected declaration specifiers or '...' before 'size_t'
bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/bits/stdlib-bsearch.h:20:65: error: expected declaration specifiers or '...' before 'size_t'
bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
^
In file included from ../../source/main.c:47:0:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:764:34: error: expected declaration specifiers or '...' before 'size_t'
extern void qsort (void *__base, size_t __nmemb, size_t __size,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:764:50: error: expected declaration specifiers or '...' before 'size_t'
extern void qsort (void *__base, size_t __nmemb, size_t __size,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:843:6: error: expected declaration specifiers or '...' before 'size_t'
size_t __len) __THROW __nonnull ((3, 4, 5));
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:846:6: error: expected declaration specifiers or '...' before 'size_t'
size_t __len) __THROW __nonnull ((3, 4, 5));
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:850:31: error: expected declaration specifiers or '...' before 'size_t'
char *__restrict __buf, size_t __len)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:854:31: error: expected declaration specifiers or '...' before 'size_t'
char *__restrict __buf, size_t __len)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:862:36: error: expected declaration specifiers or '...' before 'size_t'
extern int mblen (const char *__s, size_t __n) __THROW;
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:865:20: error: unknown type name 'wchar_t'
extern int mbtowc (wchar_t *__restrict __pwc,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:866:34: error: expected declaration specifiers or '...' before 'size_t'
const char *__restrict __s, size_t __n) __THROW;
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:869:31: error: unknown type name 'wchar_t'
extern int wctomb (char *__s, wchar_t __wchar) __THROW;
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:873:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'mbstowcs'
extern size_t mbstowcs (wchar_t *__restrict __pwcs,
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:876:15: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'wcstombs'
extern size_t wcstombs (char *__restrict __s,
^
In file included from ../../source/main.c:49:0:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/pthread.h:308:11: error: expected declaration specifiers or '...' before 'size_t'
size_t *__guardsize)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/pthread.h:313:11: error: expected declaration specifiers or '...' before 'size_t'
size_t __guardsize)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/pthread.h:371:19: error: expected declaration specifiers or '...' before 'size_t'
__attr, size_t *__restrict __stacksize)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/pthread.h:378:11: error: expected declaration specifiers or '...' before 'size_t'
size_t __stacksize)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/pthread.h:385:7: error: expected declaration specifiers or '...' before 'size_t'
size_t *__restrict __stacksize)
^
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/pthread.h:392:7: error: expected declaration specifiers or '...' before 'size_t'
size_t __stacksize) __THROW __nonnull ((1));
^
In file included from /usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/linux/signal.h:4:0,
from ../../source/main.c:50:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/asm/signal.h:12:23: error: conflicting types for 'sigset_t'
typedef unsigned long sigset_t;
^
In file included from /usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/sys/types.h:219:0,
from /usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/stdlib.h:314,
from ../../source/main.c:47:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/sys/select.h:37:20: note: previous declaration of 'sigset_t' was here
typedef __sigset_t sigset_t;
^
In file included from /usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/linux/signal.h:4:0,
from ../../source/main.c:50:
/usr/local/oecore-x86_64/sysroots/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/usr/include/asm/signal.h:112:2: error: expected specifier-qualifier-list before 'size_t'
size_t ss_size;
^
make: ** [../../source/main.o] Erro 1
Thanks for any help