Questions about vcmi for debian with arm

Hi all
I am trying to compile vcmi 0.91 under Debian wheezy with arm cpu using instruction from wiki … n_on_Linux
and when I did

 make -j3 

process stopped at 40 or 45%

g++: Internal error: Killed (program cc1plus)

and it looks like I was out of memory (I have 1 gb RAM total)

I tried just “make” and it stopped at 1% with same message
is there anything you can help me with?
I understand that it isn’t vcmi problem but still…

what about -j1?

I thought it is same as just make
Same result here: it stopped at 1%

Also if I compile vcmi with -j3 it would begin with 31% and stop at 32
Every time it uses all memory I have and stops when there is no more free RAM

This may be a problem - compilation of some files require ~1 GB of available memory

BTW - those percentages are not reliable.

Can swap help here?
Or I need to find a way to compile it on my home pc for arm %)

It may help but this will be really slow.

Can be done by cross-compiling. And no - I have no idea how to set up it.

guyz, I did it
I compiled it using chroot on my pc and qemu for arm emulation
and it works now
the only bug I already found is that RMG could be set but when you press begin game stops working
Is it how it works or something is wrong here?

Also is there any way to change the path for vcmi data (I mean /usr/local/share/vcmi/)
because it needs root for copying and changing and playing and that isn’t very good I think

RMG should not crash the game but right now it is not in playable state.

No but VCMI will also read data from $HOME/.vcmi

VCMI should work without root access.
Can you do this?

  1. Run vcmiclient without root and post log here
  2. Run “ls -laR /usr/local/share/vcmi” and attach log to your post (it will be quite big).

It said segmentation fault %)

I changed access permissions to the /usr/local but I know that it is not a good idea
it still doesnt work without sudo (doesnt start server)
log is vcmi_client_log

log.txt (116 KB)
VCMI_Client_log.txt (17.7 KB)

Right now RMG won’t produce playable maps so you haven’t lost much.

To fix this crash I would need stacktrace from gdb. Compile vcmi in debug mode:

cmake -DCMAKE_BUILD_TYPE=Debug <path to source>

And then run vcmiclient under gdb:
$ gdb vcmiclient
(gdb) set logging on
(gdb) run

(gdb) thread apply all backtrace full

(gdb) quit
This will give you gdb.txt file which I can use to fix this bug.

Do you still have this error message on start?

shm_open() failed: Permission denied

If yes - then this is a different issue and does not have anything to do with /usr/local/* permissions

Quick search suggests this:

Ok I’ll do it next weekend

no, last thing in the terminal is "Intialization of VCMI (together): XYZO " XYZO - some 4 digits number, that is different every time
and some messages about closing when I click X to close game window

client log is uploaded in the message above and there is no server log
(when I use sudo I have both logs in some root directory)

there is no such /dev/shm. should I create it or it wouldn’t work?
And tmpfs is mounted

try this:

sudo mkdir /dev/shm
sudo mount -t tmpfs /dev/shm
sudo chmod 777 /dev/shm

This will work only till the end of session (until you exit chroot ) but you’ll be able to check if this fix works or not.

tmpfs is just a piece of operative memory. It can be mounted multiple times into different locations.

It works without sudo now

Guyz, I also found 1 thing and I don’t know is it a bug or feature of VCMI
hero skill tree doesn’t work :open_mouth:
if you know what I mean

Yes. Right now skills received on level-up are not predetermined - that’s already known bug.

Oh I see. Actually you should leave a possibility to make it random (in WoG settings for example, it could be a nice feature)
And also right now wog settings button doesn’t work (may be in my version only) and I am curious are you planning to make a possibility to play Heroes3 that isn’t WoG but as close as it could be to the original SoD or Complete version? (that would be very nice for tourneys and original Heroes3 fans. Also some graphic objects like resources or sulfur dune are better in original than in WoG)

Most notable WoG features - commanders and stack experience can be disabled in config/defaultMods.json. Full WoG optionality will be possible at some point as well.

Unless you’ve used old and ugly WoG installer you can disable at least some of these objects by removing or renaming file “Mods/WoG/Data/wog - animated objects.pac”

thank you a lot!!!
can I help VCMI project somehow?

may be I can support arm port until someone more experienced wants to support it
(But I am not a coder unfortunately and know just a little bit about linux :frowning: )

also is there any easy way to make vcmi installer from my system? Is it enough just copy /usr/local directory if I don’t have any other programs installed

Just reporting bugs you’ve found on our bugtracker -

Should be enough. Or instead of using cmake/make to compile vcmi you can use dpkg-buildpackage (install devscripts package first) - this will create .deb package that can be used to install vcmi