[Mageia-dev] mesa doesn't build due to missing nouveau_device.h

Olivier Blin mageia at blino.org
Mon Jul 16 00:00:06 CEST 2012

Colin Guthrie <mageia at colin.guthr.ie> writes:

>>> I think the least painful thing right now would be to back out the
>>> libdrm_nouveau-2.0 merge from current libdrm  (iirc ~4 patches) so
>>> we can get current mesa rebuilt right now.
>>> That would give some time to work on newer mesa...
>> That seems somewhat sensible.
>> Even with the latest wayland mesa git is having issues building...
>> g++ -Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id
>> -Wl,--enable-new-dtags -L/usr/lib64/llvm  -lpthread -lffi -ldl -lm
>> lp_test_blend.o lp_test_main.o -o lp_test_blend -Wl,--start-group
>> -L../../auxiliary/ -lgallium libllvmpipe.a -lLLVM  -lXext -lXdamage
>> -lXfixes -lX11-xcb -lX11 -lxcb-glx -lxcb -lXxf86vm   -ldrm   -lm
>> -lpthread -ldl -Wl,--end-group
>> /usr/bin/ld: ../../auxiliary//libgallium.a(u_dl.o): undefined reference
>> to symbol 'dlclose@@GLIBC_2.2.5'
>> /usr/bin/ld: note: 'dlclose@@GLIBC_2.2.5' is defined in DSO
>> /usr/lib/gcc/x86_64-mageia-linux-gnu/4.7.1/../../../../lib64/libdl.so so
>> try adding it to the linker command line
>> /usr/lib/gcc/x86_64-mageia-linux-gnu/4.7.1/../../../../lib64/libdl.so:
>> could not read symbols: Invalid operation
>> collect2: error: ld returned 1 exit status
>> So the suggested fix of adding -ldl shouldn't be needed as -ldl is
>> already there! Could be a weird ordering quirk I guess - certainly
>> manually placing the -ldl outside of the -Wl,--start-group block does
>> fix it... too much fu for me tho'.

I have workarounded this one by adding -Wl,--no-as-needed for this
particular link command.

That's not a very good fix, but the link command is strange anyway.
I got their ld command line to work by removing all occurences of -dl
and adding a new -ldl at the end, but that's not so easy to fit in the
mesa build system.

> OK, so I've backed out the patches in libdrm and rebuilt mesa but now
> x11-driver-video-nouveau doesn't build (unsurprisingly).
> I've not got much more time to poke at this today, so hopefully the
> maintainer can pick it up.

I have a mesa 8.1 (pre) package ready here.
Here's what I did:
- new dricore lib packages
- dropped all nouveau backport patches (they are all from upstream git, right?)
- removal of the (new) .la files
- libglsl.so is not packaged anymore, upstream is now using a static lib (?!)

mesa now also installs a /etc/drirc file by default.
Fedora packages it in their mesa-dri-drivers package, but we can't put
it in our libified drivers package, it would cause conflicts.
Because we could add (or resurrect) a "mesa" noarch package with only a
/etc/drirc file, and make the dridrivers package require it?

Colin, Anssi, any suggestion before I submit?

After that, I will ugprade weston (the wayland compositor).

Olivier Blin - blino

More information about the Mageia-dev mailing list