On Monday 16 October 2006 16:52, Jeff Dike wrote:
> On Sat, Oct 14, 2006 at 02:52:21AM +0200, Blaisorblade wrote:
> > Sorry Jeff, here you are wrong (partly because it was me to fix that
> > piece, and you never used it, as it seems). I made sure that SUBARCH=i386
> > does everything which is needed to build a working 32bit UML binary, and
> > I rarely build UML otherwise - I've used it on Gentoo, Ubuntu 6.06 now
> > and for a while on Suse 10.1 (if it was 10.1... - the newest one which
> > was available this July).
>
> OK, I never noticed that - and I never tried a crossbuild (until
> recently, see below), as you guessed.
>
> Andrew recently complained about it not working, and I tried it,
> getting this very early in the build:
>
> In file included from /usr/include/features.h:352,
>                  from /usr/include/stdio.h:28,
>                  from
> /home/jdike/linux/2.6/linux-2.6.17/arch/um/sys-i386/user-offsets.c:1:
> /usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or
> directory
>
> When I get compilation errors from inside gcc headers, I get the
> feeling that either I'm trying something that isn't supposed to work
> or something is very wrong with gcc.
>
> Any ideas?

stubs.h redirecting to stubs-32.h? I deduce that stubs.h, on your distro 
(Fedora/RH, right?) is (correctly) deciding to use the 32bit version of that 
header, and I can suppose it is maybe packaged elsewhere, or that it is 
located somewhere else (in this case we have screwed the search path somehow, 
even if I can't realize how).

On my Ubuntu system, stubs.h has no such switch, while /usr/include/asm/* 
redirect to either asm-i386 or asm-x86_64 (I remember this also on Gentoo):

/usr/include/asm/a.out.h

/* All asm/ files are generated and point to the corresponding
 * file in asm-i386 or asm-x86_64. To regenerate, run "generate-asm"
 */

#ifndef __i386STUB__A_OUT_H__
#define __i386STUB__A_OUT_H__

#ifdef __x86_64__
#include <asm-x86_64/a.out.h>
#else
#include <asm-i386/a.out.h>
#endif

#endif /* !__i386STUB__A_OUT_H__ */

This is the reason for which I removed -U__i386__ and -U__x86_64__ from 
command line for userspace files.
-- 
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!".
Paolo Giarrusso, aka Blaisorblade
http://www.user-mode-linux.org/~blaisorblade
Chiacchiera con i tuoi amici in tempo reale! 
 http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com 


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user

Reply via email to