[uClibc] [buildroot] gcc-2.95 busybox problem

Philippe Ney philippe.ney at pardes.ws
Sat Aug 6 23:23:15 UTC 2005


> > > For some reason, I have to use gcc-2.95
> > >
> > > In this way, I get an old buildroot (rev.9452) from the svn archive.
> >
> > [...]
> >
> > > And now I encounter an error when compiling Busybox about
> > > __NR_delete_module that seems not to be defined.
> >
> > __NR_delete_module is 2.4.x' speak for a system call that removes a
> > module. You seem to use a 2.6.x kernel that doesn't have this system
> > call any more.
> 
> i386 defines __NR_delete_module in 2.4 and 2.6
> 
> but you're probably on the right track ... sounds like your
> cross-compiler  headers are broken
> -mike

Yes. Thanks for the tips.

Tracking the problem, I found that the reason was an unfilled
<bits/sysnum.h> header.

The directory tree I had in the staging area was :

build_i386/
    |
    +--staging_dir/
           |
           +--i386-linux-uclibc/
                  |
                  +-- bin/
                  |
                  +-- include/
                  |
                  +-- lib          -->  ../lib
                  |
                  +-- sys-include  -->  include


The empty <bits/sysnum.h> header is in
"build_i386/staging_dir/i386-linux-uclibc/include", which is one of the
header directory to gcc (the sys-include one). While the one it has to use
is the "build_i386/staging_dir/include" directory which contain a right
generated sysnum.h

I corrected this in the gcc-uclibc-2.95.mk file by changing the symlink.

Now the error I have is with the macro PAGE_SIZE defined in asm/page.h :

make[1]: Entering directory `/home/philippe/SEBOX/test-2.95/build_i386/busybox-1.00'
/home/philippe/SEBOX/test-2.95/build_i386/staging_dir/bin/i386-linux-uclibc-gcc -I/home/philippe/SEBOX/test-2.95/build_i386/busybox-1.00/include -I/home/philippe/SEBOX/test-2.95/build_i386/busybox-1.00/include -I/home/philippe/SEBOX/test-2.95/build_i386/busybox-1.00/libbb -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wstrict-prototypes -Wshadow -Os -march=i386 -mpreferred-stack-boundary=2  -malign-functions=0 -malign-jumps=0 -malign-loops=0 -fomit-frame-pointer -D_GNU_SOURCE -DNDEBUG    -Os -pipe  -c -o /home/philippe/SEBOX/test-2.95/build_i386/busybox-1.00/libbb/procps.o /home/philippe/SEBOX/test-2.95/build_i386/busybox-1.00/libbb/procps.c
/home/philippe/SEBOX/test-2.95/build_i386/busybox-1.00/libbb/procps.c: In function `procps_scan':
/home/philippe/SEBOX/test-2.95/build_i386/busybox-1.00/libbb/procps.c:121: parse error before `['
/home/philippe/SEBOX/test-2.95/build_i386/busybox-1.00/libbb/procps.c:121: parse error before `]'
make[1]: *** [/home/philippe/SEBOX/test-2.95/build_i386/busybox-1.00/libbb/procps.o] Erreur 1
make[1]: Leaving directory `/home/philippe/SEBOX/test-2.95/build_i386/busybox-1.00'
make: *** [/home/philippe/SEBOX/test-2.95/build_i386/busybox-1.00/busybox] Erreur 2


Did someone already encounter this problem before ?

Thanks in advance,
Philippe



More information about the uClibc mailing list