Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 26185 - Kdemultimedia 3.1.3 compile fails
Summary: Kdemultimedia 3.1.3 compile fails
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: x86-kernel@gentoo.org (DEPRECATED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-08-08 01:23 UTC by Andrew McGuigan
Modified: 2003-09-04 21:49 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew McGuigan 2003-08-08 01:23:51 UTC
When compiling kdemultimedia 3.1.3 the compile always fails with the following 
no matter what compiler flags are in make.conf

Reproducible: Always
Steps to Reproduce:
1.emerge kdemultimedia with ~X86
Actual Results:  
make[4]: Entering directory `/var/tmp/portage/kdemultimedia-
3.1.3/work/kdemultimedia-3.1.3/kioslave/audiocd'
/bin/sh ../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -
I. -I. -I../.. -I/usr/kde/3.1/include -I/usr/qt/3/include -
I/usr/X11R6/include      -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wnon-virtual-dtor -
Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wwrite-strings -ansi -
D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -DNDEBUG -DNO_DEBUG -
O2 -mcpu=athlon -O2 -pipe -march=athlon -fno-exceptions -fno-check-new -
DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST  -c -o cddb.lo `test -f 'cddb.cpp' || 
echo './'`cddb.cpp
/bin/sh ../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -
I. -I. -I../.. -I/usr/kde/3.1/include -I/usr/qt/3/include -
I/usr/X11R6/include      -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wnon-virtual-dtor -
Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wwrite-strings -ansi -
D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -DNDEBUG -DNO_DEBUG -
O2 -mcpu=athlon -O2 -pipe -march=athlon -fno-exceptions -fno-check-new -
DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST  -c -o audiocd.lo `test -f 'audiocd.cpp' 
|| echo './'`audiocd.cpp
In file included from /usr/include/linux/cdrom.h:14,
                 from audiocd.cpp:57:
/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 audiocd.cpp:57:
/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
audiocd.cpp:74: syntax error before `}' token
audiocd.cpp: In member function `cdrom_drive*
   AudioCD::AudioCDProtocol::initRequest(const KURL&)':
audiocd.cpp:629: warning: deprecated conversion from string constant to `char*'
make[4]: *** [audiocd.lo] Error 1
make[4]: Leaving directory `/var/tmp/portage/kdemultimedia-
3.1.3/work/kdemultimedia-3.1.3/kioslave/audiocd'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/kdemultimedia-
3.1.3/work/kdemultimedia-3.1.3/kioslave/audiocd'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/kdemultimedia-
3.1.3/work/kdemultimedia-3.1.3/kioslave'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/kdemultimedia-
3.1.3/work/kdemultimedia-3.1.3'
make: *** [all] Error 2

!!! ERROR: kde-base/kdemultimedia-3.1.3 failed.
!!! Function kde_src_compile, Line 137, Exitcode 2
!!! died running emake, kde_src_compile:make
Comment 1 Paul de Vrieze (RETIRED) gentoo-dev 2003-08-08 05:01:25 UTC
What kernel are you using. Maybe you could install a standard kernel. Also make sure that it is configured, and make /usr/src/linux point to that kernel
Comment 2 Andrew McGuigan 2003-08-09 05:13:43 UTC
Tried with both linux-3.4.20-gaming-3 and r5
Comment 3 Caleb Tennis (RETIRED) gentoo-dev 2003-08-11 19:56:40 UTC
This does look like an issue with the kernel headers...going to reassign to the kernel folks. 
Comment 4 Tim Yamin (RETIRED) gentoo-dev 2003-08-13 12:34:06 UTC
This is indeed a [non-gentoo] kernel bug...

As per http://216.239.37.104/search?q=cache:v7cVoxawaYAJ:www.uwsg.iu.edu/hypermail/linux/kernel/0305.0/1096.html+In+file+included+from+/usr/include/linux/cdrom.h:14,%0D%0A+++++++++++++++++from+audiocd.cpp:57:&hl=en&ie=UTF-8 the following patch should fix this problem:-

=====

--- linux-2.4.21-rc1-orig/include/asm-i386/byteorder.h 2003-05-06 09:52:33.000000000 +0100
+++ linux-2.4.21-rc1-ac4-th/include/asm-i386/byteorder.h 2003-05-06 09:51:13.000000000 +0100
@@ -34,7 +34,7 @@
                 return x;
 }

-
+#ifndef __STRICT_ANSI__
 static inline __u64 ___arch__swab64(__u64 val)
 {
         union {
@@ -53,12 +53,17 @@
 #endif
         return v.u;
 }
+#endif /* !__STRICT_ANSI__ */

+#ifndef __STRICT_ANSI__
 #define __arch__swab64(x) ___arch__swab64(x)
+#endif
 #define __arch__swab32(x) ___arch__swab32(x)
 #define __arch__swab16(x) ___arch__swab16(x)

+#ifndef __STRICT_ANSI__
 #define __BYTEORDER_HAS_U64__
+#endif

 #endif /* __GNUC__ */ 
--- linux-2.4.21-rc1-orig/include/asm-i386/byteorder.h 2003-05-06 09:52:33.000000000 +0100
+++ linux-2.4.21-rc1-ac4-th/include/asm-i386/byteorder.h 2003-05-06 09:51:13.000000000 +0100
@@ -34,7 +34,7 @@
                 return x;
 }

-
+#ifndef __STRICT_ANSI__
 static inline __u64 ___arch__swab64(__u64 val)
 {
         union {
@@ -53,12 +53,17 @@
 #endif
         return v.u;
 }
+#endif /* !__STRICT_ANSI__ */

+#ifndef __STRICT_ANSI__
 #define __arch__swab64(x) ___arch__swab64(x)
+#endif
 #define __arch__swab32(x) ___arch__swab32(x)
 #define __arch__swab16(x) ___arch__swab16(x)

+#ifndef __STRICT_ANSI__
 #define __BYTEORDER_HAS_U64__
+#endif

 #endif /* __GNUC__ */ 
=====

Patch that against the kernel, and then copy over the byteorder.h file to /usr/include/asm
Comment 5 Andrew McGuigan 2003-08-16 06:28:41 UTC
Compile worked after upgrading to linux-headers to 2.4.19-1 
Comment 6 SpanKY gentoo-dev 2003-09-04 21:49:26 UTC
fyi, patch works for latest 2.6.x sources