[Lunar Linux 0000308]: kdemultimedia3 module does not compile under
linux 2.4.21
noreply at bugs.lunar-linux.org
noreply at bugs.lunar-linux.org
Wed Sep 24 18:54:26 GMT 2003
The following bug has been CLOSED
=======================================================================
http://bugs.lunar-linux.org/view_bug_page.php?f_id=0000308
=======================================================================
Reporter: florin
Handler: niki
=======================================================================
Project: Lunar Linux
Bug ID: 0000308
Category: base
Reproducibility: always
Severity: minor
Priority: normal
Status: closed
=======================================================================
Date Submitted: 2003-06-24 15:53 GMT
Last Modified: 2003-09-24 18:54 GMT
=======================================================================
Summary: kdemultimedia3 module does not compile under linux 2.4.21
Description:
the kdemultimedia3 module does not compile under linux 2.4.21. it is the
same bug which was occuring in the linux 2.4.20 with aggressive patch.
responsible for this are the changes in the
/usr/include/asm/byteorder.h
/usr/include/linux/byteorder/swab.h
header files. i think this must be fixed by the kde team.
=======================================================================
-----------------------------------------------------------------------
florin - 2003-06-24 16:15 GMT
-----------------------------------------------------------------------
I have reported the bug to the kde site. Here is the email i have
received:
http://bugs.kde.org/show_bug.cgi?id=60315
Summary: doesn't compile on linux-2.4.21
Product: kdemultimedia
Version: unspecified
Platform: Compiled Sources
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: NOR
Component: general
AssignedTo: kde-multimedia at kde.org
ReportedBy: braescu_f at yahoo.com
Version: 3.1.2 (using KDE KDE 3.1.2)
Installed from: Compiled From Sources
Compiler: gcc 3.2.3
OS: Linux
In linux-2.4.21 version the changes in some include headers broke the
compilation of kdemultimedia 3.1.2 package. Here is the last part of the
compile log:
...
creating kaudiocreator.all_cpp.cpp ...
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/lunar/kde/3/include
-I/opt/lunar/qt/3/include -I/usr/X11R6/include -static -Wall
-DDATADIR=\"/opt/lunar/kde/3/share/apps/kaudiocreator\"
-DQT_THREAD_SUPPORT
-D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W
-Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi
-D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -DNDEBUG
-DNO_DEBUG -O2 -O2
-mcpu=athlon-xp -march=athlon-xp -fomit-frame-pointer -mmmx -msse
-m3dnow -mfpmath=sse,387 -Wno-deprecated -fno-exceptions -fno-check-new
-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -MT kaudiocreator.all_cpp.o -MD
-MP -MF ".deps/kaudiocreator.all_cpp.Tpo" \
-c -o kaudiocreator.all_cpp.o `test -f 'kaudiocreator.all_cpp.cpp' ||
echo './'`kaudiocreator.all_cpp.cpp; \
then mv ".deps/kaudiocreator.all_cpp.Tpo"
".deps/kaudiocreator.all_cpp.Po"; \
else rm -f ".deps/kaudiocreator.all_cpp.Tpo"; exit 1; \
fi
In file included from /usr/include/linux/cdrom.h:14,
from cdconfigimp.cpp:78,
from kaudiocreator.all_cpp.cpp:6:
/usr/include/asm/byteorder.h:38: syntax error before `(' token
/usr/include/asm/byteorder.h:42: '__u64' is used as a type, but is not
defined
as a type.
/usr/include/asm/byteorder.h:43: syntax error before `}' token
/usr/include/asm/byteorder.h:44: syntax error before `.' token
/usr/include/asm/byteorder.h:50: syntax error before `.' token
/usr/include/asm/byteorder.h:51: syntax error before `.' token
/usr/include/asm/byteorder.h:52: syntax error before `:' token
In file included from /usr/include/linux/byteorder/little_endian.h:11,
from /usr/include/asm/byteorder.h:65,
from /usr/include/linux/cdrom.h:14,
from cdconfigimp.cpp:78,
from kaudiocreator.all_cpp.cpp:6:
/usr/include/linux/byteorder/swab.h:199: syntax error before `(' token
/usr/include/linux/byteorder/swab.h:209: syntax error before `(' token
/usr/include/linux/byteorder/swab.h:213: `__u64' was not declared in
this scope
/usr/include/linux/byteorder/swab.h:213: `addr' was not declared in
this scope
/usr/include/linux/byteorder/swab.h:214: variable or field `__swab64s'
declared
void
/usr/include/linux/byteorder/swab.h:214: `__swab64s' declared as an
`inline'
variable
/usr/include/linux/byteorder/swab.h:214: syntax error before `{' token
In file included from kaudiocreator.all_cpp.cpp:6:
cdconfigimp.cpp:81: syntax error before `}' token
In file included from kaudiocreator.all_cpp.cpp:9:
queconfigimp.cpp: In member function `void QueConfigImp::addJob(Job*,
QString)':
queconfigimp.cpp:59: warning: unused variable `QueListViewItem*newItem'
In file included from kaudiocreator.all_cpp.cpp:11:
tracksconfigimp.cpp: In member function `void
TracksConfigImp::newSong(int,
QString, int)':
tracksconfigimp.cpp:390: warning: unused variable
`QListViewItem*newItem'
make[3]: *** [kaudiocreator.all_cpp.o] Error 1
make[3]: Leaving directory `/usr/src/kdemultimedia-3.1.2/kaudiocreator'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/src/kdemultimedia-3.1.2/kaudiocreator'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/kdemultimedia-3.1.2'
make: *** [all] Error 2
-----------------------------------------------------------------------
sofar - 2003-06-25 13:38 GMT
-----------------------------------------------------------------------
more info: http://bugs.kde.org/show_bug.cgi?id=52669
-----------------------------------------------------------------------
csm - 2003-08-06 00:10 GMT
-----------------------------------------------------------------------
This has turned out to be a kernel bug. To fix it use the following patch:
diff -Naur linux-2.4.21-old/include/linux/cdrom.h
linux-2.4.21/include/linux/cdrom.h
--- linux-2.4.21-old/include/linux/cdrom.h 2001-11-22 19:47:04.000000000
+0000
+++ linux-2.4.21/include/linux/cdrom.h 2003-07-09 10:19:14.000000000
+0000
at at -11,6 +11,8 at at
#ifndef _LINUX_CDROM_H
#define _LINUX_CDROM_H
+typedef unsigned long long __u64;
+
#include <asm/byteorder.h>
-----------------------------------------------------------------------
hardkrash - 2003-09-07 07:33 GMT
-----------------------------------------------------------------------
also adding a sedit to the configure file will fix this problem.
sedit ":=\"-ansi::g" configure
./configure ............
as this also breaks with 2.6.0-test4 i am adding this sedit to the BUILD
file.
-----------------------------------------------------------------------
hardkrash - 2003-09-07 23:18 GMT
-----------------------------------------------------------------------
well i was premature on removing the -ansi
so the real fix is a patch to the kernel
here it is...
this patch works on 2.4.20 +xfs and on 2.6.0-test4
--- /usr/src/linux-2.4.20/include/asm-i386/byteorder.h 2003-09-04
20:56:35.000000000 -0700
+++ asm-i386/byteorder.h 2003-09-07 13:58:21.000000000 -0700
@@ -34,7 +34,7 @@
return x;
}
-
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
static inline __u64 ___arch__swab64(__u64 val)
{
union {
@@ -55,10 +55,11 @@
}
#define __arch__swab64(x) ___arch__swab64(x)
+#define __BYTEORDER_HAS_U64__
+#endif
#define __arch__swab32(x) ___arch__swab32(x)
#define __arch__swab16(x) ___arch__swab16(x)
-#define __BYTEORDER_HAS_U64__
#endif /* __GNUC__ */
-----------------------------------------------------------------------
niki - 2003-09-24 18:53 GMT
-----------------------------------------------------------------------
The patch provided by Hardkrash has fixed the issue.
More information about the Lunar-bugs
mailing list