When I try to emerge mpeglib-3.4.0_beta1, the build fails because of a typedef mismatch. Reproducible: Always Steps to Reproduce: 1.edit ebuild file to add ~amd64 2.emerge mpeglib 3. Actual Results: In file included from /usr/include/asm/types.h:7, from /usr/include/linux/types.h:14, from cdromAccess_Linux.cpp:17, from cdromAccess.cpp:38: /usr/include/asm/../asm-x86_64/types.h:32: 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/../asm-x86_64/types.h:32: 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/../asm-x86_64/types.h:32: 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]: *** Waiting for unfinished jobs.... inputDetector.cpp:21: warning: 'filestrglobal1' defined but not used inputDetector.cpp:22: warning: 'filestrglobal2' defined but not used make[4]: Leaving directory `/var/tmp/portage/mpeglib-3.4.0_beta1/work/mpeglib-3.4.0_beta1/mpeglib/lib/input' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/mpeglib-3.4.0_beta1/work/mpeglib-3.4.0_beta1/mpeglib/lib' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/mpeglib-3.4.0_beta1/work/mpeglib-3.4.0_beta1/mpeglib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/mpeglib-3.4.0_beta1/work/mpeglib-3.4.0_beta1' make: *** [all] Error 2 Expected Results: built and installed. If I manually resolve the error by editing cdromAccess.cpp, the build finishes as expected. Portage 2.0.51-r15 (default-linux/amd64/2005.0, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.10-gentoo-r6 x86_64) ================================================================= System uname: 2.6.10-gentoo-r6 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.6.9 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Jan 16 2005, 12:39:31)] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-O2 -pipe -mtune=k8" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/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/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/mail/dspam /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe -mtune=k8" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X aalib acpi alsa apache2 arts artswrappersuid audiofile berkdb bitmap-fonts cdr crypt cups cyrus dvd fam flac font-server foomaticdb gif gpm gtk imlib ipv6 java jp2 jpeg kde libclamav libwww lm_sensors lzw lzw-tiff motif multislot mysql ncurses nls nptl offensive oggvorbis opengl oss pam perl pic png python qt readline samba sasl slang ssl tcltk tcpd tetex tiff truetype truetype-fonts type1-fonts usb userlocales xml2 xmms xpm xrandr xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Probably, there's a problem with mpeglib/files/kdemultimedia-64bit.patch. Dan, lanius applied a patch to kdemultimedia-3.4.0_beta1, (kdemultimedia-3.4.0_beta1-amd64.patch), you may want to apply it to mpeglib, too.
The patch is alrady in mpeglib/files dir, but it's not applied for amd64 if [ "${ARCH}" != "amd64" ] ; then PATCHES="${FILESDIR}/kdemultimedia-64bit.patch" fi see bug #74961 for the reason. In kdemultimedia-3.4.0_beta1 monolithic ebuilds this patch is always applied for every arch. Any thought?
The patch for kdemultimedia-3.4.0_beta1 monolithic is a new version, made by lanius for amd64 (that's what the ChangeLog says). Maybe it will work for everyone?
diff says that they are the same. So I don't know...
no no, I was referring to /usr/portage/kde-base/kdemultimedia/files/kdemultimedia-3.4.0_beta1-amd64.patch, not /usr/portage/kde-base/kdemultimedia/files/kdemultimedia-64bit.patch sorry for the confusion
Oh... I overlooked at the ebuild. Thanks.
Is a patch still needed for beta2?
I can confirm i have the same problem on amd64, and that applying /usr/portage/kde-base/kdemultimedia/files/kdemultimedia-3.4.0_beta1-amd64.patch to the beta2 ebuild worked and solved the compilation failure.
Pulled in mpeglib-3.4.0_rc1 and applied the patch. This should fix the compilation problems.