08 March 2012

97. Wine 1.4 out now -- very brief build instructions

UPDATE 16 May 2013: See here for Wine 1.5.30: http://verahill.blogspot.com.au/2013/05/416-wine-1530-in-chroot.html

UPDATE (10th Jan 2013): See here for Wine 1.5.21 using the multiarch approach in Debian Testing/Wheezy: http://verahill.blogspot.com.au/2013/01/308-compiling-wine-1521-on-debian.html

Updated list of dependencies for debian stable/squeeze: http://verahill.blogspot.com.au/2012/11/compiling-wine-155-from-source-using.html


The instructions are identical to those for wine1.4 rc4 and 5: http://verahill.blogspot.com.au/2012/02/debian-testing-wheezy-64-compiling-wine.html and wine 1.3.35: http://verahill.blogspot.com.au/2012/01/debian-testingwheezy-64-bit-installing.html

I've tested the build on 8 March 2012.

-- START HERE --
sudo apt-get install bison flex gcc libc6-dev libfontconfig-dev libfreetype6-dev libglu-dev libgsm1-dev libice-dev libjpeg-dev libldap-dev libmpg123-dev libncurses5-dev libopenal-dev libpng-dev libsm-dev libssl-dev libusb-dev libx11-dev libxcomposite-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxml2-dev libxrandr-dev libxrender-dev libxslt-dev libxt-dev libxxf86vm-dev make libcapi20-dev liblcms-dev libsane-dev libhal-dev libdbus-1-dev valgrind prelink libcups2-dev opencl-dev lib32opencl1 oss4-dev gettext lib32v4l-dev lib32ncurses5-dev lib32asound2-dev lib32z-dev ia32-libs-dev
mkdir ~/tmp
cd tmp/
wget http://prdownloads.sourceforge.net/wine/wine-1.4.tar.bz2
tar -xvf wine-1.4.tar.bz2
./configure

configure: gstreamer-0.10 base plugins 32-bit development files not found, gstreamer support disabled
configure: libgsm 32-bit development files not found, gsm 06.10 codec won't be supported.
configure: libtiff 32-bit development files not found, TIFF won't be supported.
configure: WARNING: libjpeg 32-bit development files not found, JPEG won't be supported.
configure: Finished.  Do 'make' to compile Wine.
The warnings about lack of support can safely be ignored if you don't need it. The TIFF error seems a bit random since it appears on some of my systems, but not others. I haven't figured out the responsible package yet.

make
sudo checkinstall --install=no
to build 23Mb deb package without installing it
 OR 
sudo make install
to install without building a package.


Note:
JPEG support is supposedly available if you
1. remove symlinks
sudo rm /usr/lib32/libjpeg.so.62 /usr/lib32/libjpeg.so.62.0.0
2. Then, create new ones
sudo ln -s /usr/lib32/libjpeg.so.8 /usr/lib32/libjpeg.so.62
sudo ln -s /usr/lib32/libjpeg.so.8 /usr/lib32/libjpeg.so.62.0.0




Edit:
I didn't know it before, but there's a slightly different, wine-specific, way of building described here http://chrisjrob.com/2012/03/08/wine-1-4-on-debian-wheezy/

To see you wine version do
winecfg
This is from a newer build - 1.5.6



Links to this page:
http://chrisjrob.com/2012/03/08/wine-1-4-on-debian-wheezy
http://forums.linuxmint.com/viewtopic.php?p=535245
http://debian.linux.pl/threads/26515-Instalacja-wine-1-4-w-Debianie-Squeeze

6 comments:

  1. nope, Debian 6 says

    sh configure
    ...
    checking build system type... x86_64-unknown-linux-gnu
    checking whether we are cross compiling... configure: error: in `~/wine-1.4':
    configure: error: cannot run C compiled programs.
    If you meant to cross compile, use `--host'.
    See `config.log' for more details

    I use gcc version 4.4.5
    What's wrong?

    ReplyDelete
    Replies
    1. If I were to hazard a guess I'd say that the problem you're experiencing is due to your target and your reported architecture being different -- hence the "cross-compile" stuff.

      What does your config.log report about your platform (first couple of lines)? How does it compare to your actual system -- amd64 or i386? Kernel version? etc.

      Are you working in a clean directory?

      cf.:
      configure:2788: checking build system type
      configure:2802: result: x86_64-unknown-linux-gnu
      configure:2822: checking host system type
      configure:2835: result: x86_64-unknown-linux-gnu
      configure:2865: checking whether make sets $(MAKE)
      configure:2887: result: yes
      configure:2944: checking for gcc
      configure:2960: found /usr/bin/gcc
      configure:2971: result: gcc
      configure:3200: checking for C compiler version
      configure:3209: gcc --version >&5

      Delete
  2. This must be work on 32 bits system?. If not, how?. For 64 bit works for me, but i need to install on other of 32 bits. Thanks for your post.

    ReplyDelete
    Replies
    1. You can compile on 32 bit too -- but the packages won't have '32' in their names.

      Delete
  3. Thanks for the guide

    Am having the following problems though:

    sudo apt-get install opencl-dev
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Package opencl-dev is a virtual package provided by:
    nvidia-opencl-dev 4.2.9-1
    ocl-icd-opencl-dev 1.3-2
    You should explicitly select one to install.
    E: Package 'opencl-dev' has no installation candidate

    sudo apt-get install nvidia-opencl-dev 4.2.9-1
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package 4.2.9-1
    E: Couldn't find any package by regex '4.2.9-1'

    Same for ocl-icd-opencl-dev 1.3-2

    (the rest installed fine)

    Skipping this I decided to give it a go all the same but encountered the following error after a few minutes into the installation:

    make[1]: Leaving directory `/tmp/wine-1.4/dlls/d3dx10_33'
    config.status: creating dlls/d3dx10_34/Makefile
    awk: ./confi9Tmh7/subs.awk:324: (FILENAME=- FNR=101) fatal: print to "standard output" failed (No space left on device)
    config.status: error: could not create dlls/d3dx10_34/Makefile
    make: *** [dlls/d3dx10_34/__depend__] Error 2

    Any help very welcome

    Thanks

    ReplyDelete
    Replies
    1. First let me ask you a silly question: have you made sure that you didn't just run out of disk space?

      "awk: ./confi9Tmh7/subs.awk:324: (FILENAME=- FNR=101) fatal: print to "standard output" failed (No space left on device)"

      Also, you might want to post the relevant section of the config.log file that's created during ./configure -- the information there tends to be more specific.

      I would think that you error is unrelated to the missing opencl.

      Delete