[uClibc]uClibc compilation... or not

Erik Andersen andersen at lineo.com
Thu Dec 21 20:52:20 UTC 2000


On Thu Dec 21, 2000 at 03:05:21PM -0500, Andy Dickinson wrote:
> ok, I've done the follwing
[-----------------snip----------------]
> I still get the same error. 
[-----------------snip----------------]
> > In file included from getdents.c:43:
> > ../../../include/linux/dirent.h:12: parse error before `__u64'
> > ../../../include/linux/dirent.h:12: warning: no semicolon at end of struct
> > or union

For curiousity's sake, what does 'cat include/linux/version.h' show?  Ahh.  ok,
I see.  I'll bet you 3 millions dollars you are compiling against a 2.4.x
kernel.  In the 2.4.x kernels, a dirent64 struct was added that uses types
__u64 and __s64 types -- types not understood by uClibc at the moment.  The
real bug here though, which I should have noticed immedately on your first
email, is the fact that getdents.c is directly using kernel headers. It
shouldn't be doing that -- I have made it a strict policy that nothing in the
uClibc library is supposed to use kernel header files.  Now fixed in CVS. 

Care to do a 'cvs up' and try again?

 -Erik

--
Erik B. Andersen   email:  andersen at lineo.com
--This message was written using 73% post-consumer electrons--





More information about the uClibc mailing list