Red Hat Bugzilla – Bug 213453
Building kopete from svn source fails
Last modified: 2008-01-06 16:39:07 EST
Description of problem:
Building the cvs version of kopete fails. Error Message is:
/usr/include/linux/videodev2.h:716: error: '__s64' does not name a type
There is also a KDE bug report but the workaround suggested there doesn't fix
the problem for me.
Created attachment 139995 [details]
output of make
After massive google-use I found a working solution (for me). Add
typedef __signed__ long long __s64;
at the top in /usr/include/linux/videodev2.h
Confirmed on a fresh as well as on an upgraded FC6 installation.
This has bitten me on code that ultimately includes <asm/byteorder.h>. I saw
it because the included <asm/types.h> does not define __s64 or __u64 if
__STRICT_ANSI__ is set. This may be a mistaken attempt to avoid using the
long long types in ``ANSI C'', which makes sense for C89 but *not* for C99.
Something that checks if __STDC_VERSION__ < 199901L would be better.
<linux/types.h> makes the same mistake with the __le64 and __be64 types.
<asm/byteorder.h> also uses "asm" in one spot, and "__asm__" in another. The
latter is preferrable.
Finally, the package containing these files is no longer glibc-kernheaders:
rpm -qf /usr/include/asm/byteorder.h => kernel-headers-2.6.18-1.2849.fc6
on FC6. Bugzilla however has no entry for kernel-headers.
Should be fixed in Fedora 7. The correct component for this bug is now kernel,
because the kernel-headers package is built from the kernel srpm (spec).