25 November 2012

282. Mesa 9.0.1 (64 bit) on debian wheezy


This post is intended as a step towards building wine with libOSmesa. Apparently any version of libOSmesa lower than 9 is no good, and debian wheezy currently have version 8.

Unfortunately building the 32 bit version turns out to be more complex than just requesting it via --enable-32-bit, so I'll be making a post on a chrooted build of the missing wine libraries later. I've also noticed that libOSMesa is just a small part of Mesa -- this build overlaps a lot with mesa-common-dev as well.

Finally, I don't really have a good grasp over graphics on linux -- which means that I'm still confused by OpenGl, CL, Mesa etc.

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




As usual: I have a lot of packages installed on my standard compile node, so there are probably a lot of packages which are needed which I didn't notice. But here we go:


First you need to build e.g. libdrm 2.4.40 since wheezy and sid currently have v2.4.33 and you need 2.4.39 or newer.

sudo apt-get install libpciaccess-dev checkinstall
wget http://cgit.freedesktop.org/mesa/drm/snapshot/libdrm-2.4.40.tar.gz
tar xvf libdrm-2.4.40.tar.gz
cd libdrm-2.4.40/
./autogen 
make
sudo checkinstall


When you're asked for a description, type 'libdrm 2.4.40' and it should get the version number right.
(you could also build with --prefix and install it somewhere else but that makes things trickier later)

Make sure it installed correctly:
aptitude show libdrm
Package: libdrm                          
New: yes
State: installed
Automatically installed: no
Version: 2.4.40-1
Priority: extra
Section: checkinstall
Maintainer: root@beryllium
Architecture: amd64
Uncompressed Size: 733 k
Description: libdrm 2.4.40


Build OS mesa v.9.0.1.

sudo apt-get install flex bison libdrm-dev xutils-dev x11proto-gl-dev x11proto-dri2-dev libx11-xcb-dev libxcb-glx0-dev libxcb-dri2-0-dev libxcb-xfixes0-dev llvm automake
cd ~/tmp
wget ftp://ftp.freedesktop.org/pub/mesa/9.0.1/MesaLib-9.0.1.tar.gz
tar xvf MesaLib-9.0.1.tar.gz
cd Mesa-9.0.1/
./autogen.sh --enable-osmesa
make
sudo checkinstall
This package will be built according to these values: 

0 -  Maintainer: [ root@beryllium ]
1 -  Summary: [ Mesa 9.0.1 64 bit]
2 -  Name:    [ mesa ]
3 -  Version: [ 9.0.1 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ checkinstall ]
7 -  Architecture: [ amd64 ]
8 -  Source location: [ Mesa-9.0.1 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ mesa ]
12 - Conflicts: [  ]
13 - Replaces: [  ]

Some notes:
xutils-dev contains makedepend; x11proto-gl-dev is GLPROTO, x11proto-dri2-dev is DRI2PROTO
LLVM is needed for one step in the build process (gallium). I'm sure you can get around it, but I'm not too bothered.



Links to this post:
http://forums.linuxmint.com/viewtopic.php?f=190&p=696973

5 comments:

  1. Manke automake dans les dépendances pour une build de mesa9

    ReplyDelete
    Replies
    1. Cheers. I've updated the dependencies.

      Delete
  2. Thanks, this worked.

    ReplyDelete
  3. Hello, sorry for the big up, i tried to do this :

    ./autogen.sh --enable-osmesa
    autoreconf: Entering directory `.'
    autoreconf: configure.ac: not using Gettext
    autoreconf: running: aclocal -I m4
    configure.ac:143: error: Could not locate the pkg-config autoconf macros.
    These are usually located in /usr/share/aclocal/pkg.m4. If your macros
    are in a different location, try setting the environment variable
    ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.
    configure.ac:143: the top level
    autom4te: /usr/bin/m4 failed with exit status: 1
    aclocal: /usr/bin/autom4te failed with exit status: 1
    autoreconf: aclocal failed with exit status: 1

    What can i do now ? :/

    ReplyDelete
    Replies
    1. Make sure that pkg-config is installed.

      Delete