Summary: | kdemultimedia 3.3.2 failed on compile cdromAccess.lo | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Chris Germano <netslayer> |
Component: | New packages | Assignee: | Dylan Carlson (RETIRED) <absinthe> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | bdb, bugzilla, sal, spamtrap, whytar_regis |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Chris Germano
2004-12-19 11:32:17 UTC
*** Bug 74973 has been marked as a duplicate of this bug. *** Another report on the gentoo forum: http://forums.gentoo.org/viewtopic.php?p=1895989 I got the same error on kdemultimedia-3.3.1 (stable amd64). The root cause is the patch kdemultimedia-amd64.patch. It tests for __u64 by using '#ifndef __u64'. But in bits/types.h __u64 is a 'typedef .... __u64' which can not be tested using #ifdef. My suggestion is to remove the application of the patch 'kdemultimedia-amd64.patch' from the ebuild. hi ladies and gents: I have a new build here on an amd64 system---(install is quite painful, actually, w/o mkinitrd, lilo, 8139too built-in, kde failure, mozilla compile failure due to nsGnome, etc.) anyway, back to the topic: an "emerge kde" wants to build kde 3.3.1 here, and it, too, suffers from this bug. In file included from cdromAccess_Linux.cpp:16, from cdromAccess.cpp:38: /usr/include/asm/types.h:29: error: conflicting declaration 'typedef long long u nsigned int __u64' cdromAccess.cpp:32: error: '__u64' has a previous declaration as `typedef long u nsigned int __u64' /usr/include/asm/types.h:29: error: declaration of `typedef long long unsigned i nt __u64' -------------- Gentoo Base System version 1.4.16 Portage 2.0.51-r3 (default-linux/amd64/2004.3, gcc-3.4.3, glibc-2.3.4.20040808-r 1, 2.6.9-gentoo-r9 x86_64) ================================================================= System uname: 2.6.9-gentoo-r9 x86_64 AMD Athlon(tm) 64 Processor 3000+ Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.90.0.1.1-r3 Headers: sys-kernel/linux26-headers-2.6.6-r1 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3 /env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /us r/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ / usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/sha re/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon64 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox" GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/dis tributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X acpi alsa berkdb bitmap-fonts cdr crypt cups curl dvd dvdr esd f77 fam fbcon fortran g77 gdbm gif gnome gpm gtk imlib ipv6 jp2 jpeg kde libwww lzw lzw-tiff mpeg multilib ncurses nls opengl oss pam perl png python qt readline ss l tcpd tetex tiff truetype usb userlocales xml2 xpm xrandr xv zlib" Hello. I too have the same issue but with kdemultimedia-3.3.1. Emerge info is below. emerge info Portage 2.0.51-r3 (default-linux/amd64/2004.3, gcc-3.4.3, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r9 x86_64) ================================================================= System uname: 2.6.9-gentoo-r9 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.90.0.1.1-r3 Headers: sys-kernel/linux26-headers-2.6.8.1-r1 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CFLAGS="-march=athlon64 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon64 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox" GENTOO_MIRRORS="http://gentoo.mirrors.pair.com" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X acpi alsa berkdb bitmap-fonts cdr crypt dvdr f77 fam fortran gif gpm ipv6 jp2 jpeg kde lzw lzw-tiff multilib ncurses nls opengl oss pam perl png python qt readline ssl tcpd tiff truetype usb userlocales xml2 xpm xrandr xv zlib" I confirm this is still a bug. Doing yesterday "emerge --sync" and then "emerge -av kde", gave me this wonderful error today in the morning: /bin/sh ../../../libtool --silent --mode=compile --tag=CXX x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -I/usr/kde/3.3/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -DNDEBUG -DNO_DEBUG -O2 -O2 -march=k8 -ffast-math -fomit-frame-pointer -mfpmath=sse -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -fpermissive -c -o cdromAccess.lo cdromAccess.cpp In file included from cdromAccess_Linux.cpp:16, from cdromAccess.cpp:38: /usr/include/asm/types.h:29: error: conflicting declaration 'typedef long long unsigned int __u64' cdromAccess.cpp:32: error: '__u64' has a previous declaration as `typedef long unsigned int __u64' /usr/include/asm/types.h:29: error: declaration of `typedef long long unsigned int __u64' cdromAccess.cpp:32: error: conflicts with previous declaration `typedef long unsigned int __u64' /usr/include/asm/types.h:29: error: declaration of `typedef long long unsigned int __u64' cdromAccess.cpp:32: error: conflicts with previous declaration `typedef long unsigned int __u64' make[4]: *** [cdromAccess.lo] Error 1 make[4]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.1/work/kdemultimedia-3.3.1/mpeglib/lib/input' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.1/work/kdemultimedia-3.3.1/mpeglib/lib' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.1/work/kdemultimedia-3.3.1/mpeglib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/kdemultimedia-3.3.1/work/kdemultimedia-3.3.1' make: *** [all] Error 2 !!! ERROR: kde-base/kdemultimedia-3.3.1 failed. # emerge --info Portage 2.0.51-r3 (default-linux/amd64/2004.3, gcc-3.4.3, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r1 x86_64) ================================================================= System uname: 2.6.9-gentoo-r1 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.90.0.1.1-r3 Headers: sys-kernel/linux26-headers-2.6.8.1-r1 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CFLAGS="-O3 -march=k8 -ffast-math -fomit-frame-pointer -mfpmath=sse -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops" CHOST="x86_64-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=k8 -ffast-math -fomit-frame-pointer -mfpmath=sse -funit-at-a-time -fpeel-loops -ftracer -funswitch-loops" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox" GENTOO_MIRRORS="http://gentoo.prz.rzeszow.pl http://src.gentoo.pl http://gentoo.netnitco.net http://gentoo.inode.at" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://gentoo.prz.rzeszow.pl/gentoo-portage" USE="amd64 X acl acpi aim alsa artworkextra avi bash-completion berkdb bitmap-fonts cdr crypt cups dio divx4linux doc dvd dvdr encode esd evo f77 fam fortran gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml icq imap imlib inifile innodb ipv6 jabber java jp2 jpeg kde lzw lzw-tiff mime mozilla mozsvg mozxmlterm mpeg msn multilib mysql ncurses nls nptl oggvorbis opengl oss pam pcre pdflib perl php pic png postgres python qt quicktime readline samba slang soap spell ssl svg tcpd tidy tiff truetype unicode usb usepackagedmakefiles userlocales videos wmf xml2 xmlrpc xmms xpm xrandr xsl xv xvid yahoo zlib linguas_pl" I will try the abovementioned suggestion to drop the patch 'kdemultimedia-amd64.patch' from the ebuild. Regards, Wiktor Wandachowicz Actually it looks like it would be safe to remove 'kdemultimedia-amd64.patch'. I did a very simple C program just for testing, and it seems that __u64 could safely be declared as unsigned long long: === cuint64.c === #include <stdio.h> int main (void) { unsigned long ulong64 = 55; unsigned long long ulonglong = 44; printf("C compiler test\n"); printf("unsigned long 64-bit is %d bytes long\n", sizeof(ulong64)); printf("unsigned long long is %d bytes long\n", sizeof(ulonglong)); return 0; } ====== $ gcc cuint64.c -o cuint64 $ ./cuint64 C compiler test unsigned long 64-bit is 8 bytes long unsigned long long is 8 bytes long ====== Regards, Wiktor Wandachowicz Yup, a quick and dirty hack and commenting out the line for epatch: src_unpack() { kde_src_unpack cd ${S} # epatch ${FILESDIR}/${PN}-64bit.patch } in the /usr/portage/kde-base/kdemultimedia/kdemultimedia-3.3.1.ebuild solved my urgent problem - kdemultimedia-3.3.1 emerged without a scratch. From: http://bugs.gentoo.org/show_bug.cgi?id=74666 I deducted that the original patch was intented for ppc64 only. Maybe the patch should NOT be included in amd64? I think about the file: /usr/portage/kde-base/kdemultimedia/files/kdemultimedia-64bit.patch Regards, Wiktor Wandachowicz Is this the official resolution then? If so, will it make it into portage? Working on it. (testing) Committed, thanks. Re-merge kdemultimedia if you want to test it. Reopen this bug if this particular compile problem is still present. Index: kdemultimedia-3.3.2.ebuild =================================================================== RCS file: /var/cvsroot/gentoo-x86/kde-base/kdemultimedia/kdemultimedia-3.3.2.ebuild,v retrieving revision 1.3 retrieving revision 1.4 diff -u -b -B -r1.3 -r1.4 --- kdemultimedia-3.3.2.ebuild 18 Dec 2004 22:29:00 -0000 1.3 +++ kdemultimedia-3.3.2.ebuild 23 Dec 2004 19:53:31 -0000 1.4 @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/kde-base/kdemultimedia/kdemultimedia-3.3.2.ebuild,v 1.3 2004/12/18 22:29:00 corsair Exp $ +# $Header: /var/cvsroot/gentoo-x86/kde-base/kdemultimedia/kdemultimedia-3.3.2.ebuild,v 1.4 2004/12/23 19:53:31 absinthe Exp $ inherit kde-dist flag-o-matic eutils @@ -25,7 +25,10 @@ src_unpack() { kde_src_unpack cd ${S} + # bug 74961 + if [ "${ARCH}" != "amd64" ] ; then epatch ${FILESDIR}/${PN}-64bit.patch + fi } src_compile() { Can you add this to the kdemultimedia-3.3.1 ebuild also since it is the tested build? *** Bug 75939 has been marked as a duplicate of this bug. *** *** Bug 75966 has been marked as a duplicate of this bug. *** Synced yesterday, I still get the same error with kde-base/mpeglib-3.4.0_beta1 |