Re: trouble building garnome 10.0.1 (hal related)



The kernel include files stored under /usr/include are often those that
were used to build the installed version of glibc on your system and do
not necessarily match the version of your kernel.  For example, on
YDL-4.0.1, which runs a 2.6.10 kernel, the include files are from 2.4.20
[see /usr/include/linux/version.h]. This practice seems to be typical of
redhat based clones. That being said, there have been a number of
problems with the kernel include files that have been fixed going from
2.4.20 -> 2.6.11. 


The problem you encountered may be in


        /usr/include/linux/prio_tree.h


If so,

        add below "#define _LINUX_PRIO_TREE_H":

                #ifndef pgoff_t
                #define pgoff_t unsigned long
                #endif


Others I have patched along the way are 

        /usr/include/sys/uio.h

to correct an identifier naming conflict that only arises on
PPC's that support AltiVec [__vector is he name of a type for AltiVec
and should not be blindly used as an arbitrary identifier.]

and
        /usr/include/linux/mod_devicetable.h
        /usr/include/linux/byteorder/big_endian.h
        /usr/include/linux/byteorder/little_endian.h
        /usr/include/linux/crc-ccitt.h
	/usr/include/linux/prio_tree.h

to deal with type definitions for things that are defined in
<linux/types.h>.


-Joseph

=======================================================================
On Sun, 2005-03-20 at 14:31, Joachim Feise wrote:
> I got the same problem. I traced it to a missing define:
> /usr/include/linux/fs.h is included in the check for BLKGETSIZE64, and
> that file uses the typedef pgoff_t.
> It is in /usr/include/linux/types.h, but only available there for the
> kernel.
> This only happens if your /usr/include/linux is a link to the kernel
> includes (which I think is bad, since it introduces dependencies based
> on the kernel version...):
> > l /usr/include/linux
> lrwxrwxrwx  1 root root 28 Dec 16 12:38 /usr/include/linux ->
> /usr/src/linux/include/linux/
> I'm using kernel 2.6.10, btw.:
> l /usr/src/linux
> lrwxrwxrwx  1 root root 12 Feb 13 18:28 /usr/src/linux -> linux-2.6.10/
> 
> My workaround was to just add the define:
> --- configure.orig      2005-01-24 18:46:24.000000000 -0800
> +++ configure   2005-03-20 11:21:25.000000000 -0800
> @@ -22784,6 +22784,9 @@
>  cat >>conftest.$ac_ext <<_ACEOF
>  /* end confdefs.h.  */
>  #include <sys/types.h>
> +#ifndef pgoff_t
> +#define pgoff_t unsigned long
> +#endif
>  #include <linux/ioctl.h>
>  #include <linux/fs.h>
>  int
> 
> -Joe
-- 
joseph_sacco[at]comcast[dot]net




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]