Summary: | kde-base/kdenetwork-3.5.5 fails with sys-kernel/linux-headers-2.6.18 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Michael Cramer <portage> |
Component: | [OLD] KDE | Assignee: | Gentoo KDE team <kde> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | leio, masterdriverz, omgponies3, sdr, tekknokaetzi, toolchain |
Priority: | High | ||
Version: | 2006.1 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 159304 | ||
Attachments: | kdenetwork-3.5.5-linux-headers-2.6.18.patch |
Description
Michael Cramer
2006-10-14 15:00:05 UTC
'__s64' does not name a type .... shouldn't the kernel headers define its own type? The problem is with those headers, that are currently -* so it's not supported by KDE team for sure. Kernel team can you look? (In reply to comment #2) > The problem is with those headers, that are currently -* so it's not supported > by KDE team for sure. Kernel team can you look? kernel team also isn't supporting those headers .. (there is a reason _why_ they are marked with -*). *** Bug 151454 has been marked as a duplicate of this bug. *** toolchain: feel free just to close this if linux-headers-2.6.18 is known broken i would say this is a KDE problem __s64 requires non-strict ansi ... you're obviously building with -ansi so this isnt going to work previous headers we broke this behavior by always defining s64, but with 2.6.18 we're going for much less changes Sorry but I don't understand, please explain me, I do: #equery b /usr/include/linux/videodev2.h [ Searching for file(s) /usr/include/linux/videodev2.h in *... ] sys-kernel/linux-headers-2.6.17-r1 (/usr/include/linux/videodev2.h) the __s64 error is reported to be in that file, which belongs to linux headers, are you meaning that kde team has for this time the right to modify the linux-headers (toolchain herd) , that the error is reported to be in that file because gcc got drunk but is in reality in a kde package or what? i'm telling you that s64 is not supported when compiling with -ansi *** Bug 151639 has been marked as a duplicate of this bug. *** Ok, but the issue is: /usr/include/linux/videodev2.h:622: error: '__s64' does not name a type and /usr/include/linux/videodev2.h is a linux-headers file..... Don't this means that there's some "orphaned" non-ansi code in the videodev2.h file (the s64 definition was removed from linux-headers but not all its invocations)? If the s64 type was invoked in the kdenetwork package, shouldn't gcc report this error in a kdenetwork package file???? __s64 is defined in linux/types.h in line 98: #if defined(__GNUC__) && !defined(__STRICT_ANSI__) typedef __u64 uint64_t; typedef __u64 u_int64_t; typedef __s64 int64_t; #endif A similar error was reported here ( http://permalink.gmane.org/gmane.linux.lfs.beyond.support/35397 ) though its for joystick.h Oh, maybe I got it, linux headers ARE non-ansi code, and that is fine for linux headers, while it's not when compiling this package as strict ansi. Right? Created attachment 99873 [details]
kdenetwork-3.5.5-linux-headers-2.6.18.patch
I just susbstituted asm/types inlude with linux/types making sure that all
the linux headers include are where STRICT_ANSI is not defined.
Should work but please test (cause I can't)
with the patch, kopete will compile > Oh, maybe I got it, linux headers ARE non-ansi code, and that is fine for
> linux headers, while it's not when compiling this package as strict ansi.
which is why this is KDE's problem
it relies on code from the kernel that is non-ansi, yet it knowingly tries to use it anyways
your proposed patch looks "ok" to me
*** Bug 153741 has been marked as a duplicate of this bug. *** Committed. |