TrenchBroom / TrenchBroom

Cross-Platform Level Editor

Home Page:kristianduske.com/trenchbroom

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can't build on Windows

iOrange opened this issue · comments

System Information

TrenchBroom right from the repo on Windows 11

Expected Behavior

should build

Steps to Reproduce

Clone the repo, make a build folder inside, go to it, run cmake .. -G "Visual Studio 16 2019" -T v142 -A x64 -DCMAKE_PREFIX_PATH="d:\Qt\5.15.2\msvc2019_64"

it'll download and build bunch of libraries until it errors:

Installing 28/38 jasper:x64-windows...
Building jasper[core,default-features,opengl]:x64-windows...
-- Installing port from location: D:\GudronDev\TrenchBroom_src\vcpkg\buildtrees\versioning_\versions\jasper\d7f51c26899ba9433a5a3ab92fc5b5887d5c764c
-- Downloading https://github.com/jasper-software/jasper/archive/402d096b39f4f618ad9e6ff2b4fc1b5eb260a2e4.tar.gz -> jasper-software-jasper-402d096b39f4f618ad9e6ff2b4fc1b5eb260a2e4.tar.gz...
-- Extracting source D:/GudronDev/TrenchBroom_src/vcpkg/downloads/jasper-software-jasper-402d096b39f4f618ad9e6ff2b4fc1b5eb260a2e4.tar.gz
-- Applying patch no_stdc_check.patch
-- Applying patch fix-library-name.patch
-- Using source at D:/GudronDev/TrenchBroom_src/vcpkg/buildtrees/jasper/src/5eb260a2e4-ca02e25be6.clean
-- Found external ninja('1.11.0').
-- Configuring x64-windows
-- Building x64-windows-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
    Command failed: "C:/Program Files/CMake/bin/cmake.exe" --build . --config Debug --target install -- -v -j25
    Working Directory: D:/GudronDev/TrenchBroom_src/vcpkg/buildtrees/jasper/x64-windows-dbg
    See logs for more information:
      D:\GudronDev\TrenchBroom_src\vcpkg\buildtrees\jasper\install-x64-windows-dbg-out.log

Call Stack (most recent call first):
  D:/GudronDev/TrenchBroom_src/build/vcpkg_installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process)
  D:/GudronDev/TrenchBroom_src/build/vcpkg_installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build)
  buildtrees/versioning_/versions/jasper/d7f51c26899ba9433a5a3ab92fc5b5887d5c764c/portfile.cmake:38 (vcpkg_cmake_install)
  scripts/ports.cmake:168 (include)


error: building jasper:x64-windows failed with: BUILD_FAILED
Elapsed time to handle jasper:x64-windows: 10 s
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+jasper
You can submit a new issue at:
  https://github.com/microsoft/vcpkg/issues/new?title=[jasper]+Build+error&body=Copy+issue+body+from+D%3A%2FGudronDev%2FTrenchBroom_src%2Fbuild%2Fvcpkg_installed%2Fvcpkg%2Fissue_body.md

-- Running vcpkg install - failed
CMake Error at vcpkg/scripts/buildsystems/vcpkg.cmake:899 (message):
  vcpkg install failed.  See logs for more information:
  D:\GudronDev\TrenchBroom_src\build\vcpkg-manifest-install.log
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake:170 (include)
  CMakeLists.txt:37 (project)


-- Configuring incomplete, errors occurred!

I wanted to debug to see why my dds textures won't show in the textures browser (they're shown as black square), but can't even build the TrenchBroom.

Could be this issue: microsoft/vcpkg#36103

You could try to update vcpkg and use the latest version of jasper.

Thanks for the info. I'm not familiar with the vcpkg, but I'll try to dig thanks.

For anyone needing to do this, the method that worked for me was to add the following:

CMakeLists.txt, line 22:

# This should be removed once jasper is fixed.
# See https://github.com/microsoft/vcpkg/issues/36103#issuecomment-1888423591
# It requires MSVC 14.37.32822, which can be installed for VS 2022 by
# going to "Individual Components", finding "Compiler, build tools, and runtimes",
# and selecting "MSVC v143 - VS 2022 C++ x64/x86 build tools (v14.37-17.7)(Out of support)"
set(VCPKG_OVERLAY_TRIPLETS "${CMAKE_SOURCE_DIR}/vcpkg-overlay-triplets")

vcpkg-overlay-triplets/x64-windows-static.cmake:

set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE static)
set(VCPKG_LIBRARY_LINKAGE static)
set(VCPKG_PLATFORM_TOOLSET_VERSION "14.37.32822")

vcpkg-overlay-triplets/x64-windows.cmake:

set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)
set(VCPKG_PLATFORM_TOOLSET_VERSION "14.37.32822")

Has anyone tried updating to the latest vcpkg / jasper instead?

I did a git pull origin master in the vcpkg directory, but that didn't change anything. I'm assuming the jasper configuration is managed by vcpkg itself?

No, you would have to change the baseline and the jasper minimal version in vcpkg.json.

See this commit for an example.