Suggestions for ports
-
So I uncommented
deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
And it still says vcmi not found. What am I doing wrong?
-
@quicksilver said in Suggestions for ports:
And it still says vcmi not found. What am I doing wrong?
You need to use
apt-src
to install a source package - https://wiki.debian.org/apt-src. -
@mitu ok cool I installed apt-src and started building vcmi however as it's building I noticed an error saying unmet build dependencies. It flashed by so fast I couldn't see what they were. I tried to shift+page-up to scroll back up but it only lets me go back so far. Is there a way to see what the missing dependencies were and install them?
-
@quicksilver Usually you don't install dependencies manually, but through
apt-get build-dep <src_package>
- this will install all the needed packages for building the source package. -
@mitu when I run that it says nothing 0 packages updated/installed. So I guess its ok?
The next problem Im having is running "vcmibuilder" which is the next step in the installation process. You are supposed to run one of these depending on what type of game files you have.
vcmibuilder --cd1 /path/to/iso/or/cd --cd2 /path/to/second/cd vcmibuilder --gog /path/to/gog.com/installer vcmibuilder --data /path/to/h3/data
I am using the third line but I get vcmibuilder not found. I made sure to change directories to where vcmibuilder is located before running that command but it still says command not found.
edit: I was able to get it to work running
sudo ./vcmibuilder --data /home/pi/RetroPie/roms/ports/Heroes\ of\ Might\ and\ Magic\ 3\ Complete/
So the last thing needed to run the game is from commandline running either vcmilauncher or vcmiclient (Not sure of the difference). Both of those options return a command not find error. Im following the instructions here btw : https://wiki.vcmi.eu/Installation_on_Linux
-
Turns out I'm following the wrong part of the guide. I should be following the source install instructions. Looks like I installed but never built vcmi. I'll see how much further I can get now and report back.
-
So following the instructions here: https://wiki.vcmi.eu/How_to_build_VCMI_(Linux)
I installed dependencies (actually they were already all installed). Then I tried to configure the makefiles:
mkdir build && cd build cmake ../vcmi
but I get a configuring incomplete errors occurred message. It recommends looking at CMakeOutput.log (https://pastebin.com/DcYey5ci) and CMakeError.log (https://pastebin.com/YcVbxaUM) for more info but Im not quite sure what Im looking at/what the issue is.
-
@quicksilver That's weird, since the
pthread
library should be present on any modern Linux system. Clean up your build folder and re-try, but if you want to debug this further post thecmake
output as you invoke it, not the log files (they're not very useful). -
@mitu It failed again. Here is the output from the terminal: https://pastebin.com/eEpuaxXE
-
@quicksilver The
vcmi
repository has 2 sub-modules, which you're missing. Rungit submodule init git submodule update
from the source folder and re-run
cmake
. -
@mitu It still produces the same error. To be clear Im running those commands from the vcmi folder correct?
-
@quicksilver said in Suggestions for ports:
. To be clear Im running those commands from the vcmi folder correct?
Yes. What does
git submodule
says when you run it ? -
@mitu nothing.
edit: though I do have two VCMI folders. One is called vcmi-0.99+dfsg+git20190113.f06c8a87, and it was the original one. Early at one point I tried to run the install again and it said something about getting the latest updates that may not be in the repo so I did what it said and it seem it made another duplicate folder named vcmi but it has the same contents. When I run git submodule from vcmi-0.99+dfsg+git20190113.f06c8a87 it says "fatal: not a git repository (or any of the parent directories): .git"
-
@quicksilver Don't mix compilation of the
.deb
package with the install instructions given on the project's page. You either use the Debian packaging tools or compile from source directly. If you installed the needed build dependencies viaapt-source
, then clone the repository viagit
and follow the installation instructions. -
@mitu Thank you for your patience! I will start over completely. Is there a proper way to remove what I have so far or can I just delete the files using winscp?
-
Just delete the files, it should be enough.
-
@mitu its building now. Thank you for sticking with me here. After its finished, the last part on the build guide is about package building (see below). Do I follow the instructions for RPM package and debian? Or just the debian part?
Package building
RPM package
The first step is to prepare a RPM build environment. On Fedora systems you can follow this guide: http://fedoraproject.org/wiki/How_to_create_an_RPM_package#SPEC_file_overview-
Download the file rpm/vcmi.spec from any tagged VCMI release for which you wish to build a RPM package via the SVN Browser trac at this URL for example(which is for VCMI 0.9): http://sourceforge.net/apps/trac/vcmi/browser/tags/0.9/rpm/vcmi.spec
-
Copy the file to ~/rpmbuild/SPECS
-
Follow instructions in the vcmi.spec. You have to export the corresponding SVN tag, compress it to a g-zipped archive and copy it to ~/rpmbuild/SOURCES. Instructions are written as comments and you can copy/paste commands into terminal.
-
Go to ~/rpmbuild/SPECS and open terminal in this folder and type:
rpmbuild -ba vcmi.spec (this will build rpm and source rpm) -
Generated RPM is in folder ~/rpmbuild/RPMS
If you want to package the generated RPM above for different processor architectures and operating systems you can use the tool mock. Moreover, it is necessary to install mock-rpmfusion_free due to the packages ffmpeg-devel and ffmpeg-libs which aren't available in the standard RPM repositories(at least for Fedora). Go to ~/rpmbuild/SRPMS in terminal and type:
mock -r fedora-17-i386-rpmfusion_free path_to_source_RPM
mock -r fedora-17-x86_64-rpmfusion_free path_to_source_RPM
Available root environments and their names are listed in /etc/mock.Debian/Ubuntu
-
Install debhelper and devscripts packages
-
Run dpkg-buildpackage command from vcmi source directory
sudo apt-get install debhelper devscripts
cd /path/to/source
dpkg-buildpackage
To generate packages for different architectures see "-a" flag of dpkg-buildpackage commandDocumentation
To compile using Doxygen, the UseDoxygen CMake module must be installed. It can be fetched from: http://tobias.rautenkranz.ch/cmake/doxygen/Once UseDoxygen is installed, run:
cmake .
make doc
The built documentation will be available from ./doc -
-
And it ran out of memory :( I guess thats what I get for buying the pi 4 2gb version.
virtual memory exhausted: Cannot allocate memory make[2]: *** [lib/CMakeFiles/vcmi.dir/build.make:918: lib/CMakeFiles/vcmi.dir/registerTypes/RegisterTypes.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:163: lib/CMakeFiles/vcmi.dir/all] Error 2 make: *** [Makefile:163: all] Error 2
Edit: Im looking into increasing the swap file size. Im going to do some googling and will report back.
-
@quicksilver If you installed from source, there's no need for the packaging step.
-
Success! It works!
Performance is actually pretty good. I do have an issue that the sound isnt working but Ill see what I can do about that. @mitu I feel a bit like a kid jumping in the deep end of the pool but I learned a lot from this. So thank you!
Edit: sound is working now, just had to reboot apparently
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.