Can’t compile: missing the KeyIdentification.h file

Get support for Unvanquished.
Dragoon annihilator
Posts: 9
Joined: Fri Aug 31, 2018 9:07 am UTC

Can’t compile: missing the KeyIdentification.h file

Postby Dragoon annihilator » Fri Aug 31, 2018 3:20 pm UTC

So, I am trying to compile unvanquished from git on Debian Stable (Stretch), and after a long time of finding missing dependencies one by one, I don’t manage to find the last missing file,

Code: Select all

#include "common/KeyIdentification.h"

The thing is that I just can’t find such "common" directory or file in Unvanquished code (using github search), or such file in the Debian repositry.

The only lead I have left is from the dpkg-checkbuilddeps command, which declares the unv-nacl-sdk to be missing so I suppose the missing file is from here.

Since it appear to be nowhere in the Debian repos and http://debs.unvanquished.net/ is down, I ask you: do someone know where I can get the missing dependency ?

here is the full make error:

Code: Select all

[  0%] Built target srclibs-nacl-native
[ 23%] Built target ROCKET_LIB
[ 24%] Built target srclibs-minizip
[ 24%] Building CXX object CMakeFiles/cgame-native-exe.dir/src/cgame/cg_animation.cpp.o
In file included from /home/antoine/Unvanquished/src/cgame/cg_animation.cpp:27:0:
/home/antoine/Unvanquished/src/cgame/cg_local.h:33:38: fatal error: common/KeyIdentification.h: No such file or directory
 #include "common/KeyIdentification.h"
                                      ^
compilation terminated.
CMakeFiles/cgame-native-exe.dir/build.make:62: recipe for target 'CMakeFiles/cgame-native-exe.dir/src/cgame/cg_animation.cpp.o' failed
make[2]: *** [CMakeFiles/cgame-native-exe.dir/src/cgame/cg_animation.cpp.o] Error 1
CMakeFiles/Makefile2:69: recipe for target 'CMakeFiles/cgame-native-exe.dir/all' failed
make[1]: *** [CMakeFiles/cgame-native-exe.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2


Thanks!
User avatar
illwieckz
Project Head
Posts: 449
Joined: Sat Aug 11, 2012 7:22 pm UTC
Location: France
Contact:

Re: Can’t compile: missing the KeyIdentification.h file

Postby illwieckz » Mon Sep 03, 2018 5:37 pm UTC

Hi Dragoon annihilator, welcome! :bsuit:

It looks like the “common” directory is the one from the engine, that “common” code being common code used by both the engine and the game code itself: https://github.com/DaemonEngine/Daemon/ ... src/common
How did you get the source? using a tarball? because the dæmon engine is a git submodule and I'm surprised it was not automatically pulled at build time.
This comment is licensed under cc ​​by 4 and antecedent.
Dragoon annihilator
Posts: 9
Joined: Fri Aug 31, 2018 9:07 am UTC

Re: Can’t compile: missing the KeyIdentification.h file

Postby Dragoon annihilator » Mon Sep 03, 2018 7:11 pm UTC

Thanks for answering, I cloned the code using the standard `git clone` command. In fact, I started by using this as guide https://forums.unvanquished.net/viewtopic.php?f=4&t=2161&sid=2465d77941db3872bcdd3d13202274fa but I had in fact the problem of git not recursively downloading (due to the Debian-Stable-old version of git?). Anyway, I managed to fetch them and the missing dependencies: the problem is elsewhere (I think).

Unlike what I first though, there is indeed a common directory, and I also have it. But the file don’t seem to be on the server either https://github.com/DaemonEngine/Daemon/tree/master/src/common.

Maybe someone forgot to `git add` it? It may also be in another directory, but Github’s search gave nothing either.
Dragoon annihilator
Posts: 9
Joined: Fri Aug 31, 2018 9:07 am UTC

Re: Can’t compile: missing the KeyIdentification.h file

Postby Dragoon annihilator » Mon Sep 03, 2018 7:17 pm UTC

Oh, do you think it could be related to the fact I didn’t

Code: Select all

git fetch for-0.51.0
git checkout for-0.51.0
every manually-fetched subrepositry ?

[EDIT]
So, I should maybe try to upgrade my git version:

Code: Select all

 $ git fetch for-0.51.0
fatal: 'for-0.51.0' does not appear to be a git repository
fatal: Impossilble de lire le dépôt distant.

Veuillez vérifier que vous avez les droits d'accès
et que le dépôt existe.

the error shows both if I try in the daemon repositry (Unvanquished/daemon/) and in the main one (Unvanquished/)
User avatar
illwieckz
Project Head
Posts: 449
Joined: Sat Aug 11, 2012 7:22 pm UTC
Location: France
Contact:

Re: Can’t compile: missing the KeyIdentification.h file

Postby illwieckz » Tue Sep 04, 2018 9:00 pm UTC

Dragoon annihilator wrote:

Code: Select all

 $ git fetch for-0.51.0
fatal: 'for-0.51.0' does not appear to be a git repository
fatal: Impossilble de lire le dépôt distant.


You missed to tell from which remote repository fetch the branch, I think the fetch command must be called like that:

Code: Select all

git fetch origin for-0.51.0


origin being the default remote repository from where you cloned. You can also simply do git fetch if you want to fetch everything without messing with specific branches if I’m right, then the checkout must work.

By the way to get all submodules you can do that from Unvanquished repository itself:

Code: Select all

git submodule update --init --recursive --


Bonjour ! :cool:
This comment is licensed under cc ​​by 4 and antecedent.
User avatar
illwieckz
Project Head
Posts: 449
Joined: Sat Aug 11, 2012 7:22 pm UTC
Location: France
Contact:

Re: Can’t compile: missing the KeyIdentification.h file

Postby illwieckz » Tue Sep 04, 2018 9:08 pm UTC

Dragoon annihilator wrote:Thanks for answering, I cloned the code using the standard `git clone` command. In fact, I started by using this as guide https://forums.unvanquished.net/viewtopic.php?f=4&t=2161 but I had in fact the problem…


My bad, in fact you ad the problem I made a mistake in that guide :grin:

Sorry I just fixed it. Since I really don't know what you did when you say you fetched the dependencies, I recommend you to do it from scratch again to be sure to have a clean env!

My testing server is down currently, I will restart it later.

By the way you can some work-in progress packages this way (run this command in Unvanquished/pkg directory):

Code: Select all

wget -O- http://gg.illwieckz.net/dl/unvanquished/dev/UnvanquishedAssets.get | xargs wget


Note that you can delete the unvanquished dpk after that since you alread cloned the unvanquished dpkdir instead.
This comment is licensed under cc ​​by 4 and antecedent.
Dragoon annihilator
Posts: 9
Joined: Fri Aug 31, 2018 9:07 am UTC

Re: Can’t compile: missing the KeyIdentification.h file

Postby Dragoon annihilator » Thu Sep 13, 2018 4:56 pm UTC

So, long story, with several independent things.

1.
First I did compile it in the end on Debian, the missing file having shown up after for some reasons : I guess it’s due to those git fech/checkout.

The result is that I probably made some “Frankenquished” with mixed 0.50 and 0.51 files that crashes on startup (seg fault)… And an awesome special effect so cool I though it was reserved for Windows !
Image
(I think it’s because the compositor is disabled on game start, but everything still work, so you can just close Unvanquished and it’s fine)

2.
I had in fact the problem of git not recursively downloading (due to the Debian-Stable-old version of git?)

Now, I am trying to build it on Arch Linux, partly I thought that the old version of git from Debian was the cause, but it still don’t work: you need to manualy

Code: Select all

git submodule update --init --recursive --

If I were you, I’d add it to my alpha testing message ! (https://forums.unvanquished.net/viewtopic.php?f=4&t=2161&sid=2465d77941db3872bcdd3d13202274fa)

So, it compiles (with an atrocious number of depreciation messages — Arch is bleeding edge after all) but it seems to work !
Dragoon annihilator
Posts: 9
Joined: Fri Aug 31, 2018 9:07 am UTC

Re: Can’t compile: missing the KeyIdentification.h file

Postby Dragoon annihilator » Thu Sep 13, 2018 5:02 pm UTC

Bug report time!

1.

Cmake is complaining when there is no python-jinja or python-yaml, normal. If you install the python3 version (which is default on Arch) it stops complaining… But the compilation fails! I think we should check for the python2 version only, or, if both are compatible, test which one has jinja&yaml usable.


Interesting, I'm sure I faced it one day then forgot it. Would be cool to report in on Github.

2.

Dans la fonction membre « virtual void Rocket::Controls::Lua::LuaDataFormatter::FormatData(Rocket::Core::String&, const StringList&) »:
cc1plus: warning: « void* __builtin_memcpy(void*, const void*, long unsigned int) »: la taille 18446744073709551615 spécifiée excède la taille maximale 9223372036854775807 de l'objet [-Wstringop-overflow=]
make: *** [Makefile:84: all] Error 2

Je lui ai demandé de l’ignorer, mais bon…


Bizarre, je n’ai jamais vu ça !

Note for non-french people reading the thread: the reported error message means “the 18446744073709551615 specified size exceeds the maximum 9223372036854775807 object size”)

Tu peux changer la langue des erreurs en faisant ça dans ton shell avant de compiler (fermer le terminal remettra cette option dans sa valeur initiale), c’est pratique pour rapporter des erreurs :

Code: Select all

export LANG=C.UTF-8


3.
with the command you give in the alpha testing thread, you end up with

Code: Select all

unvanquished_0.50.0+20180728-200155+b48e029.dpk

shouldn’t it be the 0.51 version or something ?


They are pre-release package, we don't want package flagged with 0.51 living in the wild yet. Also, in term of sorting 0.50.0 < 0.50.0+something < 0.51.0 so we will be sure at release time that 0.51.0 packages will override any prerelease packages people downloaded before. We have a way to flag 0.51.0 stuff that sort before 0.51.0 using a special character but chrome browser rewrite this character at download time so it's really not recommended to do it and we stick on the previous-number+something scheme for pre-release packages.

Sameway, the game is telling me it is version 0.50:

Code: Select all

Unvanquished 0.50 Linux x86_64 Sep 13 2018


Similar reason, we will tag the release only when it will be released. The game displays the version of the latest published release even the day before the next one.
Dragoon annihilator
Posts: 9
Joined: Fri Aug 31, 2018 9:07 am UTC

Re: Can’t compile: missing the KeyIdentification.h file

Postby Dragoon annihilator » Fri Sep 14, 2018 5:28 am UTC

Ok, so it built, but I still can’t get it to work. I have everything in build/. In am in the directory and I run ./daemon (with whatever argument)
Warn: Error during initialization: VM: Failed to extract VM module cgame-x86_64.nexe: No such file

I #’ed the lines I think to be the most interesting

Code: Select all

~/Unvanquished/build (git)-[for-0.51.0] % ./daemon -libpath $HOME/Unvanquished/build/ #or nothing, or whatever I try
Unvanquished 0.50 Linux x86_64 Sep 13 2018
cmdline: -libpath /home/antoine/Unvanquished/build/
^3Warn: [FS] Legacy home path /home/antoine/.unvanquished exists but XDG home path /home/antoine/.local/share/unvanquished already exists, doing nothing ##########
[FS] Lib path: /home/antoine/Unvanquished/build
[FS] Home path: /home/antoine/.local/share/unvanquished
[FS] Pak search path: /home/antoine/.local/share/unvanquished/pkg
[FS] Loading pakdir '/home/antoine/.local/share/unvanquished/pkg/unvanquished_src.dpkdir/'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-players_0.21.0+20180728-195851+79f95ce.dpk'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-weapons_0.49.0+20180728-195909+1d30752.dpk'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-buildables_0.47.0+20180728-195827+db1ea37.dpk'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-ambient_0+20180728-195816+46892b0.dpk'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-voices_0+20180728-195931+752df64.dpk'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-soundtrack_0+20180728-195900+12a9211.dpk'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-legacy_0+20180728-195838+4515d42.dpk'...
execing 'default.cfg'
Warn: Couldn't read conhistory: No such file or directory
----- Client Initialization -----
Loading RSA keys from pubkey
Daemon RSA public-key found.
----- Client Initialization Complete -----
Calling GetRefAPI…
SDL_Init( SDL_INIT_VIDEO )...
Using SDL Version 2.0.8
SDL using driver "x11"
Initializing OpenGL display
Display aspect: 1.779
...setting mode -2:
 1366 768
The change will take effect after restart.
The change will take effect after restart.
Using 24 Color bits, 24 depth, 8 stencil display.
Using GLEW 2.1.0
Using enhanced (GL3) Renderer in GL 3.x mode...
Available modes: '640x360 720x405 864x486 960x540 1024x576 1280x720 1366x768 640x480 800x600 1024x768
GL_RENDERER: Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)
Detected graphics driver class 'Mesa'
Detected graphics hardware class 'generic'
Initializing OpenGL extensions
...ignoring GL_ARB_debug_output
...found shading language version 450
...using GL_ARB_half_float_pixel
...using GL_ARB_texture_float
...using GL_EXT_gpu_shader4
...using GL_EXT_texture_integer
...using GL_ARB_texture_rg
...using GL_ARB_texture_gather
...using GL_EXT_texture_filter_anisotropic
...using GL_ARB_get_program_binary
...using GL_ARB_buffer_storage
...using GL_ARB_uniform_buffer_object
...using GL_ARB_map_buffer_range
...using GL_ARB_sync
glsl shaders took 399 msec to build
GL_VENDOR: Intel Open Source Technology Center
GL_RENERER: Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)
GL_VERSION: 4.5 (Core Profile) Mesa 18.1.8
GL_SHADING_LANGUAGE_VERSION: 4.50
GL_MAX_VERTEX_UNIFORM_COMPONENTS 16384
Using GPU vertex skinning with max 256 bones in a single pass
Warn: Error during initialization: VM: Failed to extract VM module cgame-x86_64.nexe: No such file   ############
[FS] Loading pakdir '/home/antoine/.local/share/unvanquished/pkg/unvanquished_src.dpkdir/'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-players_0.21.0+20180728-195851+79f95ce.dpk'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-weapons_0.49.0+20180728-195909+1d30752.dpk'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-buildables_0.47.0+20180728-195827+db1ea37.dpk'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-ambient_0+20180728-195816+46892b0.dpk'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-voices_0+20180728-195931+752df64.dpk'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-soundtrack_0+20180728-195900+12a9211.dpk'...
[FS] Loading pak '/home/antoine/.local/share/unvanquished/pkg/res-legacy_0+20180728-195838+4515d42.dpk'...


You are right about the french compliation message. It’s partly because my so-far-only reader understands it, partly because I didn’t feel lauching the compilation again :smile: .
Dragoon annihilator
Posts: 9
Joined: Fri Aug 31, 2018 9:07 am UTC

Re: Can’t compile: missing the KeyIdentification.h file

Postby Dragoon annihilator » Mon Sep 17, 2018 2:38 pm UTC

Oh by the way, you dev server gg.illwieckz.net:27967 seems inacessible. Do you start it only for the dev test ?

Return to “Troubleshooting”

Who is online

Users browsing this forum: No registered users and 2 guests