On Tue, Dec 02, 2003 at 08:02:37AM -0600, Jeremy White wrote: > >>I'm considering getting an Opteron. With this being a 64bit CPU I > >>wondered if there would be any issues with using WINE to make use of > >>win32 software on this 64bit CPU. > > > > > >There are no issues. > > > >SUSE LINUX 9.0 for AMD64 is capable of running all WINE products, > >including regular WINE, CrossOver Office, CrossOver Plugin and WineX > >in the 32bit compat mode. > > Okay, I read that to mean that you can run already built > 32 bit binary versions of Wine. > > What about compiling? Would compiling Wine on an Opteron > work? Hmm. I suppose you could cross compile to 32 bit, > couldn't you.
Well, I do ;)
SUSE 9.0 comes with full biarch toolchain support on AMD64.
Before you start, install additionaly to the default packages:
glibc-devel-32bit
freetype2-devel-32bit
XFree86-devel-32bit
XFree86-Mesa-devel-32bit
fontconfig-devel-32bit
openssl-devel-32bit
ncurses-devel-32bit
alsa-32bit
and any dependend rpms.
Then:
export LD="ld -m elf_i386"
CC="gcc -m32" AS="gcc -c -m32" \
./configure --prefix=/usr --x-libraries=/usr/X11R6/lib
make depend all
The -m32 switches gcc to 32bit mode.
If you have arts-devel installed, you might need to patch
dlls/winmm/winearts/Makefile and replace lib64 by lib.
You will also need attached winebuild patch that uses "LD" from the environment.
Ciao, Marcus
diff -x CVS -ruN wine-20030217/tools/winebuild/import.c
marcus-wine-20030217/tools/winebuild/import.c
--- wine-20030217/tools/winebuild/import.c 2002-12-20 01:36:18.000000000 +0100
+++ marcus-wine-20030217/tools/winebuild/import.c 2003-01-13 17:54:10.000000000
+0100
@@ -569,7 +569,7 @@
static const char *ldcombine_files( char **argv )
{
int i, len = 0;
- char *cmd;
+ char *cmd, *ldcmd;
int fd, err;
if (output_file_name && output_file_name[0])
@@ -584,9 +584,11 @@
close( fd );
atexit( remove_ld_tmp_file );
+ ldcmd = getenv("LD");
+ if (!ldcmd) ldcmd="ld";
for (i = 0; argv[i]; i++) len += strlen(argv[i]) + 1;
- cmd = xmalloc( len + strlen(ld_tmp_file) + 10 );
- sprintf( cmd, "ld -r -o %s", ld_tmp_file );
+ cmd = xmalloc( len + strlen(ld_tmp_file) + 10 + strlen(ldcmd) );
+ sprintf( cmd, "%s -r -o %s", ldcmd, ld_tmp_file );
for (i = 0; argv[i]; i++) sprintf( cmd + strlen(cmd), " %s", argv[i] );
err = system( cmd );
if (err) fatal_error( "ld -r failed with status %d\n", err );
pgp00000.pgp
Description: PGP signature
