[Mesa-dev] OSMesa glapi linlking

Kevin H. Hobbs hobbsk at ohio.edu
Wed Jan 25 10:42:48 PST 2012


On 01/25/2012 11:58 AM, Matt Turner wrote:
> On Wed, Jan 25, 2012 at 11:40 AM, Kevin H. Hobbs <hobbsk at ohio.edu> wrote:
>> My build of OSMesa from git is failing:
>>
>> ./autogen.sh \
>>  --prefix=/home/kevin/mesa_osmesa/ \
>>  --disable-dri \
>>  --disable-glx \
>>  --enable-osmesa
> 
> Unrelated (related to another thread recently) but, did you mean to
> build Gallium (and whatever drivers configure determined your system
> could build)? If you didn't want Gallium, you should use
> --with-gallium-drivers=""

I don't really care.
It isn't enough time for me to worry about.
If building more than I want detects more errors then I consider that ok.

> 
>> /bin/sh ../../../../bin/mklib -o OSMesa -linker 'g++' -ldflags '' \
>>        -major 8 -minor 0 -patch 0 \
>>        -install ../../../../lib -cplusplus  \
>>        -id /home/kevin/mesa_osmesa/lib/libOSMesa.8.dylib \
>>        -L../../../../lib -lglapi -L../../../../lib  -lm -lpthread  -ldl
>> osmesa.o ../../../../src/mesa/libmesa.a
>> ../../../../src/mapi/glapi/libglapi.a ../../../../src/glsl/libglsl.a
>> mklib: Making Linux shared library:  libOSMesa.so.8.0.0
>> /usr/bin/ld: cannot find -lglapi
> 
> What git hash did you use? I can't reproduce this.

The top of "git log" is :

422b18794eacc8f0be5b4e9611e2726f4e0d86b6

> 
> As with most Mesa build errors, you should do a `make clean` or `git
> clean -dfx`.

I haven't touched the directory since I found the error in the log.

My full script does :

#!/bin/bash

rm -rf /home/kevin/mesa_xlib/*
rm -rf /home/kevin/mesa_osmesa/*

# Update Mesa Source
cd /home/kevin/mesa
make realclean
git reset --hard
git pull origin

# Make Mesa Xlib
./autogen.sh \
  --prefix=/home/kevin/mesa_xlib/ \
  --disable-dri \
  --enable-glx \
  --enable-xlib-glx \
  --disable-osmesa

make -j8
make install

# Make Mesa OSMesa
make realclean
./autogen.sh \
  --prefix=/home/kevin/mesa_osmesa/ \
  --disable-dri \
  --disable-glx \
  --enable-osmesa

make -j8
make install

I just ran :

rm -rf /home/kevin/mesa_osmesa/*
make realclean
git reset --hard
git pull origin
./autogen.sh   \
  --prefix=/home/kevin/mesa_osmesa/   \
  --disable-dri   \
  --disable-glx   \
  --enable-osmesa
make -ij8
make

and I get the same error :

/bin/sh ../../../../bin/mklib -o OSMesa -linker 'g++' -ldflags '' \
        -major 8 -minor 0 -patch 0 \
        -install ../../../../lib -cplusplus  \
        -id /home/kevin/mesa_osmesa/lib/libOSMesa.8.dylib \
        -L../../../../lib -lglapi -L../../../../lib  -lm -lpthread  -ldl
osmesa.o ../../../../src/mesa/libmesa.a
../../../../src/mapi/glapi/libglapi.a ../../../../src/glsl/libglsl.a
mklib: Making Linux shared library:  libOSMesa.so.8.0.0
/usr/bin/ld: cannot find -lglapi


What I see is :

-L../../../../lib -lglapi

and

../../../../src/mapi/glapi

I see :

find ./  -name "libglapi*"
./src/mapi/glapi/libglapi.a

Which isn't anywhere that the linker can find it

Links lib/libOSMesa.so* are created but they point to
a non-existant libOSMesa.so.8.0.0


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 253 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20120125/de981b25/attachment.pgp>


More information about the mesa-dev mailing list