[uClibc]install the latest uClibc

Erik Andersen andersen at lineo.com
Thu May 31 17:31:22 UTC 2001


On Thu May 31, 2001 at 10:10:59AM -0700, Peng Li wrote:
> Hi,
> 
> I'm trying to install the latest uClibc for uCsimm
> with kernel 2.0.381pre7. The point is I need to use
> setjmp/longjmp in the kernel of uClinux, e.g.
> rtl_schedule(). The m68k-elf tools are downloaded from
> http://www.uclinux.org/pub/uClinux/m68k-elf-tools/
> No errors for installation. Now m68k-elf tools are in
> /usr/local/bin, which is in my path.
> 
> However, when I built the uClibc, the compiler
> complained and failed:
> 
> make[4]: Entering directory
> `/home/pli/uClibc/libc/sysdeps/linux/common'
> m68k-elf-gcc -Wa,--bitwise-or -Wall  -fno-builtin
> -nostdinc  -I../../../../include
> -I/usr/local/lib/gcc-lib/m68k-elf/2.95.2/include -I.
> -D_LIBC  -I/opt/uClinux/linux/include -DNDEBUG 
> -DL__exit syscalls.c -c -o _exit.o
> syscalls.c: In function `_exit':
> syscalls.c:36: warning: `return' with a value, in
> function returning void
> syscalls.c:36: inconsistent operand constraints in an
> `asm'
> make[4]: *** [_exit.o] Error 1
> make[4]: Leaving directory
> `/home/pli/uClibc/libc/sysdeps/linux/common'
> make[3]: *** [_dir_common] Error 2
> make[3]: Leaving directory
> `/home/pli/uClibc/libc/sysdeps/linux'
> make[2]: *** [_dir_linux] Error 2
> make[2]: Leaving directory
> `/home/pli/uClibc/libc/sysdeps'
> make[1]: *** [_dir_sysdeps] Error 2
> make[1]: Leaving directory `/home/pli/uClibc/libc'
> make: *** [_dir_libc] Error 2
> 
> I'm not familiar with the uClibc. Could anybody shed
> me a light? I have unfornately ran out of my time. 

This looks like your kernel header files are broken or pointing to the wrong
kernel.  If you are cross compiling for m68k, you must be sure that your
"Config" file's KERNEL_SOURCE points to the uCsimm's kernel source tree.

The only place we use kernel header files is when we compile the system calls.
This is where your compile failed.  We look at
KERNEL_SOURCE/include/asm/unistd.h to use the _syscall[0-5] macros.  Typically
KERNEL_SOURCE/include/asm is a symlink created when configuring your kernel.
If you use your host system's kernel source, it will try to use x86 versions of
this code, which is not what you want at all.

 -Erik

--
Erik B. Andersen   email:  andersen at lineo.com
--This message was written using 73% post-consumer electrons--





More information about the uClibc mailing list