Error in compiling uClibc
Carmelo AMOROSO
carmelo.amoroso at st.com
Mon Jun 18 15:03:51 UTC 2012
On 18/06/2012 16.57, Rishi Agrawal wrote:
> Hi All,
>
> I tried compiling uClibc on my Ubuntu 12.04 machine and it failed. See
> below for details. Please let me know what is causing this error, if this
> is the wrong mailing list, please point me to the correct one as I am
> relatively new to embedded domain. Thanks in advance.
>
> Machine Details
>
> $ uname -a
> Linux rishi-desky 3.2.0-25-generic #40-Ubuntu SMP Wed May 23 20:30:51 UTC
> 2012 x86_64 x86_64 x86_64 GNU/Linux
>
> uClibc Version : uClibc-0.9.33.2
>
> Steps I did:
>
> $ make clean
>
>
> $ make ARCH=arm CROSS_COMPILE=arm-none-eabi- defconfig
> #
> # configuration written to ./.config
> #
>
>
> $ make CROSS_COMPILE=arm-none-eabi-
> GEN include/bits/sysnum.h
> AS lib/crt1.o
> AS lib/crti.o
> AS lib/crtn.o
> AS lib/Scrt1.o
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> CC libm/sqrtf.os
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> CC ldso/ldso/ldso.oS
> AS ldso/ldso/arm/aeabi_read_tp.oS
> CC libc/sysdeps/linux/arm/aeabi_unwind_cpp_pr1.o
> AS ldso/ldso/arm/resolve.oS
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> AS ldso/ldso/arm/thumb_atomics.oS
> CC lib/interp.os
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]cc1: warning: include
> location "/usr/include/" is unsafe for cross-compilation
> [-Wpoison-system-directories]
>
> In file included from ./ldso/include/ldso.h:43:0,
> from ldso/ldso/ldso.c:33:
> ./ldso/include/dl-syscall.h: In function '_dl_open':
> ./ldso/include/dl-syscall.h:53:1: error: '__NR_open' undeclared (first use
> in this function)
> ./ldso/include/dl-syscall.h:53:1: note: each undeclared identifier is
> reported only once for each function it appears in
> ./ldso/include/dl-syscall.h: In function '_dl_stat':
> ./ldso/include/dl-syscall.h:69:1: error: '__NR_stat' undeclared (first use
> in this function)
> ./ldso/include/dl-syscall.h: In function '_dl_fstat':
> ./ldso/include/dl-syscall.h:72:1: error: '__NR_fstat' undeclared (first use
> in this function)
> ./ldso/include/dl-syscall.h: In function '_dl_readlink':
> ./ldso/include/dl-syscall.h:109:1: error: '__NR_readlink' undeclared (first
> use in this function)
> CC ldso/libdl/libdl.oS
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> In file included from ./ldso/include/dl-string.h:11:0,
> from ./ldso/include/ldso.h:44,
> from ldso/ldso/ldso.c:33:
> ./ldso/ldso/arm/dl-sysdep.h: In function 'elf_machine_load_address':
> ./ldso/ldso/arm/dl-sysdep.h:119:37: warning: taking address of expression
> of type 'void' [enabled by default]
> In file included from ldso/ldso/ldso.c:46:0:
> ldso/ldso/arm/elfinterp.c: In function '_dl_linux_resolver':
> ldso/ldso/arm/elfinterp.c:72:11: warning: assignment makes integer from
> pointer without a cast [enabled by default]
> ldso/ldso/arm/elfinterp.c: In function '_dl_do_reloc':
> ldso/ldso/arm/elfinterp.c:206:15: warning: assignment makes integer from
> pointer without a cast [enabled by default]
> ldso/ldso/arm/elfinterp.c:193:22: warning: variable 'def_mod' set but not
> used [-Wunused-but-set-variable]
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> CC libc/sysdeps/linux/arm/brk.os
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> CC libc/sysdeps/linux/arm/ioperm.os
> CC libc/sysdeps/linux/arm/iopl.os
> In file included from ./ldso/include/ldso.h:43:0,
> from ldso/libdl/libdl.c:33:
> ./ldso/include/dl-syscall.h: In function '_dl_open':make: ***
> [ldso/ldso/ldso.oS] Error 1
> make: *** Waiting for unfinished jobs....
>
> ./ldso/include/dl-syscall.h:53:1: error: '__NR_open' undeclared (first use
> in this function)
> ./ldso/include/dl-syscall.h:53:1: note: each undeclared identifier is
> reported only once for each function it appears in
> ./ldso/include/dl-syscall.h: In function '_dl_stat':
> ./ldso/include/dl-syscall.h:69:1: error: '__NR_stat' undeclared (first use
> in this function)
> ./ldso/include/dl-syscall.h: In function '_dl_fstat':
> ./ldso/include/dl-syscall.h:72:1: error: '__NR_fstat' undeclared (first use
> in this function)
> ./ldso/include/dl-syscall.h: In function '_dl_readlink':
> ./ldso/include/dl-syscall.h:109:1: error: '__NR_readlink' undeclared (first
> use in this function)
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]
> In file included from ./ldso/include/dl-string.h:11:0,
> from ./ldso/include/ldso.h:44,
> from ldso/libdl/libdl.c:33:
> ./ldso/ldso/arm/dl-sysdep.h: In function 'elf_machine_load_address':
> ./ldso/ldso/arm/dl-sysdep.h:119:37: warning: taking address of expression
> of type 'void' [enabled by default]
> cc1: warning: include location "/usr/include/" is unsafe for
> cross-compilation [-Wpoison-system-directories]cc1: warning: include
> location "/usr/include/" is unsafe for cross-compilation
> [-Wpoison-system-directories]
>
> make: *** [ldso/libdl/libdl.oS] Error 1
> rishi at rishi-desky:~/embd/build_here/uClibc/uClibc-0.9.33.2$
>
>
>
KERNEL_HEADERS is not properly set... you want to cross compile for ARM
but using kernel headers from the host (likelt i386).
Carmelo
More information about the uClibc
mailing list