Arch linux compilation error after updating the system

on all my computers I have this error since my update? Arch linux…

In file included from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdint.h:26,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/include/stdint.h:9,
                 from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/utils/ofConstants.h:2,
                 from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/app/ofAppNoWindow.h:3,
                 from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/app/ofAppNoWindow.cpp:1:
/usr/include/features.h:381:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
 #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
    ^~~~~~~
In file included from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/utils/ofConstants.h:212,
                 from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/app/ofAppNoWindow.h:3,
                 from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/app/ofAppNoWindow.cpp:1:
/usr/include/GL/glext.h:12066:105: error: conflicting declaration 'typedef void (* PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum, GLenum, const GLfloat*)'
 typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params);
                                                                                                         ^
In file included from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/utils/ofConstants.h:210,
                 from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/app/ofAppNoWindow.h:3,
                 from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/app/ofAppNoWindow.cpp:1:
/usr/include/GL/glew.h:18734:28: note: previous declaration as 'typedef void (* PFNGLFRAGMENTLIGHTFVSGIXPROC)(GLenum, GLenum, GLfloat*)'
 typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat* params);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/utils/ofConstants.h:212,
                 from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/app/ofAppNoWindow.h:3,
                 from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/app/ofAppNoWindow.cpp:1:
/usr/include/GL/glext.h:12068:103: error: conflicting declaration 'typedef void (* PFNGLFRAGMENTLIGHTIVSGIXPROC)(GLenum, GLenum, const GLint*)'
 typedef void (APIENTRYP PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params);
                                                                                                       ^
In file included from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/utils/ofConstants.h:210,
                 from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/app/ofAppNoWindow.h:3,
                 from /home/db/of_v0.10.1_linux64gcc6_release/libs/openFrameworks/app/ofAppNoWindow.cpp:1:
/usr/include/GL/glew.h:18736:28: note: previous declaration as 'typedef void (* PFNGLFRAGMENTLIGHTIVSGIXPROC)(GLenum, GLenum, GLint*)'
 typedef void (GLAPIENTRY * PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint* params);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

...;

Bernard

there is no one using arch linux who has the same problem?

I only had the solution to demote the “mesa” & “glew” package!
and
sudo ./scripts/apothecary/apothecary/apothecary update core

to be verified

I just tried and it still works for me.

$ ls *mesa*
mesa-18.2.4-1-x86_64.pkg.tar.xz
mesa-demos-8.4.0-1-x86_64.pkg.tar.xz

$ ls *glew*
glew-2.1.0-1-x86_64.pkg.tar.xz

$ gcc -v
...
gcc version 8.2.1 20180831 (GCC) 

$ ls *qtcreator*
qtcreator-4.7.2-1-x86_64.pkg.tar.xz

glew may not be a problem?
glew 2.1.0-1 for me too
gcc version 8.2.1 20180831 (GCC) for me too
I checked … the problem is with mesa 18.2.5-0 ???
to be continued…
Bernard

How come you have a newer mesa? Maybe you are using mesa-testing?

https://www.archlinux.org/packages/?q=mesa

This has been reported before on ubuntu from people using some non official repository, probably with a non-stable version

ok merci
it was very stressful not to be able to compile anymore … I guess that’s all going to work out.
I never had to go back on the archlinux update …
we learn every day …

Maybe you are using mesa-testing?

I am on manjaro who normally is a little late on arch
I have, on one side, done on three machines a simple update (manjaro) and another a system installation on a new machine: same result.
I never had a serious problem with manjaro …
I do not think I’m in testing? … mirror stable version?

 yaourt mesa
1 extra/glu 9.0.0-5 [installed]
    Mesa OpenGL Utility library
2 extra/libva-mesa-driver 18.2.5-0
    VA-API implementation for gallium
3 extra/mesa 18.2.5-0 [installed: 18.2.4-0]

I just realized that not compiled on my machine as well.
like you, I’m using manjaro distro.
I’m not sure it’s related with system update nor run dependencies_install of ‘oF0.10.1’.

maybe these are related information ??


as error log, I commented out line ::212 of /OF_DIRECTORY/libs/openFrameworks/utils/ofConstants.h.

// #include <GL/glext.h>       // --> comment out

and it works.


try it and let me know it works.

2 Likes

that makes sense, can you send a PR?

sent! :slight_smile:

great for the file editing solution ofConstants.h .

Just a quick update: I just got the new Mesa and it also stopped working.

Commenting out line 212 in ofConstants.h fixes it for me too.

This just tripped me up on Antergos linux; thanks @icq4ever for the fix!

can confirm this is happening for me as well and solution was also to comment out the line suggested by others. This is archlinux latest and of10.1