Comments (17)
Could not find toolchain file: /scripts/buildsystems/vcpkg.cmake
your $VCPKG_ROOT is not set
from donut.
Doing cmake .
on it's own got me this far
[corey@corey-pc donut]$ cmake .
-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at /usr/share/cmake-3.20/Modules/CheckIncludeFileCXX.cmake:56 (configure_file):
configure_file attempted to configure a file:
/mnt/Storage/donut/CMakeFiles/CMakeTmp/CheckIncludeFile.cxx into a source
directory.
Call Stack (most recent call first):
CMakeLists.txt:36 (check_include_file_cxx)
-- Configuring incomplete, errors occurred!
See also "/mnt/Storage/donut/CMakeFiles/CMakeOutput.log".
from donut.
Why do we need to use vcpkg on LInux? couldn't this just use normal cmake, rely on already package manager and installed packages because I already have SDL2 ect installed on my Linux OS. The simplest way to get dependencies on Linux is through it's repository also doing ./vcpkg install sdl2 bullet3 openal-soft fmt
on Linux doesn't work because it's not located in the donut repo but a system package you need to install and requires sudo.
Also ran into this issue
Environment variable VCPKG_FORCE_SYSTEM_BINARIES must be set on arm, s390x, and ppc64le platforms.
Apprarently it's set to "VCPKG_ROOT" is set to **"/usr/share/vcpkg/scripts/buildsystems/vcpkg.cmake"**
when I installed it
Would of been way easier if it used normal cmake for all platforms or just use vcpkg only for Windows as it's not needed for Linux.
from donut.
[corey@corey-pc donut]$ cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=/usr/share/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-linux
-- Configuring done
CMake Warning (dev) in CMakeLists.txt:
Policy CMP0111 is not set: An imported target missing its location property
fails during generation. Run "cmake --help-policy CMP0111" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
IMPORTED_LOCATION not set for imported target "fmt::fmt" configuration
"RelWithDebInfo".
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: /mnt/Storage/donut/build
[corey@corey-pc donut]$ cmake --build build -j6
src/CMakeFiles/donut.dir/build.make:1072: *** target pattern contains no '%'. Stop.
make[1]: *** [CMakeFiles/Makefile2:124: src/CMakeFiles/donut.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
[corey@corey-pc donut]$ cmake ./build
-- Configuring done
CMake Warning (dev) in CMakeLists.txt:
Policy CMP0111 is not set: An imported target missing its location property
fails during generation. Run "cmake --help-policy CMP0111" for policy
details. Use the cmake_policy command to set the policy and suppress this
warning.
IMPORTED_LOCATION not set for imported target "fmt::fmt" configuration
"RelWithDebInfo".
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: /mnt/Storage/donut/build
Build instructions with cmake didn't work so I made some changes but even tho it gave a warning and said it finished I am not sure where the binary is.
from donut.
Using vpkg is unconventional as the majority of people DO NOT have it installed on their Linux systems. This is exactly why the majority of distros have a package manager and why most packages are available on a package manager that is not vpkg. Plus most people have sudo
access so this means being able to use their distro's package manager is just fine.
from donut.
So @RossComputerGuy came up with better and easier build instructions after deleting the build folder.
cmake -S . -B build
cd build
make -j $(nproc)
But we both ran into this same issue once we started building @handsomematt
[corey@corey-pc build]$ make -j6
[ 4%] Building CXX object src/CMakeFiles/donut.dir/AnimCamera.cpp.o
[ 4%] Building CXX object src/CMakeFiles/donut.dir/Character.cpp.o
[ 4%] Building CXX object src/CMakeFiles/donut.dir/Audio/AudioManager.cpp.o
[ 6%] Building CXX object src/CMakeFiles/donut.dir/CharacterController.cpp.o
[ 7%] Building CXX object src/CMakeFiles/donut.dir/Core/File.cpp.o
[ 9%] Building CXX object src/CMakeFiles/donut.dir/Core/Log.cpp.o
[ 11%] Building CXX object src/CMakeFiles/donut.dir/Core/Math/Math.cpp.o
[ 12%] Building CXX object src/CMakeFiles/donut.dir/Core/Math/Matrix3x3.cpp.o
[ 14%] Building CXX object src/CMakeFiles/donut.dir/Core/Math/Matrix4x4.cpp.o
[ 15%] Building CXX object src/CMakeFiles/donut.dir/Core/Math/Quaternion.cpp.o
[ 17%] Building CXX object src/CMakeFiles/donut.dir/Core/Math/Vector2.cpp.o
[ 19%] Building CXX object src/CMakeFiles/donut.dir/Core/Math/Vector3.cpp.o
[ 20%] Building CXX object src/CMakeFiles/donut.dir/Core/Math/Vector3Int.cpp.o
[ 22%] Building CXX object src/CMakeFiles/donut.dir/Core/Math/Vector4.cpp.o
[ 23%] Building CXX object src/CMakeFiles/donut.dir/Core/MemoryStream.cpp.o
/mnt/Storage/donut/src/Core/MemoryStream.cpp: In member function ‘void Donut::MemoryStream::ReadBytes(uint8_t*, std::size_t)’:
/mnt/Storage/donut/src/Core/MemoryStream.cpp:19:7: error: ‘memcpy’ is not a member of ‘std’
19 | std::memcpy(dest, &(*_position), length);
| ^~~~~~
make[2]: *** [src/CMakeFiles/donut.dir/build.make:272: src/CMakeFiles/donut.dir/Core/MemoryStream.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /mnt/Storage/donut/src/AnimCamera.cpp:9:
/mnt/Storage/donut/src/Render/SkinAnimation.h: In member function ‘T Donut::SkinAnimation::ValueKeyCurve<T>::Evalulate(float, T)’:
/mnt/Storage/donut/src/Render/SkinAnimation.h:79:11: error: ‘glm’ has not been declared
79 | time = glm::mod(time, _keyValues[lastIndex]->GetTime());
| ^~~
In file included from /mnt/Storage/donut/src/Render/SkinModel.h:10,
from /mnt/Storage/donut/src/Character.cpp:10:
/mnt/Storage/donut/src/Render/SkinAnimation.h: In member function ‘T Donut::SkinAnimation::ValueKeyCurve<T>::Evalulate(float, T)’:
/mnt/Storage/donut/src/Render/SkinAnimation.h:79:11: error: ‘glm’ has not been declared
79 | time = glm::mod(time, _keyValues[lastIndex]->GetTime());
| ^~~
make[2]: *** [src/CMakeFiles/donut.dir/build.make:76: src/CMakeFiles/donut.dir/AnimCamera.cpp.o] Error 1
make[2]: *** [src/CMakeFiles/donut.dir/build.make:104: src/CMakeFiles/donut.dir/Character.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:125: src/CMakeFiles/donut.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
from donut.
There's no requirement on vcpkg, but you were literally passing it as the toolchain file and it didn't exist.
The code isn't good and will require some of your own patching to compile on Linux probably.
from donut.
There's no requirement on vcpkg, but you were literally passing it as the toolchain file and it didn't exist.
The code isn't good and will require some of your own patching to compile on Linux probably.
True but we were following the instructions.
Is there any possibility of patching the code to fix the issue because I don't want Linux users to feel like 2nd class citizens when they want to use this and not be properly supported because it was only made to "run on Windows" when it should run on any using open source code/software.
from donut.
Sure if someone who actually uses Linux (like yourself) wants to patch it to work on Linux it wouldn't be too hard.
from donut.
Ah ok so you don't have much experience in Linux I understand, I might see if I can get @RossComputerGuy or another friend to lend a hand to send in a patch to fix it :)
from donut.
Latest patches has fixed it and @RossComputerGuy has it working on Void Linux using a Nvidia GPU but I am having issues with openal and on my pi 4 it doesn't give any errors but doesn't launch. Is there a minimal requirement for the OpenGL version and is it OpenGl 3.3?
PC log
[corey@corey-pc SimpsonsHit&Run]$ ./donut
+---------------------------------------------------+
| _____ /--------------------------\ |
| / \ | | |
| \/\/ | / donut game \ |
| | (o)(o) | | |
| C .---_) \_ _________________________/ |
| | |.___| | / |
| | \__/ <_/ |
| /_____\ |
| /_____/ \ |
| / \ |
+---------------------------------------------------+
hellooooooooooo new york!!!!
Initializing SDL...
SDL Version/Compiled 2.0.14
SDL Version/Linked 2.0.14
OpenGL version loaded: 4.6
Vendor: NVIDIA Corporation
Renderer: GeForce GTX 1060 6GB/PCIe/SSE2
Version: 4.6.0 NVIDIA 460.73.01
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
[ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1)
X Error of failed request: GLXBadContext
Major opcode of failed request: 151 (GLX)
Minor opcode of failed request: 4 (X_GLXDestroyContext)
Serial number of failed request: 387
Current serial number in output stream: 387
Pi 4 log
[corey@corey-pi4 SimpsonsHit&Run]$ ./donut
+---------------------------------------------------+
| _____ /--------------------------\ |
| / \ | | |
| \/\/ | / donut game \ |
| | (o)(o) | | |
| C .---_) \_ _________________________/ |
| | |.___| | / |
| | \__/ <_/ |
| /_____\ |
| /_____/ \ |
| / \ |
+---------------------------------------------------+
hellooooooooooo new york!!!!
Initializing SDL...
SDL Version/Compiled 2.0.14
SDL Version/Linked 2.0.14
OpenGL version loaded: 2.1
Vendor: Broadcom
Renderer: V3D 4.2
Version: 2.1 Mesa 21.0.3
from donut.
Latest patches has fixed it and @RossComputerGuy has it working on Void Linux using a Nvidia GPU but I am having issues with openal and on my pi 4 it doesn't give any errors but doesn't launch. Is there a minimal requirement for the OpenGL version and is it OpenGl 3.3?
PC log
[corey@corey-pc SimpsonsHit&Run]$ ./donut +---------------------------------------------------+ | _____ /--------------------------\ | | / \ | | | | \/\/ | / donut game \ | | | (o)(o) | | | | C .---_) \_ _________________________/ | | | |.___| | / | | | \__/ <_/ | | /_____\ | | /_____/ \ | | / \ | +---------------------------------------------------+ hellooooooooooo new york!!!! Initializing SDL... SDL Version/Compiled 2.0.14 SDL Version/Linked 2.0.14 OpenGL version loaded: 4.6 Vendor: NVIDIA Corporation Renderer: GeForce GTX 1060 6GB/PCIe/SSE2 Version: 4.6.0 NVIDIA 460.73.01 [ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1) [ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1) X Error of failed request: GLXBadContext Major opcode of failed request: 151 (GLX) Minor opcode of failed request: 4 (X_GLXDestroyContext) Serial number of failed request: 387 Current serial number in output stream: 387
Pi 4 log
[corey@corey-pi4 SimpsonsHit&Run]$ ./donut +---------------------------------------------------+ | _____ /--------------------------\ | | / \ | | | | \/\/ | / donut game \ | | | (o)(o) | | | | C .---_) \_ _________________________/ | | | |.___| | / | | | \__/ <_/ | | /_____\ | | /_____/ \ | | / \ | +---------------------------------------------------+ hellooooooooooo new york!!!! Initializing SDL... SDL Version/Compiled 2.0.14 SDL Version/Linked 2.0.14 OpenGL version loaded: 2.1 Vendor: Broadcom Renderer: V3D 4.2 Version: 2.1 Mesa 21.0.3
Weird thing: for some reason it crashes with GLXBadContext if donut hasn't found any resources. Copying all the files from TS:H&R to build/bin folder solved that issue for me.
And yes, it requires at least OpenGL 4 support
from donut.
Latest patches has fixed it and @RossComputerGuy has it working on Void Linux using a Nvidia GPU but I am having issues with openal and on my pi 4 it doesn't give any errors but doesn't launch. Is there a minimal requirement for the OpenGL version and is it OpenGl 3.3?
PC log[corey@corey-pc SimpsonsHit&Run]$ ./donut +---------------------------------------------------+ | _____ /--------------------------\ | | / \ | | | | \/\/ | / donut game \ | | | (o)(o) | | | | C .---_) \_ _________________________/ | | | |.___| | / | | | \__/ <_/ | | /_____\ | | /_____/ \ | | / \ | +---------------------------------------------------+ hellooooooooooo new york!!!! Initializing SDL... SDL Version/Compiled 2.0.14 SDL Version/Linked 2.0.14 OpenGL version loaded: 4.6 Vendor: NVIDIA Corporation Renderer: GeForce GTX 1060 6GB/PCIe/SSE2 Version: 4.6.0 NVIDIA 460.73.01 [ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1) [ALSOFT] (EE) Failed to set real-time priority for thread: Operation not permitted (1) X Error of failed request: GLXBadContext Major opcode of failed request: 151 (GLX) Minor opcode of failed request: 4 (X_GLXDestroyContext) Serial number of failed request: 387 Current serial number in output stream: 387
Pi 4 log
[corey@corey-pi4 SimpsonsHit&Run]$ ./donut +---------------------------------------------------+ | _____ /--------------------------\ | | / \ | | | | \/\/ | / donut game \ | | | (o)(o) | | | | C .---_) \_ _________________________/ | | | |.___| | / | | | \__/ <_/ | | /_____\ | | /_____/ \ | | / \ | +---------------------------------------------------+ hellooooooooooo new york!!!! Initializing SDL... SDL Version/Compiled 2.0.14 SDL Version/Linked 2.0.14 OpenGL version loaded: 2.1 Vendor: Broadcom Renderer: V3D 4.2 Version: 2.1 Mesa 21.0.3
Weird thing: for some reason it crashes with GLXBadContext if donut hasn't found any resources. Copying all the files from TS:H&R to build/bin folder solved that issue for me.
And yes, it requires at least OpenGL 4 support
Hmm weird tho I tried that and it didn't work
[corey@corey-pc bin]$ ./donut
+---------------------------------------------------+
| _____ /--------------------------\ |
| / \ | | |
| \/\/ | / donut game \ |
| | (o)(o) | | |
| C .---_) \_ _________________________/ |
| | |.___| | / |
| | \__/ <_/ |
| /_____\ |
| /_____/ \ |
| / \ |
+---------------------------------------------------+
hellooooooooooo new york!!!!
Initializing SDL...
SDL Version/Compiled 2.0.14
SDL Version/Linked 2.0.14
OpenGL version loaded: 4.6
Vendor: NVIDIA Corporation
Renderer: GeForce GTX 1060 6GB/PCIe/SSE2
Version: 4.6.0 NVIDIA 460.73.01
X Error of failed request: GLXBadContext
Major opcode of failed request: 151 (GLX)
Minor opcode of failed request: 4 (X_GLXDestroyContext)
Serial number of failed request: 388
Current serial number in output stream: 388
Ahh damn that sucks, I would of loced to play this on my pi 4 especially since the original games minimal specs are easily covered by the pi 4, would it be possible to support OpenGL ES 2.1 at all?
from donut.
Hmm, here's my log when donut has no resources:
+---------------------------------------------------+
| _____ /--------------------------\ |
| / \ | | |
| \/\/ | / donut game \ |
| | (o)(o) | | |
| C .---_) \_ _________________________/ |
| | |.___| | / |
| | \__/ <_/ |
| /_____\ |
| /_____/ \ |
| / \ |
+---------------------------------------------------+
hellooooooooooo new york!!!!
Initializing SDL...
SDL Version/Compiled 2.0.12
SDL Version/Linked 2.0.12
OpenGL version loaded: 4.6
Vendor: NVIDIA Corporation
Renderer: GeForce GTX 1050 Ti/PCIe/SSE2
Version: 4.6.0 NVIDIA 460.73.01
BDB1539 Build signature doesn't match environment
X Error of failed request: GLXBadContext
Major opcode of failed request: 151 (GLX)
Minor opcode of failed request: 4 (X_GLXDestroyContext)
Serial number of failed request: 391
Current serial number in output stream: 391
Lets move our discussion to donut Discord server☺
from donut.
Hmm, here's my log when donut has no resources:
+---------------------------------------------------+ | _____ /--------------------------\ | | / \ | | | | \/\/ | / donut game \ | | | (o)(o) | | | | C .---_) \_ _________________________/ | | | |.___| | / | | | \__/ <_/ | | /_____\ | | /_____/ \ | | / \ | +---------------------------------------------------+ hellooooooooooo new york!!!! Initializing SDL... SDL Version/Compiled 2.0.12 SDL Version/Linked 2.0.12 OpenGL version loaded: 4.6 Vendor: NVIDIA Corporation Renderer: GeForce GTX 1050 Ti/PCIe/SSE2 Version: 4.6.0 NVIDIA 460.73.01 BDB1539 Build signature doesn't match environment X Error of failed request: GLXBadContext Major opcode of failed request: 151 (GLX) Minor opcode of failed request: 4 (X_GLXDestroyContext) Serial number of failed request: 391 Current serial number in output stream: 391
Lets move our discussion to donut Discord server
Sure, just mention @Gameslayer, I am on your Discord server already :)
from donut.
Why is he blocked?
from donut.
what an asshole (plowteam) + idiot
from donut.
Related Issues (19)
- Support P3DZ compressed P3D files HOT 1
- Information
- Build fail
- LoadP3D issues - Pure3D branch - Unreconized Chunk HOT 2
- GL Context is double-freed
- cmake builds failing on linux HOT 1
- .cho file loader
- Discord server
- ARM support? HOT 2
- How was it made?
- Unable to build Windows binaries. Are they available to download anywhere? 👀 HOT 1
- LICENSE? HOT 2
- Mac support? HOT 3
- RAD Movie Files (.rmv) HOT 1
- Archive Format (.rcf) HOT 1
- RADScript Mission Script Files (.mfk, .con) HOT 3
- Cannot build with newest g++ HOT 1
- Cant build on linux using newest cmake, g++ HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from donut.