Ubuntu install

Hello, Sorry if I ask in the wrong place… I just got ubuntu 12.04 and I don’t understand how to make this work =( Please, when i launch vcmiclient console tells me

Creating console and logfile: 10
vcmiclient: Filesystem/CFilesystemLoader.cpp:62: boost::unordered_map<ResourceID, std::basic_string > CFilesystemLoader::listFiles(size_t, bool) const: Assertion `boost::filesystem::is_directory(baseDirectory)’ failed.
Aborted (core dumped)

I don’t understand what it means… Thanks for your help…

That’s weird. I assume that you’ve installed from 0.91 deb package?

After install you need to place H3 data where VCMI expects it to be found (data directory located at /usr/share/vcmi).
This is explained on Installation on Linux page:
wiki.vcmi.eu/index.php?title=Ins … data_files

This should give your data directory like this:


If this does not helps, open Terminal and type:

ls -R /usr/share/vcmi

And post output here.

You could make the installation ask for the location of the datafiles it needs… there is a standard for that even. Granted, it’s a lousy standard (it has no template for ‘ask for file’ so you need to specificy the path as a string even on the graphical installer).
It’s called debconf i think.

Also the deb format has support for what it calls ‘configuration files’. These files are special in that they are not uninstalled in the default ‘apt-get remove’ since they are supposed to be user configs - but you can (ab)use this+debconf to make large unmodifiable data (like the original heroes data) only have to be request once per install (unless the user does a purge of the package).

You can see a example usage of the thing in my exult daily build recipe for a ppa:

code.launchpad.net/~exult-team/ … xult-daily

Exult also supports some ‘mods’ to the original datafiles, so i build the package with the ones on the exult svn included (they’re bug fixes mostly). As it is a daily build built directly from svn, it works ok; not sure if the same idea is suitable for vcmi, maybe a different package that ‘depends on’ vcmi would be better. But i do think that the manual steps of installing stuff with scripts should be obsoleted.