Attempt to install HAL 0.2.98 fails. Reproducible: Always Steps to Reproduce: 1.ACCEPT_KEYWORDS="~x86" emerge /usr/portage/sys-apps/hal/hal-0.2.98.ebuild Actual Results: Full output included as attachment. Ebuild stops with the following error. linux/block_class_device.c: In function `volume_set_size': linux/block_class_device.c:603: error: `u64' undeclared (first use in this function) linux/block_class_device.c:603: error: (Each undeclared identifier is reported only once linux/block_class_device.c:603: error: for each function it appears in.) make[3]: *** [block_class_device.o] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory `/var/tmp/portage/hal-0.2.98/work/hal-0.2.98/hald' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/hal-0.2.98/work/hal-0.2.98/hald' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/hal-0.2.98/work/hal-0.2.98' make: *** [all] Error 2 !!! ERROR: sys-apps/hal-0.2.98 failed. !!! Function src_compile, Line 38, Exitcode 2 !!! (no error message) Expected Results: Build. Portage 2.0.50-r11 (default-x86-2004.2, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.8-gentoo-r3) ================================================================= System uname: 2.6.8-gentoo-r3 i686 AMD Athlon(tm) Processor Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" CHOST="i686-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="-O2 -march=athlon-xp -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X alsa apm arts avi berkdb bitmap-fonts crypt cups encode esd foomaticdb gdbm gif gnome gnome2 gpm gtk gtk2 imlib jpeg kde libg++ libwww mad mikmod mmx motif mozilla mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang spell sse ssl svga tcpd truetype usb x86 xinerama xml2 xmms xprint xv zlib"
Created attachment 40082 [details] Output of ebuild
Please please please make attachments text and not the dreaded octet-stream.
get yourself linux headers to go with your kernel (2.6)
I don't want to install linux-2.6.x. The only thing that must be done is to declare u64 type, because it is defined only in kernel-space in linux-2.4: #define u64 __u64 or typedef __u64 u64; somewhere at the beginning of the hal-0.2.98/hald/linux/block_class_device.c, the maximum of effords is to include this defenition to #ifdef KERNEL_VERSION
foser, don't know if you wanna bother..but there is a patch here for hal to compile on a 2.4 kernel. Not sure how useful this is, since I am not aware of any sort of udev/sysfs backport going on, but here is the post for reference. http://freedesktop.org/pipermail/hal/2004-September/001061.html
we just go with the 2.6 headers dep. Yes its possible to disable it like that, but it messes with functionality there, plus that it probably can't be maintained very long.