CesiumGS / cesium-unreal

Bringing the 3D geospatial ecosystem to Unreal Engine
https://cesium.com/platform/cesium-for-unreal/
Apache License 2.0
917 stars 292 forks source link

Issue compiling cesium-native in plugin #1509

Open Blyron opened 2 weeks ago

Blyron commented 2 weeks ago

Platform: Ubuntu 22.04 UE 5.3.2

Log: user@user:~$ cd arenderer/Unreal/MyProjectUE5/Plugins/Cesium/extern user@user:~/arenderer/Unreal/MyProjectUE5/Plugins/Cesium/extern$ cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE="unreal-linux-toolchain.cmake" -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -- The CXX compiler identification is Clang 16.0.6 -- The C compiler identification is Clang 16.0.6 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /home/user/UE5_engine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v22_clang-16.0.6-centos7/x86_64-unknown-linux-gnu/bin/clang++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /home/user/UE5_engine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v22_clang-16.0.6-centos7/x86_64-unknown-linux-gnu/bin/clang - skipped -- Detecting C compile features -- Detecting C compile features - done -- Using Unreal Engine installation at: /home/user/UE5_engine -- VCPKG_TRIPLET x64-linux-unreal -- EZVCPKG v0.1 starting up Website: https://github.com/jherico/ezvcpkg -- EZVCPKG_BASEDIR envrionment variable not found and basedir not set, using default /home/user/.ezvcpkg -- EZVCPKG initializing commit: 2024.07.12 repository: https://github.com/microsoft/vcpkg.git local dir: /home/user/.ezvcpkg/2024.07.12 -- EZVCPKG Building/Verifying package asyncplusplus using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package expected-lite using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package fmt using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package glm using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package ms-gsl using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package rapidjson using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package spdlog using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package stb using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package uriparser using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package abseil using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package draco using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package ktx using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package modp-base64 using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package meshoptimizer using triplet x64-linux-unreal -- EZVCPKG Building/Verifying package openssl using triplet x64-linux-unreal CMake Error at cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:83 (message): EZVCPKG failed with error 1 Call Stack (most recent call first): cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:185 (EZVCPKG_CHECK_RESULTS) cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:279 (EZVCPKG_BUILD) cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:293 (EZVCPKG_FETCH_IMPL) cesium-native/CMakeLists.txt:46 (ezvcpkg_fetch)

** The output from the command was: Computing installation plan... The following packages will be built and installed: openssl:x64-linux-unreal@0.0.0 -- /home/user/arenderer/Unreal/MyProjectUE5/Plugins/Cesium/extern/vcpkg-overlays/openssl Detecting compiler hash for triplet x64-linux-unreal... Compiler found: /home/user/UE5_engine/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v22_clang-16.0.6-centos7/x86_64-unknown-linux-gnu/bin/clang++ Restored 0 package(s) from /home/user/.cache/vcpkg/archives in 9.61 us. Use --debug to see more details. Installing 1/1 openssl:x64-linux-unreal@0.0.0... Building openssl:x64-linux-unreal@0.0.0... /home/user/arenderer/Unreal/MyProjectUE5/Plugins/Cesium/extern/vcpkg-overlays/triplets/x64-linux-unreal.cmake: info: loaded overlay triplet from here /home/user/arenderer/Unreal/MyProjectUE5/Plugins/Cesium/extern/vcpkg-overlays/openssl: info: installing overlay port from here -- Using Unreal Engine installation at /home/user/UE5_engine CMake Error at /home/user/arenderer/Unreal/MyProjectUE5/Plugins/Cesium/extern/vcpkg-overlays/openssl/portfile.cmake:34 (message): Could not deduce the OpenSSL root directory because there is not exactly one directory matching `/home/user/UE5_engine/Engine/Source/ThirdParty/OpenSSL/`. Call Stack (most recent call first): scripts/ports.cmake:192 (include)

error: building openssl:x64-linux-unreal failed with: BUILD_FAILEDSee https://learn.microsoft.com/vcpkg/troubleshoot/build-failures?WT.mc_id=vcpkg_inproduct_cli for more information. Elapsed time to handle openssl:x64-linux-unreal: 32.6 ms Please ensure you're using the latest port files with git pull and vcpkg update. Then check for known issues at: https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+openssl You can submit a new issue at: https://github.com/microsoft/vcpkg/issues/new?title=[openssl]+Build+error+on+x64-linux-unreal&body=Copy+issue+body+from+%2Fhome%2Fuser%2F.ezvcpkg%2F2024.07.12%2Finstalled%2Fvcpkg%2Fissue_body.md

CMake Error at cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:102 (message): Call Stack (most recent call first): cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:185 (EZVCPKG_CHECK_RESULTS) cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:279 (EZVCPKG_BUILD) cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:293 (EZVCPKG_FETCH_IMPL) cesium-native/CMakeLists.txt:46 (ezvcpkg_fetch)

-- Configuring incomplete, errors occurred!

kring commented 2 weeks ago

The error is this:

Could not deduce the OpenSSL root directory because there is not exactly one directory matching /home/user/UE5_engine/Engine/Source/ThirdParty/OpenSSL/*.

Is it true? Is that the correct directory based on your UE installation? Are there multiple OpenSSL versions there? Or perhaps zero?

Blyron commented 1 week ago

I have some files I think they are enough. image

kring commented 6 days ago

Ok, that Patches directory is the cause of your problem. Do you know where that came from? It doesn't exist in the Unreal Engine GitHub repo, or in installed versions of the Engine, so presumably you've added it locally? You'll either need to delete it (if you can), or change the logic in this file so that it does not get confused by its presence: https://github.com/CesiumGS/cesium-unreal/blob/v2.8.0/extern/vcpkg-overlays/openssl/portfile.cmake#L20

Blyron commented 6 days ago

Okay I'll try it. I have not added it. It may be because I have two different versions of Unreal and the patches folder is autogenerated?. I'll come back as soon as I can