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