0

I am getting error as following:
Video card 06:03.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200eW WPCM450 (rev 0a)

the build command

./autogen.sh --prefix=$WLD --enable-gles2 --disable-gallium-egl \
  --with-egl-platforms=x11,wayland,drm --enable-gbm --enable-shared-glapi \
  --with-gallium-drivers=r300,r600,swrast,nouveau --disable-dri3 --disable-llvm-shared-libs

make

make[5]: Entering directory `/home/interns/pooja/mesa-10.2n/src/mesa/drivers/dri/nouveau'
make[5]: Nothing to be done for `all'.
make[5]: Leaving directory `/home/interns/pooja/mesa-10.2n/src/mesa/drivers/dri/nouveau'
Making all in r200
make[5]: Entering directory `/home/interns/pooja/mesa-10.2n/src/mesa/drivers/dri/r200'
CC     radeon_buffer_objects.lo
radeon_buffer_objects.c:1:1: error: expected identifier or '(' before '.' token
make[5]: *** [radeon_buffer_objects.lo] Error 1
make[5]: Leaving directory `/home/interns/pooja/mesa-10.2n/src/mesa/drivers/dri/r200'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/interns/pooja/mesa-10.2n/src/mesa/drivers/dri'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/interns/pooja/mesa-10.2n/src/mesa'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/interns/pooja/mesa-10.2n/src/mesa'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/interns/pooja/mesa-10.2n/src'
make: *** [all-recursive] Error 1
Prophet
  • 4,979
  • 11
  • 41
  • 57

1 Answers1

0

I ran into the same error, but as a long-time C programmer, it didn't bother me to look at the source code to see what the compiler was complaining about. Basically, in the "r200" directory are a bunch of files, one of which is radeon_buffer_objects.c, that refer to other files having the same names in another place, but the reference is invalid. You can identify these files easily with the "ls -la" command --every such file has less than 50 characters in it. If you open any of them, you will see the only thing in there is text like this:

 ../radeon/radeon_buffer_objects.c

Well, the correct way to reference the other file is this:

 #include "../radeon/radeon_buffer_objects.c"

So I simply edited all the files that had that problem, in the r200 directory, to correctly reference the other files in the other directory.

Note that the r200 directory has a "server" subdirectory, and in there are also a few files that need to be similarly edited.

After doing that, it compiled OK. That's when I started to write this reply-message. But then the compiler ran into a very similar problem in another directory altogether:

 dri_context.c:1:1: error: expected identifer or '(' before '.' token

Well, the fix described above should be fairly generic. I don't yet know how many places might need to be edited, before all of mesa finally compiles successfully, but the edits are simple, if tedious. The only question is why this wasn't fixed over in the repository from which mesa was downloaded!