LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   MESA and libdrm multilib (https://www.linuxquestions.org/questions/linux-newbie-8/mesa-and-libdrm-multilib-4175465317/)

flyinggeorge 06-09-2013 07:19 AM

MESA and libdrm multilib
 
Hello! I just installed a squeaky clean Slackware 14.0 64bit on my computer and I followed Alien Bob's instructions on how to get multilib up and running. I am trying to install wine and I am missing a few dependencies. Wine told me I was missing Mesa and OpenGL wouldn't be supported, so I downloaded Mesa and unpacked it and ran ./configure and it told me I had an old version of libdrm, so I downloaded the latest version of libdrm and installed it, but Mesa doesn't seem to notice. I have a feeling this is a by-product of the way I installed my multilib, I installed it from the DVD so it would stand to reason that a few things were out of date, but how can I update 32bit packages? Or am I right about any of this. I'm sorry this post is confusing. But I am confused myself!

Let me try and help you help me, this is what ./configure returns from the Mesa directory.

Code:

configure: error: Package requirements (libdrm_intel >= 2.4.38) were not met:

Requested 'libdrm_intel >= 2.4.38' but version of libdrm is 2.4.33

But I downloaded libdrm 2.4.45 and installed it and everything went smoothly. I can't say for sure, but I think it only installed to /lib64/ not /lib/ and I don't know if it's a good idea to go running around symbolically linking everything in my /lib64/ to my /lib/ directories. I don't want to ruin the multilib after all!

So, I guess my question is, what am I doing wrong here, or should I just link all my 64bit libraries to the 32bit ones?

business_kid 06-09-2013 11:39 AM

You need to know that mesa 64-bit and mesa 32-bit are separate, and different versions are ok and don't complain. When something cries foul, you want to read the error message and notice is it in ~/lib(=32 bit) or ~/lib64(= 64 bit).

Compiling Mesa and getting everything to work is hazardous to the health. Use slackware packages if at all possible. If you do have to compile and install, use this approach:
Quote:

mkdir /tmp/package
./configure [stuff]
make [optional stuff]
make DESTDIR=/tmp/package install
I think you can download 32 bit packages and run the massconvert.sh script on them. Way to go. If Mesa wants a later version, try current instead of 14.0.

flyinggeorge 06-09-2013 06:49 PM

This is good information about getting multilib packages built, but I still don't know why mesa is complaining about an old version of libdrm. As to a slackpackage, I can't find one for a recent version of mesa.

If I install an x86 package, will it simply install to /lib instead of /lib64? Should I always install 32 and 64 bit versions of the same software, just for the sake of compatibility? Of course using massconvert32 would probably make my life easier by only having to download one package...but still, it wouldn't hurt to automatically install packages as 32 and 64 bit versions, would it?

business_kid 06-10-2013 03:44 AM

Some developer chose the version of libdrm it looks for. When slackware-14.0 came out, there were updated libdrm and mesa source packages on the disk, but you needed to compile them. As for an updated libdrm, you're not looking very hard
ftp://ftp.heanet.ie/mirrors/slackwar...2-x86_64-1.txz

flyinggeorge 06-10-2013 09:41 AM

I actually ended up finding that, should have updated my post. Now I'm getting a new complaint from trying to build Mesa from source. As I was warned, it's hazardous to the health.

Code:

/usr/local/lib/libdrm.so: could not read symbols: File in wrong format
According to what I've googled, this is a result of trying to build 32 bit source on a 64 bit architecture. I am using alien bob's command from his multilib wiki

Code:

. /etc/profile.d/32dev.sh
So that I would be building everything under 32 bit. As for the libdrm package, I used compat32-tools to convert it into 32 bit package and install. Any suggestions about this would be appreciated.

**Edit, I reconfigured and now I am getting a really big string of errors, all coming from libdri.

Code:

/home/gene/Mesa-9.1.3/src/mesa/libdricore/../../../src/mesa/vbo/vbo_attrib_tmp.h:1031: undefined reference to `_glapi_Context'
/home/gene/Mesa-9.1.3/src/mesa/libdricore/../../../src/mesa/vbo/vbo_attrib_tmp.h:1031: undefined reference to `_glapi_get_context'
.libs/vbo_save_api.o: In function `_save_TexCoordP4uiv':
/home/gene/Mesa-9.1.3/src/mesa/libdricore/../../../src/mesa/vbo/vbo_attrib_tmp.h:951: undefined reference to `_glapi_Context'
/home/gene/Mesa-9.1.3/src/mesa/libdricore/../../../src/mesa/vbo/vbo_attrib_tmp.h:951: undefined reference to `_glapi_get_context'
.libs/vbo_save_api.o: In function `_save_TexCoordP3uiv':
/home/gene/Mesa-9.1.3/src/mesa/libdricore/../../../src/mesa/vbo/vbo_attrib_tmp.h:935: undefined reference to `_glapi_Context'
/home/gene/Mesa-9.1.3/src/mesa/libdricore/../../../src/mesa/vbo/vbo_attrib_tmp.h:935: undefined reference to `_glapi_get_context'
.libs/vbo_save_api.o: In function `_save_TexCoordP2uiv':
/home/gene/Mesa-9.1.3/src/mesa/libdricore/../../../src/mesa/vbo/vbo_attrib_tmp.h:919: undefined reference to `_glapi_Context'
/home/gene/Mesa-9.1.3/src/mesa/libdricore/../../../src/mesa/vbo/vbo_attrib_tmp.h:919: undefined reference to `_glapi_get_context'
.libs/vbo_save_api.o: In function `_save_TexCoordP1uiv':
/home/gene/Mesa-9.1.3/src/mesa/libdricore/../../../src/mesa/vbo/vbo_attrib_tmp.h:903: undefined reference to `_glapi_Context'
/home/gene/Mesa-9.1.3/src/mesa/libdricore/../../../src/mesa/vbo/vbo_attrib_tmp.h:903: undefined reference to `_glapi_get_context'


business_kid 06-10-2013 11:24 AM

Quote:

I actually ended up finding that, should have updated my post. Now I'm getting a new complaint from trying to build Mesa from source. As I was warned, it's hazardous to the health.

/usr/local/lib/libdrm.so: could not read symbols: File in wrong format
Thanks for noting that I told you :-).

I linked you to the 64 bit file, because I only half read your post. That should have ended in /usr/lib64. ??
Here's the 32 bit one.

In the same subdirectory, I think is a compiled mesa package. If not, you're very close to it. That link is to the 32 bit slackware-current

flyinggeorge 06-10-2013 12:37 PM

Okay! So I have some little success to report! I was able to find a Mesa-9*.txz package in the mirror you provided

ftp://ftp.heanet.ie/mirrors/slackwar...t/slackware/x/

And now wine isn't complaining about openGL anymore, now I just need to fix the rest of the dependencies. Thank you very much for your help and for that mirror.

*Edit marking this as solved!


All times are GMT -5. The time now is 08:02 PM.