2013-05-18 04:21:42

by Rob Landley

[permalink] [raw]
Subject: 3.10-rc1: commit ccdfcc398594 broke uClibc build.

The #include <linux/kernel.h> added to include/uapi/linux/netlink.h
causes the uClibc build to go:

In file included from include/linux/kernel.h:4,
from include/linux/netlink.h:4,
from include/linux/rtnetlink.h:5,
from libc/inet/netlinkaccess.h:27,
from libc/inet/if_index.c:37:
include/linux/sysinfo.h:8: error: expected specifier-qualifier-list
before '__kernel_long_t'
make: *** [libc/inet/if_index.o] Error 1

If I comment out that line, it builds fine. The kernel builds (for my
config) either way.

Rob-


2013-07-09 08:02:15

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: 3.10-rc1: commit ccdfcc398594 broke uClibc build.

Widening the audience...

On Sat, May 18, 2013 at 6:21 AM, Rob Landley <[email protected]> wrote:
> The #include <linux/kernel.h> added to include/uapi/linux/netlink.h causes
> the uClibc build to go:
>
> In file included from include/linux/kernel.h:4,
> from include/linux/netlink.h:4,
> from include/linux/rtnetlink.h:5,
> from libc/inet/netlinkaccess.h:27,
> from libc/inet/if_index.c:37:
> include/linux/sysinfo.h:8: error: expected specifier-qualifier-list before
> '__kernel_long_t'
> make: *** [libc/inet/if_index.o] Error 1
>
> If I comment out that line, it builds fine. The kernel builds (for my
> config) either way.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2013-07-09 08:13:35

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: 3.10-rc1: commit ccdfcc398594 broke uClibc build.

On Tue, Jul 9, 2013 at 10:02 AM, Geert Uytterhoeven
<[email protected]> wrote:
> Widening the audience...

Do, linux-net is no more...

> On Sat, May 18, 2013 at 6:21 AM, Rob Landley <[email protected]> wrote:
>> The #include <linux/kernel.h> added to include/uapi/linux/netlink.h causes
>> the uClibc build to go:
>>
>> In file included from include/linux/kernel.h:4,
>> from include/linux/netlink.h:4,
>> from include/linux/rtnetlink.h:5,
>> from libc/inet/netlinkaccess.h:27,
>> from libc/inet/if_index.c:37:
>> include/linux/sysinfo.h:8: error: expected specifier-qualifier-list before
>> '__kernel_long_t'
>> make: *** [libc/inet/if_index.o] Error 1
>>
>> If I comment out that line, it builds fine. The kernel builds (for my
>> config) either way.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2013-07-09 10:26:13

by David Howells

[permalink] [raw]
Subject: Re: 3.10-rc1: commit ccdfcc398594 broke uClibc build.

Geert Uytterhoeven <[email protected]> wrote:

> The #include <linux/kernel.h> added to include/uapi/linux/netlink.h causes
> the uClibc build to go:
>
> In file included from include/linux/kernel.h:4,
> from include/linux/netlink.h:4,
> from include/linux/rtnetlink.h:5,
> from libc/inet/netlinkaccess.h:27,
> from libc/inet/if_index.c:37:
> > include/linux/sysinfo.h:8: error: expected specifier-qualifier-list before
> > '__kernel_long_t'
> > make: *** [libc/inet/if_index.o] Error 1
> >
> > If I comment out that line, it builds fine. The kernel builds (for my
> > config) either way.

Comment out which line? Line 8 of include/linux/sysinfo.h or the new #include
line?

Also, what arch are you compiling for?

David

2013-07-12 05:11:28

by Rob Landley

[permalink] [raw]
Subject: Re: 3.10-rc1: commit ccdfcc398594 broke uClibc build.

On 07/09/2013 05:25:53 AM, David Howells wrote:
> Geert Uytterhoeven <[email protected]> wrote:
>
> > The #include <linux/kernel.h> added to include/uapi/linux/netlink.h
> causes
> > the uClibc build to go:
> >
> > In file included from include/linux/kernel.h:4,
> > from include/linux/netlink.h:4,
> > from include/linux/rtnetlink.h:5,
> > from libc/inet/netlinkaccess.h:27,
> > from libc/inet/if_index.c:37:
> > > include/linux/sysinfo.h:8: error: expected
> specifier-qualifier-list before
> > > '__kernel_long_t'
> > > make: *** [libc/inet/if_index.o] Error 1
> > >
> > > If I comment out that line, it builds fine. The kernel builds
> (for my
> > > config) either way.
>
> Comment out which line? Line 8 of include/linux/sysinfo.h or the new
> #include
> line?

http://landley.net/hg/aboriginal/file/1616/sources/patches/linux-fixuClibc.patch

> Also, what arch are you compiling for?

My Aboriginal Linux project does arm, mips, powerpc, sparc, sh4, x86,
x86_64, m68k, and I'm poking at adding alpha.

I believe the uClibc build breaks in a target-independent manner. I
just rebuilt armv5l without the patch to confirm:

CC libc/inet/if_index.os
In file included from
/home/landley/aboriginal/aboriginal/build/simple-cross-compiler-armv5l/include/linux/kernel.h:4,
from
/home/landley/aboriginal/aboriginal/build/simple-cross-compiler-armv5l/include/linux/netlink.h:4,
from
/home/landley/aboriginal/aboriginal/build/simple-cross-compiler-armv5l/include/linux/rtnetlink.h:5,
from libc/inet/netlinkaccess.h:27,
from libc/inet/if_index.c:37:
/home/landley/aboriginal/aboriginal/build/simple-cross-compiler-armv5l/include/linux/sysinfo.h:8:
error: expected specifier-qualifier-list before '__kernel_long_t'
make: *** [libc/inet/if_index.os] Error 1
make: *** Waiting for unfinished jobs....

Rob-