* Conflicts in kernel 2.6 headers and {glibc,Xorg}
@ 2005-01-09 9:20 Michal Feix
2005-01-09 11:06 ` Chris Lingard
2005-01-09 11:08 ` Tomasz Torcz
0 siblings, 2 replies; 10+ messages in thread
From: Michal Feix @ 2005-01-09 9:20 UTC (permalink / raw)
To: linux-kernel
Hello evereyone!
First, I'm not on kernel mailing list so please CC any replies to me.
Thank you.
Yesterday I was recompiling my Linux from Scratch distribution for the
first time with Linux kernel 2.6.10 headers as a base for glibc. I've
found, that glibc (and XOrg later on too) won't compile, as there is a
conflict in certain functions or macros that glibc and Kernel headers
both define.
One was in asm/bitops.h (strictly speaking, asm-i386/bitops.h) named
__ffs, which is defined with unsigned long (both for return type and
parameter) in linux kernel, but as int in glibc sources. Others were in
asm/system.h. Macro mb() and nop() which conflicts with Xorg sources and
with one part of KDE as well (mb() macro and kdepim sources).
Now I am a bit confused. To force my glibc, Xorg and KDE to compile
cleanly, I had to rename these in kernel headers in my /usr/include/asm
directory, so they are no longer conflicting (which of course breaks the
rest of kernel header files, that use these macros), but since I was
changing only files in /usr/include/asm, it's probably a "no harm done"
change, as my Kernel has it's own copy of these files.
My question is: is this a bug in glibc and Xorg sources that they
declare macros and functions with the same name as kernel headers? I
believe not, as it worked cleanly with kernel 2.4 headers and glibc was
first to use these names. :)
Or is it a bug in kernel 2.6 headers, which should be fixed by including
these functions and macros into __KERNEL__ block, so they will not
collide with userspace sources?
Thanks for reading this to the end... :)
--
Michal Feix
michal@feix.cz
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Conflicts in kernel 2.6 headers and {glibc,Xorg}
2005-01-09 9:20 Conflicts in kernel 2.6 headers and {glibc,Xorg} Michal Feix
@ 2005-01-09 11:06 ` Chris Lingard
2005-01-09 11:08 ` Tomasz Torcz
1 sibling, 0 replies; 10+ messages in thread
From: Chris Lingard @ 2005-01-09 11:06 UTC (permalink / raw)
To: Michal Feix; +Cc: linux-kernel
On Sunday 09 January 2005 09:20, you wrote:
> Yesterday I was recompiling my Linux from Scratch distribution for the
> first time with Linux kernel 2.6.10 headers as a base for glibc.
Linux from Scratch uses sanitized headers; if you want to use raw
headers, you should be able to solve your own problems.
http://www.lfs-matrix.de/lfs/view/stable/chapter05/linux-libc-headers.html
Chris Lingard
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Conflicts in kernel 2.6 headers and {glibc,Xorg}
2005-01-09 9:20 Conflicts in kernel 2.6 headers and {glibc,Xorg} Michal Feix
2005-01-09 11:06 ` Chris Lingard
@ 2005-01-09 11:08 ` Tomasz Torcz
2005-01-09 11:35 ` Michal Feix
2005-01-09 16:06 ` George Georgalis
1 sibling, 2 replies; 10+ messages in thread
From: Tomasz Torcz @ 2005-01-09 11:08 UTC (permalink / raw)
To: linux-kernel; +Cc: michal
On Sun, Jan 09, 2005 at 10:20:45AM +0100, Michal Feix wrote:
> Hello evereyone!
>
> First, I'm not on kernel mailing list so please CC any replies to me.
> Thank you.
>
> Yesterday I was recompiling my Linux from Scratch distribution for the
> first time with Linux kernel 2.6.10 headers as a base for glibc. I've
> found, that glibc (and XOrg later on too) won't compile, as there is a
> conflict in certain functions or macros that glibc and Kernel headers
> both define.
Are you using proper kernel headers - from
http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ ?
--
Tomasz Torcz "God, root, what's the difference?"
zdzichu@irc.-nie.spam-.pl "God is more forgiving."
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Conflicts in kernel 2.6 headers and {glibc,Xorg}
2005-01-09 11:08 ` Tomasz Torcz
@ 2005-01-09 11:35 ` Michal Feix
2005-01-09 11:55 ` Tomasz Torcz
2005-01-09 12:59 ` Jesper Juhl
2005-01-09 16:06 ` George Georgalis
1 sibling, 2 replies; 10+ messages in thread
From: Michal Feix @ 2005-01-09 11:35 UTC (permalink / raw)
To: linux-kernel; +Cc: Tomasz Torcz
>>First, I'm not on kernel mailing list so please CC any replies to me.
>>Thank you.
>>
>>Yesterday I was recompiling my Linux from Scratch distribution for the
>>first time with Linux kernel 2.6.10 headers as a base for glibc. I've
>>found, that glibc (and XOrg later on too) won't compile, as there is a
>>conflict in certain functions or macros that glibc and Kernel headers
>>both define.
>
>
> Are you using proper kernel headers - from
> http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ ?
No, I am not, because I wasn't told to do so. For meny years I always
used vanilla sources from kernel.org for my /usr/include/... I wasn't
told, that it is wrong and I still believe, that Linux kernel headers
should be fixed by including these conflicting macros and functions into
__KERNEL__ block instead. Or am I missing something?
--
Michal
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Conflicts in kernel 2.6 headers and {glibc,Xorg}
2005-01-09 11:35 ` Michal Feix
@ 2005-01-09 11:55 ` Tomasz Torcz
2005-01-09 12:25 ` DervishD
2005-01-09 12:59 ` Jesper Juhl
1 sibling, 1 reply; 10+ messages in thread
From: Tomasz Torcz @ 2005-01-09 11:55 UTC (permalink / raw)
To: Michal Feix; +Cc: linux-kernel
On Sun, Jan 09, 2005 at 12:35:41PM +0100, Michal Feix wrote:
> > Are you using proper kernel headers - from
> >http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ ?
>
> No, I am not, because I wasn't told to do so. For meny years I always
> used vanilla sources from kernel.org for my /usr/include/... I wasn't
> told, that it is wrong and I still believe, that Linux kernel headers
> should be fixed by including these conflicting macros and functions into
> __KERNEL__ block instead. Or am I missing something?
According to Linus, using straight kernel headers for /usr/include
is obsolete for 10 (ten) years now. I do not agree, but kernel
developers do.
There was few discussion on this topic. Here's one Linus post:
http://www.ussg.iu.edu/hypermail/linux/kernel/0007.3/0587.html
Here you can find latest thread about fixing this issue:
http://lkml.org/lkml/2004/11/26/106
Mainstream distributions use ,,sanitized'' version o kernel
headers - Fedora has own set, Debian has another, LFS too. For rest and
for us, casual users, there are headers made as byproduct of PLD
Linux, which are used since december 2003 (before kernel 2.6 was
even released).
Cheers,
--
Tomasz Torcz Only gods can safely risk perfection,
zdzichu@irc.-nie.spam-.pl it's a dangerous thing for a man. -- Alia
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Conflicts in kernel 2.6 headers and {glibc,Xorg}
2005-01-09 11:55 ` Tomasz Torcz
@ 2005-01-09 12:25 ` DervishD
2005-01-09 12:31 ` Arjan van de Ven
0 siblings, 1 reply; 10+ messages in thread
From: DervishD @ 2005-01-09 12:25 UTC (permalink / raw)
To: Michal Feix, linux-kernel
Hi All :)
* Tomasz Torcz <zdzichu@irc.pl> dixit:
> Mainstream distributions use ,,sanitized'' version o kernel
> headers - Fedora has own set, Debian has another, LFS too. For rest
> and for us, casual users, there are headers made as byproduct of
> PLD Linux, which are used since december 2003 (before kernel 2.6
> was even released).
But the set of sanitized kernel headers, if you build your own
software and you're not using a distro, is only available for 2.6.x
kernels, not for 2.4.x kernels. What should be done for 2.4 kernels?
I currently use a set of headers from the 2.4 kernel I used to build
my libc, not the headers from the current kernel I'm running, but I
would like to know anyway.
Raúl Núñez de Arenas Coronado
--
Linux Registered User 88736
http://www.dervishd.net & http://www.pleyades.net/
It's my PC and I'll cry if I want to...
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Conflicts in kernel 2.6 headers and {glibc,Xorg}
2005-01-09 12:25 ` DervishD
@ 2005-01-09 12:31 ` Arjan van de Ven
2005-01-09 15:02 ` DervishD
0 siblings, 1 reply; 10+ messages in thread
From: Arjan van de Ven @ 2005-01-09 12:31 UTC (permalink / raw)
To: DervishD; +Cc: Michal Feix, linux-kernel
On Sun, 2005-01-09 at 13:25 +0100, DervishD wrote:
> Hi All :)
>
> * Tomasz Torcz <zdzichu@irc.pl> dixit:
> > Mainstream distributions use ,,sanitized'' version o kernel
> > headers - Fedora has own set, Debian has another, LFS too. For rest
> > and for us, casual users, there are headers made as byproduct of
> > PLD Linux, which are used since december 2003 (before kernel 2.6
> > was even released).
>
> But the set of sanitized kernel headers, if you build your own
> software and you're not using a distro, is only available for 2.6.x
> kernels, not for 2.4.x kernels.
The headers RH ships work for both...
>
> What should be done for 2.4 kernels?
> I currently use a set of headers from the 2.4 kernel I used to build
> my libc, not the headers from the current kernel I'm running, but I
> would like to know anyway.
.... and you can use 2.6 headers to build a glibc that works excellent
for 2.4 kernels too. The kernel API/ABI *does not change on this level*
between kernel versions. Things may get added, but they do not change.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Conflicts in kernel 2.6 headers and {glibc,Xorg}
2005-01-09 12:31 ` Arjan van de Ven
@ 2005-01-09 15:02 ` DervishD
0 siblings, 0 replies; 10+ messages in thread
From: DervishD @ 2005-01-09 15:02 UTC (permalink / raw)
To: Arjan van de Ven; +Cc: Michal Feix, linux-kernel
Hi Arjan :)
* Arjan van de Ven <arjan@infradead.org> dixit:
> > But the set of sanitized kernel headers, if you build your own
> > software and you're not using a distro, is only available for 2.6.x
> > kernels, not for 2.4.x kernels.
> The headers RH ships work for both...
Did not know...
> > What should be done for 2.4 kernels?
> > I currently use a set of headers from the 2.4 kernel I used to build
> > my libc, not the headers from the current kernel I'm running, but I
> > would like to know anyway.
> .... and you can use 2.6 headers to build a glibc that works excellent
> for 2.4 kernels too. The kernel API/ABI *does not change on this level*
> between kernel versions. Things may get added, but they do not change.
That's perfect then :))) No problem about the headers then. When
I recompile my glibc I'll pick the latest libc-kernel-headers
available. Thanks a lot for the information, Arjan :))
Raúl Núñez de Arenas Coronado
--
Linux Registered User 88736
http://www.dervishd.net & http://www.pleyades.net/
It's my PC and I'll cry if I want to...
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Conflicts in kernel 2.6 headers and {glibc,Xorg}
2005-01-09 11:35 ` Michal Feix
2005-01-09 11:55 ` Tomasz Torcz
@ 2005-01-09 12:59 ` Jesper Juhl
1 sibling, 0 replies; 10+ messages in thread
From: Jesper Juhl @ 2005-01-09 12:59 UTC (permalink / raw)
To: Michal Feix; +Cc: linux-kernel, Tomasz Torcz
On Sun, 9 Jan 2005, Michal Feix wrote:
> > > First, I'm not on kernel mailing list so please CC any replies to me.
> > > Thank you.
> > >
> > > Yesterday I was recompiling my Linux from Scratch distribution for the
> > > first time with Linux kernel 2.6.10 headers as a base for glibc. I've
> > > found, that glibc (and XOrg later on too) won't compile, as there is a
> > > conflict in certain functions or macros that glibc and Kernel headers both
> > > define.
> >
> >
> > Are you using proper kernel headers - from
> > http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ ?
>
> No, I am not, because I wasn't told to do so. For meny years I always used
> vanilla sources from kernel.org for my /usr/include/... I wasn't told, that it
> is wrong and I still believe, that Linux kernel headers should be fixed by
> including these conflicting macros and functions into __KERNEL__ block
> instead. Or am I missing something?
>
I think you'll find these links informative :
http://www.kernelnewbies.org/faq/
- read the section entitled "What's going on with the kernel headers ?"
http://uwsg.iu.edu/hypermail/linux/kernel/0007.3/0587.html
- that's Linus' own explanation of the header issue.
http://groups-beta.google.com/group/linux.kernel/msg/9c467432e123860a?q=kernel+headers+user+space+group:linux.kernel&rnum=2
- a bit more from Linus
--
Jesper Juhl
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Conflicts in kernel 2.6 headers and {glibc,Xorg}
2005-01-09 11:08 ` Tomasz Torcz
2005-01-09 11:35 ` Michal Feix
@ 2005-01-09 16:06 ` George Georgalis
1 sibling, 0 replies; 10+ messages in thread
From: George Georgalis @ 2005-01-09 16:06 UTC (permalink / raw)
To: linux-kernel, michal
On Sun, 9 Jan 2005 12:08:05 +0100, Tomasz Torcz <zdzichu@irc.pl> wrote:
> On Sun, Jan 09, 2005 at 10:20:45AM +0100, Michal Feix wrote:
> > Hello evereyone!
> >
> > First, I'm not on kernel mailing list so please CC any replies to me.
> > Thank you.
> >
> > Yesterday I was recompiling my Linux from Scratch distribution for the
> > first time with Linux kernel 2.6.10 headers as a base for glibc. I've
> > found, that glibc (and XOrg later on too) won't compile, as there is a
> > conflict in certain functions or macros that glibc and Kernel headers
> > both define.
>
> Are you using proper kernel headers - from
> http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ ?
I with 2.6.10 a problem came up that had me looking into this too.
Using gcc 3.3.3, my xfree86 is built from cvs release xf-4_4-branch.
When I tried 2.6.10, it built with no problems.
To the best of my knolege, xfree86 is not including any kernel
headers, my source is not where any package would know to look and
there don't seem to be any distro (woody) kernel header packages
installed. I could be wrong, but I don't know where they might be
found, or that I ever needed them for this xfree86 build.
The problem is running X, my display is littered with flashing bits,
as if the card is rendering some cpu register or bus in 2% of the
display.
02:00.0 VGA compatible controller: nVidia Corporation: Unknown device
01f0 (rev a3) (prog-if 00 [VGA])
Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 16
Memory at ea000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (32-bit, prefetchable) [size=64M]
Memory at e4000000 (32-bit, prefetchable) [size=512K]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: [60] Power Management version 2
Capabilities: [44] AGP version 2.0
Is this due to namespace collision? Do I have to take extra
precautions with 2.6.10?
// George
--
George Georgalis, systems architect, administrator Linux BSD IXOYE
http://galis.org/george/ cell:646-331-2027 mailto:george@galis.org
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2005-01-09 16:06 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-09 9:20 Conflicts in kernel 2.6 headers and {glibc,Xorg} Michal Feix
2005-01-09 11:06 ` Chris Lingard
2005-01-09 11:08 ` Tomasz Torcz
2005-01-09 11:35 ` Michal Feix
2005-01-09 11:55 ` Tomasz Torcz
2005-01-09 12:25 ` DervishD
2005-01-09 12:31 ` Arjan van de Ven
2005-01-09 15:02 ` DervishD
2005-01-09 12:59 ` Jesper Juhl
2005-01-09 16:06 ` George Georgalis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).