Summary: | Compilation error on x86-64 due to redefinion of __u64 in cdromAccess.ccpp | ||
---|---|---|---|
Product: | [Unmaintained] mpeglib | Reporter: | james |
Component: | general | Assignee: | Unassigned bugs mailing-list <unassigned-bugs> |
Status: | RESOLVED UNMAINTAINED | ||
Severity: | normal | CC: | cfeck, francesco |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
james
2005-01-16 21:18:56 UTC
Ooops, mistake in the above. Don't use. The kernel's definition of __u64 for x86-64 appears to be unsigned long long, conflicting with the word size test used. Changing #if __WORDSIZE == 64 to #if __WORDSIZE == 64 && !defined(__x86_64__) fixes it for me. And should fix it for all x86-64 users. Can someone apply this, because as of Gentoo patch applied to 3.4.0 which works here: --- mpeglib/lib/input/cdromAccess.cpp.org 2005-02-02 14:06:28.000000000 +0100 +++ mpeglib/lib/input/cdromAccess.cpp 2005-02-02 14:07:30.000000000 +0100 @@ -27,6 +27,9 @@ #include <sys/types.h> #ifndef __u64 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,70) + #ifdef __x86_64__ + typedef unsigned long long __u64; + #else #include <bits/wordsize.h> #if __WORDSIZE == 64 typedef unsigned long __u64; @@ -35,6 +38,7 @@ #endif #endif #endif + #endif #include "cdromAccess_Linux.cpp" #endif *** Bug 100476 has been marked as a duplicate of this bug. *** This component has been replaced with Phonon in KDE 4. If this issue still needs to be addressed, please add a comment, or report it for Phonon. |