New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Linux] Building SFML fails with conflicting declarations when using a recent git mesa #1472
Comments
Does it give you the same errors if you go back one commit: 43f0292 |
Yes, this commit leads to the same errors. |
It seems the header changes introduced in mesa commit [1] break the compilation. I was able to successfully compile SFML when using mesa 18.2.0-rc2 (which does not include this commit) but when I manually apply it on top of 18.2.0-rc2, the compilation of SFML breaks with the aforementioned errors. [1] https://cgit.freedesktop.org/mesa/mesa/commit/?id=f7d42ee7d319256608ad60778f6787c140badada |
When mesa updated their headers, they changed the include guard from __glxext_h_ to __glx_glxext_h_, which breaks compilation due to conflicting declarations. This commit modifies the preprocessor directives to allow for compilation with older and newer mesa header versions. Fixes: #1472
When mesa updated their headers, they changed the include guard from __glxext_h_ to __glx_glxext_h_, which breaks compilation due to conflicting declarations. This commit modifies the preprocessor directives to allow for compilation with older and newer mesa header versions. Fixes: SFML#1472
For the record, this issue makes SFML releases before 2.5 un-buildable on any recent Linux system. Clang:
GCC:
|
And the workaround, for archeologists: if you |
When I try to build the current master version of SFML it fails with several conflicting declarations with the previous declarations all being in glxext.h. On my system, this file is provided by a current git version of mesa. I have attached a logfile containing the output of cmake and make including the errors.
Your environment
Steps to reproduce
Expected behavior
SFML builds without an error.
Actual behavior
SFML fails building with conflicting declarations.
build.log
Edit: The reason for this issue is src/SFML/Window/Unix/GlxExtensions.hpp including the system's GL/glx.h which in turn includes GL/glxext.h. And this file then provides declarations that are also in src/SFML/Window/Unix/GlxExtensions.hpp.
The text was updated successfully, but these errors were encountered: