On Tue, May 6, 2008 at 12:21 PM, Andrew Cid <[EMAIL PROTECTED]> wrote:
> Hi all,
>
>  I have an i386 jail running on an amd64 host that I use to build
>  packages.  Most packages build fine, however I have a few that fail.
>  This includes xorg (dri won't build) and mplayer.  In all cases I get an
>  error messages similar to this:
>
>  {standard input}:147: Error: `(%rsi)' is not a valid 32 bit base/index 
> expression
>  {standard input}:148: Error: `(%rsi,%rax)' is not a valid 32 bit base/index 
> expression
>  gmake[1]: *** [pullup.o] Error 1
>
>  Any ideas how I can fix this?

There are some tricks you can play. Notably, you need to trick auto*
tools into thinking it's an i386 system. I think setting UNAME_m=i386
does the trick there:

> uname -a
FreeBSD pflog.net 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Tue Feb 26
01:20:52 EST 2008     [EMAIL PROTECTED]:/usr/obj/usr/src/sys/PFLOG  amd64
> setenv UNAME_m i386
> uname -a
FreeBSD pflog.net 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Tue Feb 26
01:20:52 EST 2008     [EMAIL PROTECTED]:/usr/obj/usr/src/sys/PFLOG  i386

I believe there is something else I'm forgetting that you need to do
to make compilation happy for some ports, but I can't recall them at
the moment.

Of course, things that expect to talk to an i386 kernel aren't going
to work, and you may have issues with things that use hand-written
ASM.

Try setting UNAME_m though and see if it helps. It might also be wise
to set ARCH=i386 and/or TARGET_ARCH=i386 in /etc/ports.conf.

Josh
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to