Piraxus / OrbiterSkyboltClient

Skybolt Engine graphics client for Orbiter Spaceflight Simulator
MIT License
14 stars 4 forks source link

Building project fails #15

Closed racerx2 closed 3 weeks ago

racerx2 commented 1 month ago

Unable to build as per the instructions on github. project appears to just have been dropped. No one has heard from the project creator here or on the orbiter forums since 2022

ummo93 commented 1 month ago

+1. I'm trying to update or downgrade conan, change the Skybolt version in the conanfile (because it doesn't match the required version), but I get an error with unclear traceback. However, the latest version of the Skybolt client does not work with OpenOrbiter, I get an error which has been fixed here but for some reason the build containing this fix was not presented here. It would be great if the author corrected the project build instructions, or released a build containing fixes...

matthew-reid commented 1 month ago

Sorry for the slow response, I haven't had much time recently to work on this, but I've got a bit of time now to sort out the build issues.

There are two main issues here:

I'll update the build steps in the README.md once I have things building again.

ummo93 commented 1 month ago

Thanks for your response, @matthew-reid! It helped a lot that you pointed out the conan version! Now I will describe what other problems I encountered and how I solved them in order to finally build the project, in the end I succeeded. 1) First of all, I did a build of the latest upstream state from https://github.com/orbitersim/orbiter using visual studio (maybe it's optional. To figure it out, I had to do this, and I ended up with this build. Perhaps you can get by with the already built version, which is included here ) 2) Installed conan 1.64 pip install --force-reinstall -v "conan==1.64" 3) Cloned skybolt repo from the branch with 1.4.0 version https://github.com/Prograda/Skybolt/tree/v1.4 and before do conan export Skybolt (if I try do this at this step I will get errors) we need to solve it before (at the next step) 4) First problem described here https://github.com/Prograda/Skybolt/issues/37 so we need to go to the src/Skybolt/SkyboltVis/CMakeLists.txt and replacefind_package(earcut REQUIRED) to find_package(earcut_hpp REQUIRED) and earcut::earcut to earcut_hpp::earcut_hpp. After that we need to go to src\Skybolt\SkyboltVis\Renderable\Planet\Tile\HeightMapElevationBounds.h and at the next line after #include <optional> we need to add #include <limits>. It's a little bit confusing but if this is not done, then we will get an error at the very end which points to the std::numeric_limits. 5) Now we can do conan export Skybolt and git clone https://github.com/Piraxus/OrbiterSkyboltClient 6) Next conan install OrbiterSkyboltClient --install-folder OrbiterSkyboltClientBuild --build=missing. Here you will have to wait a bit for the command to complete, it takes me about 20 minutes. 7) Now we can execute conan build OrbiterSkyboltClient --build-folder OrbiterSkyboltClientBuild and get the error that "Orbiter_LIBRARIES and Orbiter_INCLUDE_DIR cannot be found". To solve this we need to set system environment variables ORBITER_SDK_DIR=<your orbiter build location>\Orbitersdk\ (for example for me: C:\OpenOrbiter\orbiter\out\build\windows-x64-release\Orbitersdk) and Orbiter_LIBRARIES=<your orbiter build location>\Orbitersdk\lib (for me: C:\OpenOrbiter\orbiter\out\build\windows-x64-release\Orbitersdk\lib) 8) After this, building process starts working and completes successfully in my case.

Perhaps someone who wants to build it will find it useful.

Thank you @matthew-reid and I hope the project will develop further, because it looks beautiful, especially the volumetric clouds 👍

matthew-reid commented 3 weeks ago

I updated the README.md file to specify required conan and skybolt versions. I also released Skybolt v1.4.1 which fixes the earcut dependency name issue.