Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚀 Use prebuild dependencies by default #3091

Closed
wants to merge 2 commits into from

Conversation

AnotherFoxGuy
Copy link
Member

@AnotherFoxGuy AnotherFoxGuy commented Sep 29, 2023

This removes the requirement for installing conan to build RoR
Now cmake will download a prebuild dependencies tarball, extract it and run a small test to see if it is able to build with the dependencies
Limitations of this system:

  • Only the Release build config is supported, for a debug build running Conan is still required
  • The Linux tarball might not work on every distro, if it fails using Conan is still recommended

To build on Linux:
Create a build dir: mkdir build && cd build
Generate ninja files: cmake -GNinja -DCMAKE_BUILD_TYPE=Release ..
Build the game: ninja

To build on Windows:
Create a build dir: mkdir build && cd build
Generate VS studio files: cmake -G"Visual Studio 16 2019" ..
Open the Rigs_of_Rods.sln file and switch the config to Release
Build the game as usual

@ohlidalp
Copy link
Member

ohlidalp commented Oct 14, 2023

My test setup:

  • Win10 x64, Visual Studio 2022 Community, 17.7.5 (latest) - standard installation via VisualStudioInstaller
  • cmake 3.27.7 (latest)
  • Ninja 1.11.1.1 (latest)

Attempt 1 - basic commands

rmdir /S /Q "%USERPROFILE%\builds\rigs-of-rods"

cmake^
 -S "%USERPROFILE%\source\rigs-of-rods"^
 -B "%USERPROFILE%\builds\rigs-of-rods"^
 -G "Ninja"

ninja "%USERPROFILE%\builds\rigs-of-rods"

Result : Cmake said: No CMAKE_C_COMPILER could be found. No CMAKE_CXX_COMPILER could be found.

Attempt 2 - added compiler paths (Host64/x64)

 -D "CMAKE_C_COMPILER=c:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.37.32822/bin/Hostx64/x64/cl.exe"^
 -D "CMAKE_CXX_COMPILER=c:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.37.32822/bin/Hostx64/x64/cl.exe"^

Result

-- The C compiler identification is MSVC 19.37.32825.0
-- The CXX compiler identification is MSVC 19.37.32825.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: c:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.37.32822/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: c:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.37.32822/bin/Hostx64/x64/cl.exe - broken
CMake Error at C:/Program Files/CMake/share/cmake-3.27/Modules/CMakeTestCCompiler.cmake:67 (message):
  The C compiler

    "c:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.37.32822/bin/Hostx64/x64/cl.exe"

  is not able to compile a simple test program.

Attempt 3 (forced x64 build)

 -G "Ninja"^
 -A "x64"

OK this doesn't work:

CMake Error at CMakeLists.txt:19 (project):
  Generator

    Ninja

  does not support platform specification, but platform

    x64

  was specified.

Attempt4 (use x86 cl.exe)

 -D "CMAKE_C_COMPILER=c:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.37.32822/bin/Hostx64/x86/cl.exe"^
 -D "CMAKE_CXX_COMPILER=c:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.37.32822/bin/Hostx64/x86/cl.exe"^

Result

-- The C compiler identification is MSVC 19.37.32825.0
-- The CXX compiler identification is MSVC 19.37.32825.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: c:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.37.32822/bin/Hostx64/x86/cl.exe
-- Check for working C compiler: c:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.37.32822/bin/Hostx64/x86/cl.exe - broken
CMake Error at C:/Program Files/CMake/share/cmake-3.27/Modules/CMakeTestCCompiler.cmake:67 (message):
  The C compiler

    "c:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.37.32822/bin/Hostx64/x86/cl.exe"

  is not able to compile a simple test program.

@ohlidalp ohlidalp closed this Oct 14, 2023
@ohlidalp ohlidalp reopened this Oct 14, 2023
@AnotherFoxGuy
Copy link
Member Author

@ohlidalp On windows you have to run cmake and ninja in the Developer Command Prompt for VS 2019, otherwise cmake is unable to find the compiler and linker

@ohlidalp
Copy link
Member

Sorry about the close/reopen, UI focused the Close button while I was typing for some reason.

OK, I'll keep that in mind for next time.

@ohlidalp
Copy link
Member

I launched the same .cmd script from the Developer Command Prompt, without the paths to compiler. It chose "Hostx86/x86/cl.exe". But then failed without much detail:

-- Performing Test DEPS_CHECK
-- Performing Test DEPS_CHECK - Failed
CMake Error at cmake/DownloadDeps.cmake:46 (message):
  Failed to build test program with prebuild deps, please use conan
Call Stack (most recent call first):
  cmake/DownloadDeps.cmake:50 (run_deps_test)
  CMakeLists.txt:38 (include)

@AnotherFoxGuy
Copy link
Member Author

@ohlidalp I updated the PR description with some better instructions on how to build on Windows

@AnotherFoxGuy AnotherFoxGuy force-pushed the prebuild-deps branch 2 times, most recently from ae5a3b8 to f4bfd39 Compare March 19, 2024 16:55
@ohlidalp
Copy link
Member

ohlidalp commented Jun 18, 2024

Trying again. Same spec as above. Cmake latest. Conan uninstalled just to be sure.

rmdir /S /Q "%USERPROFILE%\builds\rigs-of-rods-prebuiltdeps"

cmake^
 -S "%USERPROFILE%\source\rigs-of-rods"^
 -B "%USERPROFILE%\builds\rigs-of-rods-prebuiltdeps"^
 -G "Visual Studio 17 2022"

pause

In visual studio, I select "Release" and do "Build Solution". Ends with:

12>LINK : fatal error C1047: The object or library file '..\..\_deps\dependencies-src\full_deploy\host\ogre3d-pagedgeometry\1.2.0\Release\x86_64\lib\PagedGeometry.lib' was created by a different version of the compiler than other objects like 'RoR.dir\Release\cmake_pch.obj'; rebuild all objects and libraries with the same compiler
12>LINK : fatal error LNK1257: code generation failed

Full logs attached

github 3091 - prebuilt.zip

@Zentro
Copy link
Member

Zentro commented Sep 1, 2024

System:
Fedora Linux 40 KDE spin up to date

May need clearer instructions for Linux.

  1. made build dir
  2. ran cmake -GNinja -DCMAKE_BUILD_TYPE=Release .
  3. ran ninja FAIL, output below
true
true
[328/382] Building CXX object source/main/CMakeFiles/RoR.dir/resources/addonpart_fileformat/AddonPartFileFormat.cpp.o
FAILED: source/main/CMakeFiles/RoR.dir/resources/addonpart_fileformat/AddonPartFileFormat.cpp.o 
/usr/lib64/ccache/c++ -DAL_LIBTYPE_STATIC -DAS_USE_NAMESPACE -DCURL_STATICLIB=1 -DFREEIMAGE_LIB -DLIBJPEG_STATIC -DLIBRAW_NODLL -DLZMA_API_STATIC -DUSE_ANGELSCRIPT -DUSE_CAELUM -DUSE_CURL -DUSE_DISCORD_RPC -DUSE_MUMBLE -DUSE_OPENAL -DUSE_PAGED -DUSE_SOCKETW -D__ANSI__ -I/home/ren/tests/rigs-of-rods/external/header_only -I/home/ren/tests/rigs-of-rods/source/main/. -I/home/ren/tests/rigs-of-rods/source/main/audio -I/home/ren/tests/rigs-of-rods/source/main/datatypes -I/home/ren/tests/rigs-of-rods/source/main/gameplay -I/home/ren/tests/rigs-of-rods/source/main/gfx -I/home/ren/tests/rigs-of-rods/source/main/gfx/camera -I/home/ren/tests/rigs-of-rods/source/main/gfx/hydrax -I/home/ren/tests/rigs-of-rods/source/main/gfx/particle -I/home/ren/tests/rigs-of-rods/source/main/gfx/skyx -I/home/ren/tests/rigs-of-rods/source/main/gui -I/home/ren/tests/rigs-of-rods/source/main/gui/imgui -I/home/ren/tests/rigs-of-rods/source/main/gui/mygui -I/home/ren/tests/rigs-of-rods/source/main/gui/panels -I/home/ren/tests/rigs-of-rods/source/main/network -I/home/ren/tests/rigs-of-rods/source/main/physics -I/home/ren/tests/rigs-of-rods/source/main/physics/air -I/home/ren/tests/rigs-of-rods/source/main/physics/collision -I/home/ren/tests/rigs-of-rods/source/main/physics/flex -I/home/ren/tests/rigs-of-rods/source/main/physics/utils -I/home/ren/tests/rigs-of-rods/source/main/physics/water -I/home/ren/tests/rigs-of-rods/source/main/resources -I/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat -I/home/ren/tests/rigs-of-rods/source/main/resources/odef_fileformat -I/home/ren/tests/rigs-of-rods/source/main/resources/otc_fileformat -I/home/ren/tests/rigs-of-rods/source/main/resources/rig_def_fileformat -I/home/ren/tests/rigs-of-rods/source/main/resources/skin_fileformat -I/home/ren/tests/rigs-of-rods/source/main/resources/terrn2_fileformat -I/home/ren/tests/rigs-of-rods/source/main/resources/tobj_fileformat -I/home/ren/tests/rigs-of-rods/source/main/resources/tuneup_fileformat -I/home/ren/tests/rigs-of-rods/source/main/system -I/home/ren/tests/rigs-of-rods/source/main/scripting -I/home/ren/tests/rigs-of-rods/source/main/scripting/bindings -I/home/ren/tests/rigs-of-rods/source/main/terrain -I/home/ren/tests/rigs-of-rods/source/main/terrain/map -I/home/ren/tests/rigs-of-rods/source/main/threadpool -I/home/ren/tests/rigs-of-rods/source/main/utils -I/home/ren/tests/rigs-of-rods/source/main/utils/memory -I/home/ren/tests/rigs-of-rods/external/angelscript_addons -I/home/ren/tests/rigs-of-rods/source/version_info -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include/OGRE -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include/OGRE/Bites -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include/OGRE/MeshLodGenerator -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include/OGRE/Overlay -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include/OGRE/Paging -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include/OGRE/Plugins -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include/OGRE/Property -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include/OGRE/RenderSystems -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include/OGRE/RTShaderSystem -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include/OGRE/Terrain -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include/OGRE/Threading -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d/1.11.6.1/Release/x86_64/include/OGRE/Volume -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/rapidjson/cci.20211112/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/openal-soft/1.22.2/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/openal-soft/1.22.2/Release/x86_64/include/AL -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/zziplib/0.13.72/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/zlib/1.2.13/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/freetype/2.13.0/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/freetype/2.13.0/Release/x86_64/include/freetype2 -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/libpng/1.6.39/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/freeimage/3.18.0/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/cg-toolkit/3.1/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/pugixml/1.13/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ois/1.4.1/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ois/1.4.1/Release/x86_64/include/OIS -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/fmt/8.0.1/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/mygui/3.4.0/Release/x86_64/include/MYGUI -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/discord-rpc/3.4.0/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/socketw/3.11.0/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/openssl/1.1.1s/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/angelscript/2.35.1/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/libcurl/7.79.1/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d-caelum/0.6.3.1/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d-caelum/0.6.3.1/Release/x86_64/include/Caelum -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d-pagedgeometry/1.2.0/Release/x86_64/include -isystem /home/ren/tests/rigs-of-rods/_deps/dependencies-src/full_deploy/host/ogre3d-pagedgeometry/1.2.0/Release/x86_64/include/PagedGeometry -std=c++11  -O3 -DNDEBUG        -O2 -ffast-math -DNDEBUG -Wno-deprecated-declarations -Wno-attributes -Winvalid-pch -include /home/ren/tests/rigs-of-rods/source/main/CMakeFiles/RoR.dir/cmake_pch.hxx -MD -MT source/main/CMakeFiles/RoR.dir/resources/addonpart_fileformat/AddonPartFileFormat.cpp.o -MF source/main/CMakeFiles/RoR.dir/resources/addonpart_fileformat/AddonPartFileFormat.cpp.o.d -o source/main/CMakeFiles/RoR.dir/resources/addonpart_fileformat/AddonPartFileFormat.cpp.o -c /home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.cpp
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.cpp: In static member function ‘static void RoR::AddonPartUtility::RecordAddonpartConflicts(RoR::CacheEntryPtr, RoR::CacheEntryPtr, RoR::AddonPartConflictVec&)’:
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.cpp:805:111: error: no matching function for call to ‘RoR::AddonPartConflict::AddonPartConflict(<brace-enclosed initializer list>)’
  805 |             conflicts.push_back(AddonPartConflict{addonpart1, addonpart2, "addonpart_tweak_node", (int)suspect});
      |                                                                                                               ^
In file included from /home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.cpp:22:
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note: candidate: ‘RoR::AddonPartConflict::AddonPartConflict()’
   38 | struct AddonPartConflict //!< Conflict between two addonparts tweaking the same element
      |        ^~~~~~~~~~~~~~~~~
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note:   candidate expects 0 arguments, 4 provided
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note: candidate: ‘RoR::AddonPartConflict::AddonPartConflict(const RoR::AddonPartConflict&)’
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note:   candidate expects 1 argument, 4 provided
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note: candidate: ‘RoR::AddonPartConflict::AddonPartConflict(RoR::AddonPartConflict&&)’
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note:   candidate expects 1 argument, 4 provided
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.cpp:817:112: error: no matching function for call to ‘RoR::AddonPartConflict::AddonPartConflict(<brace-enclosed initializer list>)’
  817 |             conflicts.push_back(AddonPartConflict{addonpart1, addonpart2, "addonpart_tweak_wheel", (int)suspect});
      |                                                                                                                ^
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note: candidate: ‘RoR::AddonPartConflict::AddonPartConflict()’
   38 | struct AddonPartConflict //!< Conflict between two addonparts tweaking the same element
      |        ^~~~~~~~~~~~~~~~~
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note:   candidate expects 0 arguments, 4 provided
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note: candidate: ‘RoR::AddonPartConflict::AddonPartConflict(const RoR::AddonPartConflict&)’
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note:   candidate expects 1 argument, 4 provided
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note: candidate: ‘RoR::AddonPartConflict::AddonPartConflict(RoR::AddonPartConflict&&)’
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note:   candidate expects 1 argument, 4 provided
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.cpp:829:111: error: no matching function for call to ‘RoR::AddonPartConflict::AddonPartConflict(<brace-enclosed initializer list>)’
  829 |             conflicts.push_back(AddonPartConflict{addonpart1, addonpart2, "addonpart_tweak_prop", (int)suspect});
      |                                                                                                               ^
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note: candidate: ‘RoR::AddonPartConflict::AddonPartConflict()’
   38 | struct AddonPartConflict //!< Conflict between two addonparts tweaking the same element
      |        ^~~~~~~~~~~~~~~~~
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note:   candidate expects 0 arguments, 4 provided
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note: candidate: ‘RoR::AddonPartConflict::AddonPartConflict(const RoR::AddonPartConflict&)’
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note:   candidate expects 1 argument, 4 provided
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note: candidate: ‘RoR::AddonPartConflict::AddonPartConflict(RoR::AddonPartConflict&&)’
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note:   candidate expects 1 argument, 4 provided
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.cpp:841:115: error: no matching function for call to ‘RoR::AddonPartConflict::AddonPartConflict(<brace-enclosed initializer list>)’
  841 |             conflicts.push_back(AddonPartConflict{addonpart1, addonpart2, "addonpart_tweak_flexbody", (int)suspect});
      |                                                                                                                   ^
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note: candidate: ‘RoR::AddonPartConflict::AddonPartConflict()’
   38 | struct AddonPartConflict //!< Conflict between two addonparts tweaking the same element
      |        ^~~~~~~~~~~~~~~~~
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note:   candidate expects 0 arguments, 4 provided
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note: candidate: ‘RoR::AddonPartConflict::AddonPartConflict(const RoR::AddonPartConflict&)’
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note:   candidate expects 1 argument, 4 provided
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note: candidate: ‘RoR::AddonPartConflict::AddonPartConflict(RoR::AddonPartConflict&&)’
/home/ren/tests/rigs-of-rods/source/main/resources/addonpart_fileformat/AddonPartFileFormat.h:38:8: note:   candidate expects 1 argument, 4 provided
[345/382] Building CXX object source/main/CMakeFiles/RoR.dir/resources/rig_def_fileformat/RigDef_Parser.cpp.o
ninja: build stopped: subcommand failed.

@ohlidalp
Copy link
Member

ohlidalp commented Sep 27, 2024

Error - logs attached

12>LINK : fatal error C1047: The object or library file '..\..\_deps\dependencies-src\full_deploy\host\ogre3d-pagedgeometry\1.2.0\Release\x86_64\lib\PagedGeometry.lib' was created by a different version of the compiler than other objects like 'RoR.dir\Release\cmake_pch.obj'; rebuild all objects and libraries with the same compiler
12>LINK : fatal error LNK1257: code generation failed

2024-09-27_RoR_GH3019_prebuiltdeps.zip

UPDATE: Looks like I have a problem with PagedGeometry in general, master also fails:

11>LINK : fatal error C1047: The object or library file 'C:\Users\Petr\.conan2\p\b\ogre3305a1797655df\p\lib\PagedGeometry.lib' was created by a different version of the compiler than other objects like 'RoR.dir\Release\cmake_pch.obj'; rebuild all objects and libraries with the same compiler
11>LINK : fatal error LNK1257: code generation failed

UPDATE2: after purging conan PagedGeometry packages, my build (Release) works again:

-------- Installing package ogre3d-pagedgeometry/1.2.2-ror@anotherfoxguy/stable (36 of 36) --------
ogre3d-pagedgeometry/1.2.2-ror@anotherfoxguy/stable: Building from source

Setup

Using cmake latest (3.30.3), conan uninstalled just to be sure.
AMD Ryzen 5 5600X 6-Core Processor 3.70 GHz
Installed RAM 32,0 GB
Windows 10 Pro; Version 22H2; OS build 19045.4894
Microsoft Visual Studio Community 2022 (64-bit) - Version 17.11.3

Steps

  1. open VS2022 dev prompt
  2. run .cmd file (attached) --> configure OK
  3. open .sln, select Release, do BuildSolution --> error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants