Skip to content

Conversation

costashatz
Copy link
Member

@costashatz costashatz commented Mar 1, 2021

This PR replaces WindowlessGlxAppilcation with the more powerful WindowlessEglApplication for Linux. Unfortunately, we are stuck with WindowlessCglApplication for Mac.

We also fix a small issue with OpenGL/GLFW3 detection..

@costashatz costashatz added this to the RobotDART 1.0.0 milestone Mar 1, 2021
@costashatz costashatz changed the title Usage of Egl instead of Glx Use of Egl instead of Glx Mar 1, 2021
@costashatz costashatz removed this from the RobotDART 1.0.0 milestone Sep 28, 2021
@costashatz costashatz added this to the RobotDART 1.0.0 milestone Sep 9, 2022
@costashatz costashatz changed the title Use of Egl instead of Glx Use Egl instead of Glx Sep 12, 2022
@costashatz costashatz self-assigned this Sep 12, 2022
@costashatz
Copy link
Member Author

@jbmouret have a try on this one in your dockers! In essence, I replaced all glx with egl (see the ci/install_magnum.sh). If this works for you, I'll merge..

Now we can have windowless apps without dummy (or real) xservers! And in theory, GLFW should be better with egl!

@jbmouret
Copy link
Collaborator

I've run ci/install_magnum.sh then waf configure

The library compiles but not the examples.

[ 44/119] Linking build/pendulum
./libRobotDARTMagnum.a(cube_map_color.cpp.4.o): In function `CubeMapColor':
/home/pal/robot_dart/build/../src/robot_dart/gui/magnum/gs/cube_map_color.cpp:37: undefined reference to `Magnum::GL::AbstractShaderProgram::attachShaders(std::initializer_list<Corrade::Containers::Reference<Magnum::GL::Shader> >)'
./libRobotDARTMagnum.a(cube_map.cpp.4.o): In function `CubeMap':
/home/pal/robot_dart/build/../src/robot_dart/gui/magnum/gs/cube_map.cpp:36: undefined reference to `Magnum::GL::AbstractShaderProgram::attachShaders(std::initializer_list<Corrade::Containers::Reference<Magnum::GL::Shader> >)'
./libRobotDARTMagnum.a(shadow_map.cpp.4.o): In function `ShadowMap':
/home/pal/robot_dart/build/../src/robot_dart/gui/magnum/gs/shadow_map.cpp:32: undefined reference to `Magnum::GL::AbstractShaderProgram::attachShaders(std::initializer_list<Corrade::Containers::Reference<Magnum::GL::Shader> >)'
./libRobotDARTMagnum.a(shadow_map_color.cpp.4.o): In function `ShadowMapColor':
/home/pal/robot_dart/build/../src/robot_dart/gui/magnum/gs/shadow_map_color.cpp:32: undefined reference to `Magnum::GL::AbstractShaderProgram::attachShaders(std::initializer_list<Corrade::Containers::Reference<Magnum::GL::Shader> >)'
./libRobotDARTMagnum.a(phong_multi_light.cpp.4.o): In function `PhongMultiLight':
/home/pal/robot_dart/build/../src/robot_dart/gui/magnum/gs/phong_multi_light.cpp:39: undefined reference to `Magnum::GL::AbstractShaderProgram::attachShaders(std::initializer_list<Corrade::Containers::Reference<Magnum::GL::Shader> >)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

@costashatz
Copy link
Member Author

but not the examples.

This smells like a bad installation procedure... Maybe two magnums installed? Or some error that was ignored?

@jbmouret
Copy link
Collaborator

Yes, I will try again by removing all the current magnum...

@jbmouret
Copy link
Collaborator

jbmouret commented Oct 3, 2022

So, it did compile in our docker. Should I try on mac too?

@costashatz
Copy link
Member Author

For Mac, this shouldn't change anything. There's no egl in Mac. Only Cgl which was the one using already. Thanks for testing..!

@costashatz costashatz merged commit 0dcda57 into master Dec 28, 2022
@costashatz costashatz deleted the egl branch December 28, 2022 23:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants