-
Notifications
You must be signed in to change notification settings - Fork 102
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
Building on Linux / Mac #660
Comments
Hi, these errors are triggered by a new compiler version. I haven't worked on the project for a few years now, so this is expected. In this case, you just need to explicitly define the copy assignment. If you send me a PR I'll merge it. Yes, Equalizer allows you to write any custom GL code, it's one of the core design principles. |
Great, thanks! |
First commit the submodule (go into the subdir, add your user remote, create branch and push to user). Submit a PR on these, I'll merge, and then we can update the submodule references in Equalizer. |
I've made patches for 2 of the submodules that were pretty straight forward. However, I'm now running into other issues that seem a bit more complex. The first is the following with the Luncbox module:
I'm not sure how to override the restrict type to allow the same pointer to be passed in for both the second and third arguments. The second is the following with the Collage module:
Again, I'm not quite sure how to handle this error (seems to be a data type mismatch). |
I see that the error in Lunchbox has actually already been addressed in its 'master' branch, so Equalizer / Collage would just have to update their references to a later commit for the submodule. I think the same goes for the Pression submodule - no problems on 'master' but some errors when compiling as part of Equalizer / Collage. |
The error in Collage seems to stem from the following in co/dataOStream.h:
But |
I made a pull request for Collage - adding an empty function for when boost::is_base_of evaluates to false_type. This enables successful compilation, but please check and ensure this is the intended effect of the code. |
Hello. To fix compiler errors:
|
Hi. I'm also trying to build Equalizer (on Fedora 32), and I've got the same errors about _writeSerializable() and _readSerializable(). Additional question: how was that whole whole stuff able to build in 2019 ??? |
I also use vs2019, which is the same as your compilation error. How do you solve it? |
Woh, it was 2 years ago... I just had a look to the workdir where I tried to build Equalizer in 2020. I see several changes. Most of them is adding a copy constructor to 'trivially copyable' types (used by read/writeSerializable(), IIRC). There are binaries in the build/ directory, so I guess that the compilation was a success, but I do not remember if it was running as expected. I reinstalled Fedora since then, and so some system libraries are now missing to run Equalizer. I'll try to have a look next week. |
Sorry for the delay. I tried to build Equalizer on my Fedora 36 with my previous patches, and I confirm that all the libs and the main Equalizer project build without errors, and that eqPly runs with a 2-windows configuration as well as with a 2-nodes configuration. The main issue is about making some types being trivially copyable, so that the SFINAE definitions of _readSerializable() and _writeSerializable() succeed in finding the right implementation. I guess that they were some changes on the way the compilers define trivially copyable types... I'm currently pushing the needed patches on some forks, and I'll let you know the build recipe during the beginning of the next week. |
For the record, in dataOStream.h, we have:
we then have 2 specialization of _write():
The first one is called when T is trivially copyable (a simple copy is made), the second one when T is not trivially copyable.
This, if T is not trivially copyable AND does not derive from servus::Serializable, then it fails to compile. |
Yes, you are right. In the wins, I use Visual Studuio 2013 to compile Equalizer without any problems, But when I using Visual Stuido 2019, the error reported is exactly the same as what you said. |
Hello.
I am having trouble building Equalizer on Linux and Mac. I followed the simple commands provided:
However, this results in errors. First there are many warnings in the CMake process, but it eventually writes build files, stating:
Equalizer [2.1.0-27-g72ad80d] without Deflect hwloc MAGELLAN OpenCV OpenSceneGraph Qt5Core Qt5Gui Qt5Widgets VRPN ZeroEQ ZeroBuf GLEW_MX hwloc
.Then running ninja fails to build Equalizer:
I also just wanted to verify that Equalizer is the right tool for the job I am looking to do. I have an OpenGL 4.1 application (uses geometry and tessellation shaders), and I am wanting to enable distributed rendering to take advantage of multiple GPUs / multiple compute nodes so that my application can render larger data sets. Does Equalizer allow me to use OpenGL 4.1 and my own custom shaders?
The text was updated successfully, but these errors were encountered: