TzuChieh / Photon-v2

A program that takes photographs of a virtual world.
https://tzuchieh.github.io/Photon-v2-site/engine_docs/v2.0.0-beta/Photon/html/index.html
MIT License
84 stars 5 forks source link

Resurrect Linux build #108

Open TzuChieh opened 2 months ago

TzuChieh commented 2 months ago
TzuChieh commented 2 months ago

Capillary J reported that Linux build is broken

Indeed, Linux and macOS builds are far behind the current Windows build. The error message is about the lack of precompiled libraries. Backup of the build log:

CMake Warning at scripts/cmake/func_load_library_via_config.cmake:74 (message):
  load_library_via_config(): GTest not found on specified config path,
  retrying with default path
Call Stack (most recent call first):
  CMakeLists.txt:236 (load_library_via_config)

CMake Error at scripts/cmake/func_load_library_manually.cmake:69 (message):
  load_library_manually(): gmock not found, please specify its location via
  googletest_LIB_gmock
Call Stack (most recent call first):
  CMakeLists.txt:250 (load_library_manually)

CMake Error at scripts/cmake/func_load_library_manually.cmake:109 (message):
  Unable to load library googletest
Call Stack (most recent call first):
  CMakeLists.txt:250 (load_library_manually)

-- Could NOT find stb (missing: stb_DIR)
CMake Warning at scripts/cmake/func_load_library_via_config.cmake:74 (message):
  load_library_via_config(): stb not found on specified config path, retrying
  with default path
Call Stack (most recent call first):
  CMakeLists.txt:262 (load_library_via_config)

-- load_library_via_config(): Config file of stb not found
CMake Error at scripts/cmake/func_load_library_via_config.cmake:130 (message):
  load_library_via_config(): Unable to load stb
Call Stack (most recent call first):
  CMakeLists.txt:262 (load_library_via_config)

-- Could NOT find Asio (missing: Asio_DIR)
CMake Warning at scripts/cmake/func_load_library_via_config.cmake:74 (message):
  load_library_via_config(): Asio not found on specified config path,
  retrying with default path
Call Stack (most recent call first):
  CMakeLists.txt:270 (load_library_via_config)

-- load_library_via_config(): Config file of Asio not found
CMake Error at scripts/cmake/func_load_library_via_config.cmake:130 (message):
  load_library_via_config(): Unable to load Asio
Call Stack (most recent call first):
  CMakeLists.txt:270 (load_library_via_config)

-- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) 
CMake Error at scripts/cmake/func_load_library_manually.cmake:69 (message):
  load_library_manually(): zlib;z not found, please specify its location via
  zlib_LIB_zlib_OR_z
Call Stack (most recent call first):
  CMakeLists.txt:293 (load_library_manually)

CMake Error at scripts/cmake/func_load_library_manually.cmake:109 (message):
  Unable to load library zlib
Call Stack (most recent call first):
  CMakeLists.txt:293 (load_library_manually)

-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
CMake Error at scripts/cmake/func_load_library_manually.cmake:69 (message):
  load_library_manually(): Half not found, please specify its location via
  IlmBase_LIB_Half
Call Stack (most recent call first):
  CMakeLists.txt:340 (load_library_manually)

CMake Error at scripts/cmake/func_load_library_manually.cmake:69 (message):
  load_library_manually(): Iex not found, please specify its location via
  IlmBase_LIB_Iex
Call Stack (most recent call first):
  CMakeLists.txt:340 (load_library_manually)

CMake Error at scripts/cmake/func_load_library_manually.cmake:69 (message):
  load_library_manually(): IexMath not found, please specify its location via
  IlmBase_LIB_IexMath
Call Stack (most recent call first):
  CMakeLists.txt:340 (load_library_manually)

CMake Error at scripts/cmake/func_load_library_manually.cmake:69 (message):
  load_library_manually(): IlmThread not found, please specify its location
  via IlmBase_LIB_IlmThread
Call Stack (most recent call first):
  CMakeLists.txt:340 (load_library_manually)

CMake Error at scripts/cmake/func_load_library_manually.cmake:69 (message):
  load_library_manually(): Imath not found, please specify its location via
  IlmBase_LIB_Imath
Call Stack (most recent call first):
  CMakeLists.txt:340 (load_library_manually)

CMake Error at scripts/cmake/func_load_library_manually.cmake:109 (message):
  Unable to load library IlmBase
Call Stack (most recent call first):
  CMakeLists.txt:340 (load_library_manually)

CMake Error at scripts/cmake/func_load_library_manually.cmake:69 (message):
  load_library_manually(): IlmImf not found, please specify its location via
  OpenEXR_LIB_IlmImf
Call Stack (most recent call first):
  CMakeLists.txt:346 (load_library_manually)

CMake Error at scripts/cmake/func_load_library_manually.cmake:69 (message):
  load_library_manually(): IlmImfUtil not found, please specify its location
  via OpenEXR_LIB_IlmImfUtil
Call Stack (most recent call first):
  CMakeLists.txt:346 (load_library_manually)

CMake Error at scripts/cmake/func_load_library_manually.cmake:109 (message):
  Unable to load library OpenEXR
Call Stack (most recent call first):
  CMakeLists.txt:346 (load_library_manually)

-- Could NOT find glfw (missing: glfw_DIR)
CMake Warning at scripts/cmake/func_load_library_via_config.cmake:74 (message):
  load_library_via_config(): glfw not found on specified config path,
  retrying with default path
Call Stack (most recent call first):
  CMakeLists.txt:357 (load_library_via_config)

-- load_library_via_config(): Config file of glfw not found
CMake Error at scripts/cmake/func_load_library_via_config.cmake:130 (message):
  load_library_via_config(): Unable to load glfw
Call Stack (most recent call first):
  CMakeLists.txt:357 (load_library_via_config)

-- Could NOT find glad (missing: glad_DIR)
CMake Warning at scripts/cmake/func_load_library_via_config.cmake:74 (message):
  load_library_via_config(): glad not found on specified config path,
  retrying with default path
Call Stack (most recent call first):
  CMakeLists.txt:367 (load_library_via_config)

-- load_library_via_config(): Config file of glad not found
CMake Error at scripts/cmake/func_load_library_via_config.cmake:130 (message):
  load_library_via_config(): Unable to load glad
Call Stack (most recent call first):
  CMakeLists.txt:367 (load_library_via_config)

-- Could NOT find concurrentqueue (missing: concurrentqueue_DIR)
CMake Warning at scripts/cmake/func_load_library_via_config.cmake:74 (message):
  load_library_via_config(): concurrentqueue not found on specified config
  path, retrying with default path
Call Stack (most recent call first):
  CMakeLists.txt:411 (load_library_via_config)

-- load_library_via_config(): Config file of concurrentqueue not found
CMake Error at scripts/cmake/func_load_library_via_config.cmake:130 (message):
  load_library_via_config(): Unable to load concurrentqueue
Call Stack (most recent call first):
  CMakeLists.txt:411 (load_library_via_config)

-- Could NOT find nlohmann_json (missing: nlohmann_json_DIR)
CMake Warning at scripts/cmake/func_load_library_via_config.cmake:74 (message):
  load_library_via_config(): nlohmann_json not found on specified config
  path, retrying with default path
Call Stack (most recent call first):
  CMakeLists.txt:419 (load_library_via_config)

-- load_library_via_config(): Found nlohmann_json (considered configs: /nix/store/g2cb1l52svcgf2fyqsx5ay8wa6dy42qp-nlohmann_json-3.11.3/share/cmake/nlohmann_json/nlohmann_jsonConfig.cmake)
-- load_library_via_config(): nlohmann_json loaded
CMake Error at scripts/cmake/func_link_thirdparty_lib.cmake:47 (message):
  Cannot link Engine against stb, please make sure load_thirdparty_lib() is
  correctly invoked.
Call Stack (most recent call first):
  Engine/Engine/CMakeLists.txt:44 (link_thirdparty_lib)

-- Configuring incomplete, errors occurred!
TzuChieh commented 2 months ago

Current status: fixing build errors and warnings

TzuChieh commented 2 months ago

Engine now compiles properly using GNU compiler (g++ 14.0.1). Now working on editor.

TzuChieh commented 2 months ago

All unit tests passed. All render tests passed. CLI and editor both working properly.

TzuChieh commented 2 months ago

All tasks are done. Awaiting Capillary J to confirm.