SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I wanted to replace somewhat dated Mesa with newest 17.3.3 - I took it from "current" - but after longer compilation time there are errors:
Quote:
Making all in common
make[6]: Entering directory '/var/tmp/mesa-17.3.3/src/mesa/drivers/dri/common'
CC utils.lo
CC dri_util.lo
CC megadriver_stub.lo
In file included from dri_util.h:58:0,
from megadriver_stub.c:25:
../../../../../src/mesa/main/mtypes.h:62:9: error: unknown type name 'GLuint64'
typedef GLuint64 GLbitfield64;
^
../../../../../src/mesa/main/mtypes.h:3752:4: error: unknown type name 'GLuint64'
GLuint64 MaxServerWaitTimeout;
^
../../../../../src/mesa/main/mtypes.h:3882:4: error: unknown type name 'GLuint64'
GLuint64 MaxElementIndex;
^
In file included from ../../../../../src/mesa/main/mtypes.h:4328:0,
from dri_util.h:58,
from megadriver_stub.c:25:
../../../../../src/mesa/main/dd.h:784:31: error: unknown type name 'GLuint64'
GLuint64 *raw_max);
^
../../../../../src/mesa/main/dd.h:865:18: error: unknown type name 'GLuint64'
GLbitfield, GLuint64);
^
../../../../../src/mesa/main/dd.h:867:18: error: unknown type name 'GLuint64'
GLbitfield, GLuint64);
^
../../../../../src/mesa/main/dd.h:1044:4: error: expected specifier-qualifier-list before 'GLuint64'
GLuint64 (*NewTextureHandle)(struct gl_context *ctx,
^
In file included from dri_util.h:58:0,
from megadriver_stub.c:25:
../../../../../src/mesa/main/mtypes.h:4638:4: error: unknown type name 'GLuint64'
GLuint64 handle;
^
../../../../../src/mesa/main/mtypes.h:4644:4: error: unknown type name 'GLuint64'
GLuint64 handle;
^
In file included from dri_util.h:58:0,
from dri_util.c:43:
../../../../../src/mesa/main/mtypes.h:62:9: error: unknown type name 'GLuint64'
typedef GLuint64 GLbitfield64;
^
../../../../../src/mesa/main/mtypes.h:3752:4: error: unknown type name 'GLuint64'
GLuint64 MaxServerWaitTimeout;
No, it's not a problem that 17.3.3 is "too recent", because I was very surprised that I cannot compile even that old version that came with 14.2 (and which I still have installed). It's also complaining about that GLuint64 etc.
What my system can be missing to properly build Mesa? Anyone of you encountered this problem? From what I see I have in /usr/include sub-directories GLES, GLES2, GLES3 where are files containing GLuint64 term - like, for example, these lines:
I was able to compile the 14.2 package from source on 14.2 without any issue. What all did you upgrade to build the -current version on 14.2? After quickly trying it, I see it at least needs a newer libdrm (which I really didn't want to upgrade to just to see if the newer mesa builds). Did you have to upgrade other programs beyond libdrm?
Overall, it seems like something that you upgraded broke compilation of mesa or you're missing a required package to properly build it. Hopefully know what all programs you upgraded might give us the insight to figure out what needs to be done to fix it.
To make sure I have "proper" packages I downloaded package set for entire 'x' branch and replaced all that stuff. But despite this I'm still unable to compile Mesa, facing the same error all the time.
No idea, why is this complaining about this 'GLuint64' etc. - because it's exactly Mesa which brings these include files into system. So during compilation it uses its own fileset, where these definitions are present.
Could you, please, include somewhere archive containing whole sub-dir contents of your 'Mesa' after you did the compilation (I mean 'libdrm' subdir taken from your /tmp after compilation)? Maybe "configure.log", "Makefile" - or some other files - will reveal something, when I compare them to mine?
You need at least llvm 4.0(I suggest at least 5.0 at this point) and the Mako package to compile any recent releases of Mesa. The llvm in stock 14.2 is too old.
Yes, I upgraded LLVM to newest 5.0.1 - but I'm unable to compile even that older version. I face the same errors during compilation. Or maybe exactly LLVM is to blame?
Edit: no, just reverted to "stock" LLVM 3.8 - no change. Still unable to compile even the older version of Mesa.
Last edited by SlackWar; 02-03-2018 at 05:53 AM.
Reason: additional check
You probably only really needed to replace llvm, libdrm, mesa and install Mako. Might be another dependency I'm missing, but that should be most of them.
Solved: I wasn't missing anything - quite contrary: "autotools" used by Mesa creators detected another set of OpenGL header files present in my system - shipped with AMD app SDK - and all the time they included those older headers into compilation process, which - of course - was spoiling everything.
Only when I moved AMD app SDK out of the way for Mesa compilation time, at last it has been built with no problems whatsoever. And it works.
Last edited by SlackWar; 02-03-2018 at 11:48 AM.
Reason: typo
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.