You are not logged in.

#1 2009-02-08 22:23:14

speng
Member
Registered: 2009-01-17
Posts: 136

Compiling Wine (32-bit) on Arch64 with multilib

Now I know multilib is not officially supported by Arch, but I need to apply a patch to Wine before compiling it in order to be able to play a game.

I have installed all the lib32 files (well not all, not catalyst or glibs etc.) but I have all the needed libs.
So one would assume that I should be able to compile Wine, no?

Here is the output when I do a simple ./configure

22:05:16 [speng@spengpc [wine-1.1.14] 3.2]$ ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for cpp... cpp
checking whether gcc -m32 works... no
configure: error: Cannot build a 32-bit program, you need to install 32-bit development libraries.

Maybe it's not looking in the right location? Hmm, any ideas on how I could do this without chroot?



Thanks!


Edit:

Log output is:

configure:3464: $? = 0
configure:3471: g++ -v >&5
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr --enable-shared --enable-languages=c,c++,fortran,objc,obj-c++,treelang --enable-threads=posix --mandir=/usr/share/man --infodir=/usr/share/info --enable-__cxa_atexit --disable-multilib --libdir=/usr/lib --libexecdir=/usr/lib --enable-clocale=gnu --disable-libstdcxx-pch --with-tune=generic
Thread model: posix
gcc version 4.3.3 (GCC) 
configure:3475: $? = 0
configure:3482: g++ -V >&5
g++: '-V' option must have argument
configure:3486: $? = 1
configure:3489: checking whether we are using the GNU C++ compiler
configure:3518: g++ -c   conftest.cpp >&5
configure:3525: $? = 0
configure:3542: result: yes
configure:3551: checking whether g++ accepts -g
configure:3581: g++ -c -g  conftest.cpp >&5
configure:3588: $? = 0
configure:3689: result: yes
configure:3755: checking for cpp
configure:3771: found /usr/bin/cpp
configure:3782: result: cpp
configure:3811: checking whether gcc -m32 works
configure:3835: gcc -m32 -o conftest -g -O2   conftest.c  >&5
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-unknown-linux-gnu/4.3.3/libgcc.a when searching for -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-unknown-linux-gnu/4.3.3/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
collect2: ld returned 1 exit status
configure:3842: $? = 1
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "Wine"
| #define PACKAGE_TARNAME "wine"
| #define PACKAGE_VERSION "1.1.14"
| #define PACKAGE_STRING "Wine 1.1.14"
| #define PACKAGE_BUGREPORT "wine-devel@winehq.org"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:3856: result: no
configure:3858: error: Cannot build a 32-bit program, you need to install 32-bit development libraries.

Last edited by speng (2009-02-08 22:36:00)

Offline

#2 2009-02-09 00:16:35

ghostHack
Member
From: Bristol UK
Registered: 2008-02-29
Posts: 261

Re: Compiling Wine (32-bit) on Arch64 with multilib

I don't think that the default arch64 gcc is a cross-compiler so you won't be able to compile 32-bit apps with it, you will need a chroot.

EDIT: you should be able to run the resulting binary using the lib32 stuff on your arch64 system, you just can't create it there

Last edited by ghostHack (2009-02-09 00:17:45)

Offline

#3 2009-02-09 00:26:01

speng
Member
Registered: 2009-01-17
Posts: 136

Re: Compiling Wine (32-bit) on Arch64 with multilib

I might try doing that.
So would that mean that I could run './configure' and 'make depend' in the chroot to compile the whole app and then run 'make install' in arch64?

Offline

#4 2009-02-09 17:12:19

dmays
Member
Registered: 2007-09-17
Posts: 19

Re: Compiling Wine (32-bit) on Arch64 with multilib

It would be much easier to edit the wine PKGBUILD to apply the patch and build a proper 32-bit package, and then you could edit the lib32-wine package to install your custom-built wine package. Installing software with 'make install' is rarely a good idea, as it bypasses pacman's package management features.

Offline

#5 2009-02-09 18:53:22

speng
Member
Registered: 2009-01-17
Posts: 136

Re: Compiling Wine (32-bit) on Arch64 with multilib

dmays wrote:

It would be much easier to edit the wine PKGBUILD to apply the patch and build a proper 32-bit package, and then you could edit the lib32-wine package to install your custom-built wine package. Installing software with 'make install' is rarely a good idea, as it bypasses pacman's package management features.

I'm a new Arch64 user, infact a new Linux user. I'll read into how to do this and report back if I'm successful.

Thanks. big_smile

Edit: Just had a new idea, would it be a good idea to make a new installation of Arch i686 in VM Ware and compile it there with the patch?
And then use the binaries in with the PKGBUILD from the AUR?

Last edited by speng (2009-02-09 19:01:10)

Offline

#6 2009-02-09 19:38:08

Dr4go
Member
Registered: 2008-08-24
Posts: 37

Re: Compiling Wine (32-bit) on Arch64 with multilib

speng wrote:

[...]Edit: Just had a new idea, would it be a good idea to make a new installation of Arch i686 in VM Ware and compile it there with the patch?
And then use the binaries in with the PKGBUILD from the AUR?

Way too complicated... just install a chroot as described in the wiki (fyi: http://wiki.archlinux.org/index.php/Arc … bit_system). Then build the package there (inside chroot) and execute the package on your arch64 using "schroot -p wine".

Using this method you never need to install any 32bit compatibility library on your arch64, because you execute everything which needs 32bit from inside the arch32 chroot and you have a clean system.

Kind regards. wink

Offline

#7 2009-02-09 20:02:20

speng
Member
Registered: 2009-01-17
Posts: 136

Re: Compiling Wine (32-bit) on Arch64 with multilib

Wouldn't that impact performance?

Is there no way of compiling Wine in chroot and then transferring it to Arch64 once it has been compiled? I have already setup a chroot and I'm in the process of compiling wine using:

./configure
make depend && make

This fully compiles the program, I want to then be able to install it fully on my Arch64 system as a bin32-wine package patched for WoW.
If I succeed, would it be a good idea to upload it to the AUR? Someone else might need it, WoW is quite a popular game.




Edit: SUCCESS! Compiled it in chroot, replaced the wine-preloader file (patched) in the bin32-wine package and I have loaded up WoW, works great. smile Running it in Arch64 btw.

Last edited by speng (2009-02-09 20:35:57)

Offline

#8 2009-02-09 23:58:47

Dr4go
Member
Registered: 2008-08-24
Posts: 37

Re: Compiling Wine (32-bit) on Arch64 with multilib

Although you had already success I'll still answer your question: No, that doesn't have any performance impact. Your 32bit compatibility libs on arch64 are the same that you use on your arch32 chroot. The only difference: arch64 stays clean.

Kind regards & congratulations,
Dr4go

Offline

#9 2009-02-26 20:35:12

ugkbunb
Member
Registered: 2009-02-26
Posts: 227

Re: Compiling Wine (32-bit) on Arch64 with multilib

Well I succesfully got a 32-bit CHROOT enviroment setup. It would be cool to see an example of how to apply a patch in a PKGBUILD file.

Last edited by ugkbunb (2009-02-27 00:26:57)

Offline

#10 2009-05-18 11:52:52

Arjann
Member
From: The Netherlands
Registered: 2008-09-26
Posts: 21

Re: Compiling Wine (32-bit) on Arch64 with multilib

Hi all,
Im trying to compile wine-git for a regression test, iam using a native 64bit system so i setup a 32bit chroot and installed the following packages:
base base-devel xorg nvidia nvidia-utils

My problem are these message outputs from ./configure:

configure: libxcomposite 32-bit development files not found, Xcomposite won't be supported.
configure: libgnutls 32-bit development files not found, no schannel support.
configure: WARNING: OpenGL development headers not found. OpenGL and Direct3D won't be supported.
configure: WARNING: libxml2 32-bit development files not found, XML won't be supported.
configure: WARNING: libxslt 32-bit development files not found, xslt won't be supported.
configure: WARNING: libjpeg 32-bit development files not found, JPEG won't be supported.

Does anyone know which packages i need to install to satisfy at least the OpenGL part?

SOLVED: nvidia nvidia-utils packages don't include the development headers so did this by myself using nvidia driver package from nvidia site

Last edited by Arjann (2009-05-19 11:17:39)

Offline

#11 2010-05-27 17:23:41

raunz
Member
Registered: 2008-11-27
Posts: 36

Re: Compiling Wine (32-bit) on Arch64 with multilib

I still have trouble building wine-git, even with gcc-multilib installed.

checking whether gcc -m32 works... no
configure: error: Cannot build a 32-bit program, you need to install 32-bit development libraries.
yaourt -Qs gcc
local/gcc-fortran-multilib 4.5.0-1 [installed]
  Fortran front-end for GCC
local/gcc-libs-multilib 4.5.0-1 [installed] (base)
  Runtime libraries shipped by GCC for C and C++ languages
local/gcc-multilib 4.5.0-1 [installed] (base-devel)
  The GNU Compiler Collection
local/gcc-objc-multilib 4.5.0-1 [installed]
  Objective-C front-end for GCC
local/lib32-gcc-libs 4.5.0-1 [installed] (lib32)
  The GNU Compiler Collection

Yet no possibility to build wine without chroot?

Offline

#12 2010-07-12 21:08:54

Mzg
Member
From: Norway
Registered: 2009-09-06
Posts: 43

Re: Compiling Wine (32-bit) on Arch64 with multilib

I want to know this as well, no news?

Setting up a full chroot environment seems like overkill just to compile an app.

EDIT: Forget it, I'm doing it anyway, can't hurt.

Last edited by Mzg (2010-07-12 21:54:09)


Archer.

Offline

#13 2010-07-12 23:09:29

ngoonee
Forum Fellow
From: Between Thailand and Singapore
Registered: 2009-03-17
Posts: 7,354

Re: Compiling Wine (32-bit) on Arch64 with multilib

@raunz - please do not bump old threads

http://wiki.archlinux.org/index.php/For … Bumping.27

Start a new thread if you need help.


Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.

Offline

Board footer

Powered by FluxBB