Hello! I was interested in building the plugin on Linux, I heard it might be possible, and was curious if there was a guide out there on how to do that? I apologize for the very basic question.
Thank you!
Hello! I was interested in building the plugin on Linux, I heard it might be possible, and was curious if there was a guide out there on how to do that? I apologize for the very basic question.
Thank you!
We don’t officially support Linux yet, but last time I tried it, it did build and run successfully. The developer setup instructions should get you started:
Let us know if you run into problems.
Kevin
Yes, I was able to get it built and running, thank you!
hello,
I am building on Linux and have encountered some issues.Could you please help me take a look? Thank you.
the command executed is “cmake --build build -j14 --target install --config RelWithDebInfo”
/opt/rh/devtoolset-11/root/usr/include/c++/11/bits/hashtable_policy.h:1812:13: required from ‘struct std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const std::basic_string, DotNet::CesiumForUnity::CesiumCredit>, true> > >’
/opt/rh/devtoolset-11/root/usr/include/c++/11/bits/hashtable_policy.h:811:13: required from ‘struct std::__detail::_Insert_base<std::basic_string, std::pair<const std::basic_string, DotNet::CesiumForUnity::CesiumCredit>, std::allocator<std::pair<const std::basic_string, DotNet::CesiumForUnity::CesiumCredit> >, std::__detail::_Select1st, std::equal_to<std::basic_string >, std::hash<std::basic_string >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/opt/rh/devtoolset-11/root/usr/include/c++/11/bits/hashtable_policy.h:1004:12: required from ‘struct std::__detail::_Insert<std::basic_string, std::pair<const std::basic_string, DotNet::CesiumForUnity::CesiumCredit>, std::allocator<std::pair<const std::basic_string, DotNet::CesiumForUnity::CesiumCredit> >, std::__detail::_Select1st, std::equal_to<std::basic_string >, std::hash<std::basic_string >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, false>’
/opt/rh/devtoolset-11/root/usr/include/c++/11/bits/hashtable.h:180:11: required from ‘class std::_Hashtable<std::basic_string, std::pair<const std::basic_string, DotNet::CesiumForUnity::CesiumCredit>, std::allocator<std::pair<const std::basic_string, DotNet::CesiumForUnity::CesiumCredit> >, std::__detail::_Select1st, std::equal_to<std::basic_string >, std::hash<std::basic_string >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/opt/rh/devtoolset-11/root/usr/include/c++/11/bits/unordered_map.h:105:18: required from ‘class std::unordered_map<std::basic_string, DotNet::CesiumForUnity::CesiumCredit>’
/data/unityWS/cesium/CesiumForUnityBuildProject/Packages/com.cesium.unity/native~/Runtime/src/CesiumCreditSystemImpl.h:46:7: required from here
/opt/rh/devtoolset-11/root/usr/include/c++/11/bits/stl_pair.h:218:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
218 | _T2 second; ///< The second member
| ^~~~~~
In file included from /data/unityWS/cesium/CesiumForUnityBuildProject/Packages/com.cesium.unity/native~/Runtime/src/CesiumCreditSystemImpl.h:5,
from /data/unityWS/cesium/CesiumForUnityBuildProject/Packages/com.cesium.unity/native~/Runtime/generated-Editor/include/DotNet/CesiumForUnity/CesiumCreditSystem.h:9,
from /data/unityWS/cesium/CesiumForUnityBuildProject/Packages/com.cesium.unity/native~/Runtime/src/Cesium3DTilesetImpl.h:5,
from /data/unityWS/cesium/CesiumForUnityBuildProject/Packages/com.cesium.unity/native~/Runtime/generated-Editor/include/DotNet/CesiumForUnity/Cesium3DTileset.h:9,
from /data/unityWS/cesium/CesiumForUnityBuildProject/Packages/com.cesium.unity/native~/Runtime/generated-Editor/src/DotNet/CesiumForUnity/CesiumIonRasterOverlay.cpp:20:
/data/unityWS/cesium/CesiumForUnityBuildProject/Packages/com.cesium.unity/native~/Runtime/generated-Editor/include/DotNet/System/Collections/Generic/List1.h:18:7: note: forward declaration of ‘class DotNet::CesiumForUnity::CesiumCredit’
18 | class CesiumCredit;
| ^~~~~~~~~~~~
gmake[2]: *** [Runtime/CMakeFiles/CesiumForUnityNative-Runtime.dir/generated-Editor/src/DotNet/CesiumForUnity/CesiumDebugColorizeTilesRasterOverlay.cpp.o] Error 1
gmake[2]: *** [Runtime/CMakeFiles/CesiumForUnityNative-Runtime.dir/generated-Editor/src/DotNet/CesiumForUnity/CesiumIonRasterOverlay.cpp.o] Error 1
gmake[1]: *** [Runtime/CMakeFiles/CesiumForUnityNative-Runtime.dir/all] Error 2
gmake: *** [all] Error 2
I’m also having issues completing this build, when running:
cmake -B build -S . -DCMAKE_BUILD_TYPE=RelWithDebInfo
I get
CMake Error at extern/cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:102 (message):
Call Stack (most recent call first):
extern/cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:184 (EZVCPKG_CHECK_RESULTS)
extern/cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:276 (EZVCPKG_BUILD)
extern/cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:290 (EZVCPKG_FETCH_IMPL)
extern/cesium-native/CMakeLists.txt:66 (ezvcpkg_fetch)
CMake Deprecation Warning at extern/tidy-html5/CMakeLists.txt:20 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument value or use a … suffix to tell
CMake that the project does not need compatibility with older versions.
CMake Warning (dev) at extern/tidy-html5/CMakeLists.txt:26 (project):
Policy CMP0048 is not set: project() command manages VERSION variables.
Run “cmake --help-policy CMP0048” for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
The following variable(s) would be set to empty:
PROJECT_VERSION
PROJECT_VERSION_MAJOR
PROJECT_VERSION_MINOR
PROJECT_VERSION_PATCH
This warning is for project developers. Use -Wno-dev to suppress it.
→ TIDY_SO_VERSION = 59. This is an ODD (development) release.
– *** Debug Logging is NOT enabled.
– *** Building support for runtime configuration files.
– *** Only building static library STATIC, version 5.9.14, date 2021.08.17
– VCPKG_TRIPLET x64-linux-unity
– VCPKG_OVERLAY_PORTS /home/oskar/git/cesium-unity-samples/Packages/com.cesium.unity/native~/vcpkg/ports
– VCPKG_OVERLAY_TRIPLETS /home/oskar/git/cesium-unity-samples/Packages/com.cesium.unity/native~/vcpkg/triplets
– EZVCPKG v0.1 starting up
Website: GitHub - jherico/ezvcpkg
– EZVCPKG_BASEDIR envrionment variable not found and basedir not set, using default /home/oskar/.ezvcpkg
– EZVCPKG initializing
commit: 2024.11.16
repository: GitHub - microsoft/vcpkg: C++ Library Manager for Windows, Linux, and MacOS
local dir: /home/oskar/.ezvcpkg/2024.11.16
– EZVCPKG Building/Verifying package asyncplusplus using triplet x64-linux-unity
CMake Error at extern/cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:83 (message):
EZVCPKG failed with error 1
Call Stack (most recent call first):
extern/cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:184 (EZVCPKG_CHECK_RESULTS)
extern/cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:276 (EZVCPKG_BUILD)
extern/cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:290 (EZVCPKG_FETCH_IMPL)
extern/cesium-native/CMakeLists.txt:66 (ezvcpkg_fetch)
*** The output from the command was:
error: Invalid triplet: x64-linux-unity
Built-in Triplets:
arm64-uwp
x86-windows
arm-neon-android
arm64-windows
x64-osx
x64-windows
x64-android
x64-uwp
x64-windows-static
x64-linux
arm64-osx
arm64-android
Community Triplets:
arm64-windows-static-md
x64-xbox-xboxone-static
x86-ios
arm64ec-windows
arm64-ios-simulator-release
arm-android
x64-freebsd
x86-windows-static-md
x86-windows-static
arm64-linux
wasm32-emscripten
x64-linux-dynamic
arm64-ios-release
arm64-mingw-static
s390x-linux-release
x86-windows-v120
x64-xbox-xboxone
riscv64-linux-release
arm-uwp
arm64-linux-release
x86-linux
x64-osx-dynamic
loongarch32-linux
arm-linux-release
ppc64le-linux
mips64-linux
arm64-uwp-static-md
x86-mingw-static
loongarch64-linux-release
arm-windows
arm64-mingw-dynamic
arm64-ios-simulator
arm64-ios
x64-uwp-static-md
x64-xbox-scarlett-static
arm-windows-static
x64-mingw-dynamic
riscv32-linux
x64-osx-release
x86-mingw-dynamic
x64-xbox-scarlett
x86-freebsd
x64-windows-release
x64-windows-static-release
armv6-android
s390x-linux
loongarch32-linux-release
x64-openbsd
riscv64-linux
arm-mingw-dynamic
arm64-osx-release
x64-mingw-static
x64-windows-static-md-release
x86-android
arm-linux
arm-uwp-static-md
x64-linux-release
x86-uwp
arm-mingw-static
arm64-windows-static
arm64-osx-dynamic
riscv32-linux-release
x64-ios
ppc64le-linux-release
arm-ios
x64-windows-static-md
loongarch64-linux
arm64-windows-static-release
x86-uwp-static-md
Overlay Triplets from “/home/oskar/git/cesium-unity-samples/Packages/com.cesium.unity/native~/vcpkg/triplets”:
arm64-android-unity
x64-windows-unity
arm64-osx-unity
x64-android-unity
arm64-ios-unity
arm64-uwp-unity
x64-osx-unity
x64-uwp-unity
arm64-android-unity
x64-windows-unity
arm64-osx-unity
x64-android-unity
arm64-ios-unity
arm64-uwp-unity
x64-osx-unity
x64-uwp-unity
See Triplet variables | Microsoft Learn for more information.
CMake Error at extern/cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:102 (message):
Call Stack (most recent call first):
extern/cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:184 (EZVCPKG_CHECK_RESULTS)
extern/cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:276 (EZVCPKG_BUILD)
extern/cesium-native/cmake/ezvcpkg/ezvcpkg.cmake:290 (EZVCPKG_FETCH_IMPL)
extern/cesium-native/CMakeLists.txt:66 (ezvcpkg_fetch)
– Configuring incomplete, errors occurred!
cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
cmake --version
cmake version 3.30.3
dotnet --version
9.0.102
gcc --version
gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Please let me know if there are any threads dealing with this issue or if there is any additional information that is needed.
Hi @paulsso, welcome to the community!
It seems like ezvcpkg
is encountering errors with the x64-linux-unity
triplet file. I don’t believe that comes with the plugin, so it would help if you shared what that looks like! Otherwise I’m not sure what’s going wrong from a glance.