Compilation error
Hello, I want to compile the latest sources on Ubuntu 20.04 LTS but the compilation generates an error. (Win or Debian)
I manage to compile without problem on the 2020.18.02 version and create a .zip Windows or a .deb which works very well, but not from the last directly downloaded sources.
I would like to compile the latest sources to verify that my modifications for the fr translation work well before submitting them in Pull Request.
Whether it is to compile Linux/Debian or Windows on Linux, both do not work with the latest sources.
Could you tell me where the problem comes from?
----> Here is the result :
--------------------------------------------------------------------
david@theTwo:/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid-pour-verif-trad/EmptyEpsilon/_build$ cmake .. -G Ninja -DSERIOUS_PROTON_DIR=$PWD/../../SeriousProton/
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- ENABLE_CRASH_LOGGER is OFF
-- EmptyEpsilon Version = 20201229
-- Found SFML 2.5.1 in /usr/include
CMake Warning (dev) at /usr/share/cmake-3.16/Modules/FindOpenGL.cmake:275 (message):
Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
available. Run "cmake --help-policy CMP0072" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
FindOpenGL found both a legacy GL library:
OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
and GLVND libraries for OpenGL and GLX:
OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so
OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
CMakeLists.txt:417 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
CMake Error at CMakeLists.txt:423 (add_subdirectory):
add_subdirectory given source
"/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid-pour-verif-trad/EmptyEpsilon/_build/../../SeriousProton//src/libopus/"
which is not an existing directory.
-- Found PythonInterp: /usr/bin/python3.8 (found version "3.8.5")
-- Configuring incomplete, errors occurred!
--------------------------------------------------------------------
But when I look in SeriousProton/src, there is indeed the libopus folder.
Please help me.
Thanks
Comments
I had incorrectly written the SeriousProton directory: seriousProton instead of SeriousProton.
But by redoing everything from the beginning, including reloading the sources, I still have a different error with "ninja package" and "ninja:
SeriousProton and EmptyEpsilon are up to date with "git clone http://.. ; git checkout master ; git pull"
--------------------------------------------------------------------
----> Here is the result with "ninja package" for build\Windows : (cmake seems ok)
--------------------------------------------------------------------
......
-- Found PythonInterp: /usr/bin/python3.8 (found version "3.8.5")
-- Configuring done
-- Generating done
-- Build files have been written to: /media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/EmptyEpsilon/_build_w32
david@theTwo:/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/EmptyEpsilon/_build_w32$ ninja package
[178/433] Building CXX object CMakeFiles/EmptyEpsilon.dir/src/discord.cpp.obj
FAILED: CMakeFiles/EmptyEpsilon.dir/src/discord.cpp.obj
/usr/bin/i686-w64-mingw32-g++ --sysroot=/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/EmptyEpsilon/cmake/_win32//sysroot/ -DSFML_NO_DEPRECATED_WARNINGS -DVERSION_NUMBER=20201230 -DWINDOW_TITLE=\"EmptyEpsilon\" -I../src -I/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/SeriousProton/src -I../cmake/_win32/sysroot/include -Idiscord/c -I/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/SeriousProton/src/libopus/include -Wall -Werror=return-type -std=gnu++11 -MD -MT CMakeFiles/EmptyEpsilon.dir/src/discord.cpp.obj -MF CMakeFiles/EmptyEpsilon.dir/src/discord.cpp.obj.d -o CMakeFiles/EmptyEpsilon.dir/src/discord.cpp.obj -c ../src/discord.cpp
In file included from ../src/discord.cpp:5:
discord/c/discord_game_sdk.h:5:10: fatal error: Windows.h: Aucun fichier ou dossier de ce type
5 | #include <Windows.h>
| ^~~~~~~~~~~
compilation terminated.
[187/433] Building CXX object CMakeFil...id/SeriousProton/src/clipboard.cpp.obj
ninja: build stopped: subcommand failed.
AND
--------------------------------------------------------------------
----> Here is the result with "ninja" for build\linux\Debian : (cmake seems ok too)
--------------------------------------------------------------------
david@theTwo:/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/EmptyEpsilon/_build$ ninja
[249/430] Building CXX object CMakeFil...rc/Box2D/Collision/b2DynamicTree.cpp.o
/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/SeriousProton/src/Box2D/Collision/b2DynamicTree.cpp: In constructor ‘b2DynamicTree::b2DynamicTree()’:
/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/SeriousProton/src/Box2D/Collision/b2DynamicTree.cpp:29:56: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct b2TreeNode’; use assignment or value-initialization instead [-Wclass-memaccess]
29 | memset(m_nodes, 0, m_nodeCapacity * sizeof(b2TreeNode));
| ^
In file included from /media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/SeriousProton/src/Box2D/Collision/b2DynamicTree.cpp:19:
../../SeriousProton/src/Box2D/Collision/b2DynamicTree.h:28:8: note: ‘struct b2TreeNode’ declared here
28 | struct b2TreeNode
| ^~~~~~~~~~
[396/430] Building script reference documentation.
Failed to find parameters for ScriptStorage:get
Failed to find parameters for ScriptStorage:set
Failed to find parameters for ScienceDatabase:getKeyValues
[430/430] Linking CXX executable EmptyEpsilon
So I reinstalled everything (even Ubuntu) and :
Compiling for windows on Linux seems to work but I cannot generate the .zip file
Look the following error :
--------------------------------------------------------------------
david@theTwo:/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/EmptyEpsilon/_build_w32$ ninja package
[178/433] Building CXX object CMakeFiles/EmptyEpsilon.dir/src/discord.cpp.obj
FAILED: CMakeFiles/EmptyEpsilon.dir/src/discord.cpp.obj
/usr/bin/i686-w64-mingw32-g++ --sysroot=/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/EmptyEpsilon/cmake/_win32//sysroot/ -DSFML_NO_DEPRECATED_WARNINGS -DVERSION_NUMBER=20201230 -DWINDOW_TITLE=\"EmptyEpsilon\" -I../src -I/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/SeriousProton/src -I../cmake/_win32/sysroot/include -Idiscord/c -I/media/david/BA4C7CF14C7CAA31/_linux/Dernieres-sources-Daid/SeriousProton/src/libopus/include -Wall -Werror=return-type -std=gnu++11 -MD -MT CMakeFiles/EmptyEpsilon.dir/src/discord.cpp.obj -MF CMakeFiles/EmptyEpsilon.dir/src/discord.cpp.obj.d -o CMakeFiles/EmptyEpsilon.dir/src/discord.cpp.obj -c ../src/discord.cpp
In file included from ../src/discord.cpp:5:
discord/c/discord_game_sdk.h:5:10: fatal error: Windows.h: Aucun fichier ou dossier de ce type
5 | #include <Windows.h>
| ^~~~~~~~~~~
compilation terminated.
[187/433] Building CXX object CMakeFil...id/SeriousProton/src/clipboard.cpp.obj
ninja: build stopped: subcommand failed.
--------------------------------------------------------------------
Compiling for Linux / Debian works and I can generate the .deb package.