Package Details: vcmi 0.99-4

Git Clone URL: https://aur.archlinux.org/vcmi.git (read-only, click to copy)
Package Base: vcmi
Description: Open-source engine for Heroes of Might and Magic III
Upstream URL: http://vcmi.eu
Keywords: homm3
Licenses: GPL2
Conflicts: fuzzylite
Submitter: Raziel23
Maintainer: None
Last Packager: bwrsandman
Votes: 32
Popularity: 0.000000
First Submitted: 2013-03-12 14:11 (UTC)
Last Updated: 2018-02-20 04:06 (UTC)

Pinned Comments

jstamant commented on 2017-10-22 22:28 (UTC)

WARNING! There's a bug where your home directory will be wiped if you uninstall any mods using the vcmi launcher. It has been fixed in the development branch, but is still present in v0.99. Yes: I lost all my personal files. Luckily I have daily backups. https://bugs.vcmi.eu/view.php?id=2673

Latest Comments

GolD_R0ger commented on 2020-01-08 18:45 (UTC) (edited on 2020-01-08 19:00 (UTC) by GolD_R0ger)

doesn't build for me

Scanning dependencies of target vcmi [ 1%] Building CXX object lib/CMakeFiles/vcmi.dir/serializer/Connection.cpp.o /home/arch/aur/vcmi/src/vcmi-0.99/lib/serializer/Connection.cpp: In constructor ‘CConnection::CConnection(TSocket, std::string)’: /home/arch/aur/vcmi/src/vcmi-0.99/lib/serializer/Connection.cpp:120:62: error: ‘TSocket’ {aka ‘class boost::asio::basic_stream_socket<boost::asio::ip::tcp>’} has no member named ‘get_io_service’ 120 | :iser(this), oser(this), socket(Socket),io_service(&Socket->get_io_service()), name(Name)//, send(this), rec(this) | ^~~~~~~~~~~~~~ make[2]: [lib/CMakeFiles/vcmi.dir/build.make:819: lib/CMakeFiles/vcmi.dir/serializer/Connection.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:348: lib/CMakeFiles/vcmi.dir/all] Error 2 make: ** [Makefile:152: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting...

Linuxman commented on 2018-09-28 06:04 (UTC)

Hi! It is don't wanna rebuild with 1.68 version of boost library

[code] In file included from /usr/include/boost/range/algorithm/max_element.hpp:12, from /usr/include/boost/range/algorithm.hpp:97, from /home/user/.cache/yay/vcmi/src/vcmi-0.99/AI/VCAI/../../Global.h:178, from /home/user/.cache/yay/vcmi/src/vcmi-0.99/AI/VCAI/StdInc.h:2, from /home/user/.cache/yay/vcmi/src/vcmi-0.99/AI/VCAI/cotire/VCAI_CXX_prefix.cxx:4, from /home/user/.cache/yay/vcmi/src/vcmi-0.99/AI/VCAI/cotire/VCAI_CXX_prefix.hxx:4: /usr/include/boost/algorithm/minmax_element.hpp: In instantiation of ‘bool boost::detail::binary_pred_over_iter<iterator, binarypredicate="">::operator()(const Iterator&, const Iterator&) const [with Iterator = gnu_cxx::normal_iterator<const cgdwelling*="" cgdwelling**,="" std::vector<const=""> >; BinaryPredicate = CDistanceSorter]’: /usr/include/boost/algorithm/minmax_element.hpp:218:15: required from ‘ForwardIter boost::detail::basic_first_min_element(ForwardIter, ForwardIter, BinaryPredicate) [with ForwardIter = gnu_cxx::normal_iterator<const cgdwelling*="" cgdwelling**,="" std::vector<const=""> >; BinaryPredicate = boost::detail::binary_pred_over_iter<gnu_cxx::normal_iterator<const cgdwelling*="" cgdwelling**,="" std::vector<const=""> >, CDistanceSorter>]’ /usr/include/boost/algorithm/minmax_element.hpp:276:43: required from ‘ForwardIter boost::first_min_element(ForwardIter, ForwardIter, BinaryPredicate) [with ForwardIter = gnu_cxx::normal_iterator<const cgdwelling*="" cgdwelling**,="" std::vector<const=""> >; BinaryPredicate = CDistanceSorter]’ /usr/include/boost/range/algorithm/min_element.hpp:53:36: required from ‘typename boost::range_iterator<c>::type boost::range::min_element(ForwardRange&, BinaryPredicate) [with ForwardRange = std::vector<const cgdwelling*="">; BinaryPredicate = CDistanceSorter; typename boost::range_iterator<c>::type = gnu_cxx::normal_iterator<const cgdwelling*="" cgdwelling**,="" std::vector<const=""> >]’ /home/user/.cache/yay/vcmi/src/vcmi-0.99/AI/VCAI/Goals.cpp:927:88: required from here /usr/include/boost/algorithm/minmax_element.hpp:47:73: error: no match for call to ‘(const CDistanceSorter) (const CGDwelling&, const CGDwelling&)’ Iterator const& it2) const { return m_p(it1, it2); } ^ In file included from /home/user/.cache/yay/vcmi/src/vcmi-0.99/AI/VCAI/Goals.h:7, from /home/user/.cache/yay/vcmi/src/vcmi-0.99/AI/VCAI/Goals.cpp:2: /home/user/.cache/yay/vcmi/src/vcmi-0.99/AI/VCAI/AIUtility.h:170:7: note: candidate: ‘bool CDistanceSorter::operator()(const CGObjectInstance, const CGObjectInstance)’ <near match=""> bool operator ()(const CGObjectInstance lhs, const CGObjectInstance rhs); ^~~~~~~~ /home/user/.cache/yay/vcmi/src/vcmi-0.99/AI/VCAI/AIUtility.h:170:7: note: passing ‘const CDistanceSorter’ as ‘this’ argument discards qualifiers /home/user/.cache/yay/vcmi/src/vcmi-0.99/AI/VCAI/Goals.cpp: In member function ‘std::__cxx11::string Goals::AbstractGoal::name() const’: /home/user/.cache/yay/vcmi/src/vcmi-0.99/AI/VCAI/Goals.cpp:69:45: warning: this statement may fall through [-Wimplicit-fallthrough=] desc = "GET OBJ " + obj->getObjectName(); ^ /home/user/.cache/yay/vcmi/src/vcmi-0.99/AI/VCAI/Goals.cpp:71:3: note: here case FIND_OBJ: ^~~~ make[2]: [AI/VCAI/CMakeFiles/VCAI.dir/build.make:105: AI/VCAI/CMakeFiles/VCAI.dir/Goals.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:877: AI/VCAI/CMakeFiles/VCAI.dir/all] Error 2 make: ** [Makefile:152: all] Error 2 [/code]</near></const></c></const></c></const></const></const></const></iterator,>

axfelix commented on 2018-05-07 05:01 (UTC)

Anyone feel like making a precompiled binary package? For a recreation of a game engine from 1999 this takes a surprisingly long time to build (it filled up my 2GB /tmp and I haven't felt like trying again yet)...

yktor commented on 2018-02-15 22:45 (UTC) (edited on 2018-02-15 22:45 (UTC) by yktor)

Patch to prevent $HOME deletion: https://hastebin.com/obozorezox.cpp

Patch to fix compilation with new boost: https://hastebin.com/womijexiyi.cpp

Please update PKGBUILD

jstamant commented on 2017-10-22 22:28 (UTC)

WARNING! There's a bug where your home directory will be wiped if you uninstall any mods using the vcmi launcher. It has been fixed in the development branch, but is still present in v0.99. Yes: I lost all my personal files. Luckily I have daily backups. https://bugs.vcmi.eu/view.php?id=2673

MarcinWieczorek commented on 2017-10-17 17:08 (UTC)

Hello, please rename the tarball to $pkgname-$pkgver like format, so it is possible to use shared source directory. Thank you.

argarak commented on 2016-10-23 22:51 (UTC)

@gonciarz I've documented the problem on your VCMI issues page (http://bugs.vcmi.eu/view.php?id=2511) so see the most recent note for more details. And @bwrsandman, please remove the `minizip` dependency (also in vcmi-git), as currently, one has to remove it to get any mods to install.

gonciarz commented on 2016-10-04 22:18 (UTC)

I retested the newest vcmi package. I'm able to compile it but when I try to install WOG from vcmilauncher I got Segmentation fault: vcmilauncher Failed to open file /home/ruppertus/.config/vcmi/modSettings.json File <unknown> is not a valid JSON file! At line 21, position 2 warning: Comma expected! At line 36, position 1 warning: Comma expected! File <unknown> is not a valid JSON file! At line 21, position 2 warning: Comma expected! At line 36, position 1 warning: Comma expected! Segmentation fault (core dumped)

gonciarz commented on 2016-10-03 22:32 (UTC)

I'm sorry for a mess. I've checked vcmi-git package. I'll retest it against vcmi soon.

bwrsandman commented on 2016-10-03 15:23 (UTC)

There seems to be a bug in builder, it doesn't exist in the vcmi-git package. When I have the time, I will try and find the patch which fixes it. For the meantime, you can try installing the vcmi-git package, running vcmibuilder, then installing the vcmi package.

gonciarz commented on 2016-10-03 15:19 (UTC)

Thanks, anyway I'm not able to install anything from vcmilauncher. Example scenario: 1. rm -rf ~/.local/share/vcmi ~/.cache/vcmi ~/.config/vcmi ~/.local/share/vcmi/Saves 2. vcmibuilder --data ~/heroes3_complete_installation 3. vcmilauncher 4. From Launcher, install WOG causes crash. If you are able to recreate it on your arch, then please add the proper comment in http://bugs.vcmi.eu/view.php?id=2511 otherwise please let me know if I'm doing something wrong.

bwrsandman commented on 2016-09-24 14:39 (UTC)

Fixed the compile issues. Your issue was an ambiguity with boost and std's make_shared() There also was an issue with ffmpeg.

gonciarz commented on 2016-09-24 11:03 (UTC)

Does not compile: [ 30%] Building CXX object lib/CMakeFiles/vcmi.dir/Connection.cpp.o /home/ruppertus/work/src/archlinux/vcmi/src/vcmi-0.98/lib/Connection.cpp: In member function ‘CTypeList::TypeInfoPtr CTypeList::registerType(const std::type_info*)’: /home/ruppertus/work/src/archlinux/vcmi/src/vcmi-0.98/lib/Connection.cpp:443:45: error: call of overloaded ‘make_shared()’ is ambiguous auto newType = make_shared<TypeDescriptor>(); ^ In file included from /usr/include/c++/6.2.1/memory:82:0, from /home/ruppertus/work/src/archlinux/vcmi/src/vcmi-0.98/lib/../Global.h:114, from /home/ruppertus/work/src/archlinux/vcmi/src/vcmi-0.98/lib/StdInc.h:3, from /home/ruppertus/work/src/archlinux/vcmi/src/vcmi-0.98/lib/cotire/vcmi_CXX_prefix.cxx:4, from /home/ruppertus/work/src/archlinux/vcmi/src/vcmi-0.98/lib/cotire/vcmi_CXX_prefix.hxx:4: /usr/include/c++/6.2.1/bits/shared_ptr.h:632:5: note: candidate: std::shared_ptr<_Tp1> std::make_shared(_Args&& ...) [with _Tp = CTypeList::TypeDescriptor; _Args = {}] make_shared(_Args&&... __args) ^~~~~~~~~~~ In file included from /usr/include/boost/smart_ptr/make_shared.hpp:15:0, from /usr/include/boost/thread/future.hpp:61, from /usr/include/boost/thread.hpp:24, from /home/ruppertus/work/src/archlinux/vcmi/src/vcmi-0.98/lib/../Global.h:157, from /home/ruppertus/work/src/archlinux/vcmi/src/vcmi-0.98/lib/StdInc.h:3, from /home/ruppertus/work/src/archlinux/vcmi/src/vcmi-0.98/lib/cotire/vcmi_CXX_prefix.cxx:4, from /home/ruppertus/work/src/archlinux/vcmi/src/vcmi-0.98/lib/cotire/vcmi_CXX_prefix.hxx:4: /usr/include/boost/smart_ptr/make_shared_object.hpp:246:87: note: candidate: typename boost::detail::sp_if_not_array<T>::type boost::make_shared(Args&& ...) [with T = CTypeList::TypeDescriptor; Args = {}; typename boost::detail::sp_if_not_array<T>::type = boost::shared_ptr<CTypeList::TypeDescriptor>] template< class T, class... Args > typename boost::detail::sp_if_not_array< T >::type make_shared( Args && ... args ) ^~~~~~~~~~~ make[2]: *** [lib/CMakeFiles/vcmi.dir/build.make:2102: lib/CMakeFiles/vcmi.dir/Connection.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:190: lib/CMakeFiles/vcmi.dir/all] Error 2 make: *** [Makefile:150: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting...

KozRoss commented on 2016-01-10 00:36 (UTC)

Does not build for me: [ 61%] Building CXX object lib/CMakeFiles/vcmi.dir/NetPacksLib.cpp.o /tmp/yaourt-tmp-koz/aur-vcmi/src/vcmi-0.98/lib/Connection.cpp: In member function ‘CTypeList::TypeInfoPtr CTypeList::registerType(const std::type_info*)’: /tmp/yaourt-tmp-koz/aur-vcmi/src/vcmi-0.98/lib/Connection.cpp:443:45: error: call of overloaded ‘make_shared()’ is ambiguous auto newType = make_shared<TypeDescriptor>(); ^

Raziel23 commented on 2015-06-10 13:57 (UTC)

@oppsig: You are not using current 0.98-2 tarball which include a compile fix for this (precisely speaking 0001-Fix-building-with-Boost-1.58.patch file), but you are using the old 0.98-1 tarball. I suspect that this is an AUR wrapper (yaourt) fault which you are using. It simply use the tarball from the old AUR (aur.archlinux.org), not from new one (aur4.archlinux.org). You can manually download the new tarball and manually build the package by using makepkg.

oppsig commented on 2015-06-10 07:45 (UTC)

0.98-2 Does not build for me. [ 20%] Building CXX object lib/CMakeFiles/vcmi.dir/CArtHandler.cpp.o /tmp/yaourt-tmp-judas/aur-vcmi/src/vcmi-0.98/lib/CArtHandler.cpp: In member function ‘boost::optional<std::vector<CArtifact*>&> CArtHandler::listFromClass(CArtifact::EartClass)’: /tmp/yaourt-tmp-judas/aur-vcmi/src/vcmi-0.98/lib/CArtHandler.cpp:674:10: error: could not convert ‘nullptr’ from ‘std::nullptr_t’ to ‘boost::optional<std::vector<CArtifact*>&>’ return nullptr; ^ In file included from /tmp/yaourt-tmp-judas/aur-vcmi/src/vcmi-0.98/lib/spells/CSpellHandler.h:15:0, from /tmp/yaourt-tmp-judas/aur-vcmi/src/vcmi-0.98/lib/CArtHandler.cpp:18: /tmp/yaourt-tmp-judas/aur-vcmi/src/vcmi-0.98/lib/spells/../int3.h: At global scope: /tmp/yaourt-tmp-judas/aur-vcmi/src/vcmi-0.98/lib/spells/../int3.h:157:19: warning: ‘dirs’ defined but not used [-Wunused-variable] static const int3 dirs[] = { int3(0,1,0),int3(0,-1,0),int3(-1,0,0),int3(+1,0,0), ^ lib/CMakeFiles/vcmi.dir/build.make:1343: recipe for target 'lib/CMakeFiles/vcmi.dir/CArtHandler.cpp.o' failed make[2]: *** [lib/CMakeFiles/vcmi.dir/CArtHandler.cpp.o] Error 1 CMakeFiles/Makefile2:145: recipe for target 'lib/CMakeFiles/vcmi.dir/all' failed make[1]: *** [lib/CMakeFiles/vcmi.dir/all] Error 2 Makefile:136: recipe for target 'all' failed make: *** [all] Error 2 ==> ERROR: A failure occurred in build(). Aborting... ==> ERROR: Makepkg was unable to build vcmi. ==> Restart building vcmi ? [y/N] ==> ----------------------------- ==>

Raziel23 commented on 2015-04-01 13:50 (UTC)

[Bump to version 0.98-1]. New upstream release. The changelog is as follows: http://forum.vcmi.eu/viewtopic.php?p=14153#14153 Also the PKGBUILD was cleaned up.

Raziel23 commented on 2014-11-02 10:47 (UTC)

[Bump to version 0.97-1]. New upstream release. The changelog is as follows: http://forum.vcmi.eu/viewtopic.php?p=13381#13381 I switched from SDL 1 to SDL 2, added minizip dependency and updated the installation instructions.

Raziel23 commented on 2014-10-11 06:17 (UTC)

@salviati: Why you flag this package out of date? There isn't newer stable version of vcmi than 0.96. Version 0.96b is a development version (not stable one). If you want use it please use vcmi-git package.

Raziel23 commented on 2014-08-24 14:22 (UTC)

[Update without bump the pkgver]. Set MAKEFLAGS="-j1" in the PKGBUILD in order to avoid running out of memory during compilation, because some people have problems with exceeding their memory during compilation with more than one job. Better safe than sorry. This change doesn't affect the package (only compilation) so I didn't bump the pkgver to avoid recompilation for other people.

Raziel23 commented on 2014-08-24 13:51 (UTC)

@bladedglove: Good catch. Thank you for the tip. With my 2 cores (2 threads) memory usage doesn't exceed my 8 GB. I think that instead of changing /etc/makepkg.conf I will set the variable MAKEFLAGS="-j1" in the PKGBUILD to avoid such situations. The compilation time will take longer (for me with -j1 it takes about 40 minutes), but at least more people will be able build the vcmi successfully.

bladedglove commented on 2014-08-24 08:15 (UTC)

To avoid running out of memory and freezing your system on multicore computers, set a lower value for MAKEFLAGS="-jX" in /etc/makepkg.conf before running makepkg -s. Compiling with "-j4" (forcing the compiler to use all 4 cores of my i5 CPU) resulted in running out of memory (8GB) and failing at 56%, but the "-j1" value forced the compiler to use only 1 core and the top memory usage was at around ~3-4GB. Of course, using a huge swap partition/file is also a solution, but that's another story.

Raziel23 commented on 2014-08-02 12:56 (UTC)

@KlavKalashj: I've experienced freezing the system during compilation vcmi version 0.95. Even with the frozen system I was able successfully compile vcmi 0.95. For me with vcmi version 0.96 and with vcmi-git this issue not exist. I can only speak for myself, because the problem doesn't exist for me. I presume that this issue may that exist during compilation registerTypes. This part of compilation takes most memory and time compilation. I'm not vcmi developer, I'm only the package maintainer and I don't know how solve this problem. You can write about this issue in the vcmi forum. Here it is the related topic about this problem: http://forum.vcmi.eu/viewtopic.php?p=11612

KlavKalashj commented on 2014-07-27 14:42 (UTC)

@Raziel23: I am also experiencing freezes when compiling, and I also have 8gb ram. Are you saying that your compilation is finishing even though your computer is frozen? Also, I get this with both this package and vcmi-git.

Raziel23 commented on 2014-07-02 07:44 (UTC)

[Bump to version 0.96-1]. New upstream release. The changelog is as follows: http://forum.vcmi.eu/viewtopic.php?p=12595#12595 I have added libxkbcommon-x11 dependency in order to run properly the vcmilauncher. Starting from version 0.96 vcmi supports XDG filesystem specifications. This transition mean that all user data has been moved according to specs: - Game data (H3 files and mods) and saves: from ~/.vcmi to ~/.local/share/vcmi - Temporary files, including logs: from ~/.vcmi to ~/.cache/vcmi - Config files: from ~/.vcmi/config to ~/.config/vcmi This transition affect users who have already installed previous version of vcmi than 0.96. New users who have not previously installed vcmi are not affected by this transition because those directories will be created automatically during data preparation by vcmibuilder script. Users who have already installed previous version of vcmi have to: - move game data to ~/.local/share/vcmi with command: mkdir ~/.local/share/vcmi && mv ~/.vcmi/{Data,Games,Maps,Mp3,Mods,Saves} ~/.local/share/vcmi/ - move temporary files to ~/.cache/vcmi with command: mkdir ~/.cache/vcmi && mv ~/.vcmi/{*log.txt,downloads} ~/.cache/vcmi/ - remove remaining config files because they are not compatible in vcmi version 0.96 with command: rm -rf ~/.vcmi Here is the appropriate announcement about this: http://forum.vcmi.eu/viewtopic.php?p=11696#11696

Raziel23 commented on 2014-06-16 19:58 (UTC)

@Tjuh: I have to admit that I've also experienced this situation, even with my 8 GB of memory. I can successfully compile the vcmi but like you said its freezing the system during compilation. I can't do anything with this. This issue not occur with the vcmi-git package so you should use it. In the future in the vcmi version 0.96 this issue should not exist.

Tjuh commented on 2014-06-16 13:10 (UTC)

I am not able to compile this, I can't get past 3% due to it freezing up my system. I have 4GB of mem, yet it keeps draining them and crashing.

Raziel23 commented on 2014-05-11 07:17 (UTC)

@salviati: I'm aware that there is already the development version of vcmi (0.95b), but this version is mainly intended for testers and it isn't considered as the stable version. This package however contain the stable version. If you want follow more closely the project you can use vcmi-git which is in fact the development version of vcmi (precisely speaking vcmi 0.95b was announced in git commit 1dbc0c7).

Raziel23 commented on 2014-03-02 12:58 (UTC)

[Bump to version 0.95-1]. New upstream release. The changelog is as follows: http://forum.vcmi.eu/viewtopic.php?p=11664#11664 I've also removed -DENABLE_LAUNCHER='Yes' option. Now it's enabled by default.

Raziel23 commented on 2013-12-27 14:43 (UTC)

@Arhat: Vcmi has many configuration files written in json data format. You can list with command: pacman -Ql vcmi |grep json The best way to change theme is to copy appropriate configuration files to corresponding directories within ~/.vcmi directory and there modify them (in this manner the original configuration files remain intact and your modified configuration files will not be overwritten when you install new version of vcmi in the future). So to answer your question, simply copy defaultMods.json file to ~/.vcmi/config directory with command: cp /usr/share/vcmi/config/defaultMods.json ~/.vcmi/config/ Edit it and change "STACK_EXPERIENCE" and "COMMANDERS" options from false to true value. BTW. This question should be directed to the vcmi forum :)

Arhat commented on 2013-12-27 10:22 (UTC)

Thanks for your work here. Following the discussions in the vcmi forum, I gathered, that two WoG features should work with vcmi: commanders and stack experience. However I can't get either of them to work. I do have the Mods/WoG/Data/zvs Directory and the mod.json file. vmcilauncher says WoG is installed. Any ideas what else I need to look for?

Raziel23 commented on 2013-10-02 11:37 (UTC)

[Bump to version 0.94-1]. New upstream release. The changelog is as follows: http://forum.vcmi.eu/viewtopic.php?p=10538#10538 I've also added qt5-base dependency in order to compile and run properly vcmilauncher (mod manager). vcmilauncher can automatically download and manage available mods for vcmi.

Raziel23 commented on 2013-06-01 20:48 (UTC)

[Bump to version 0.93-1]. New upstream release. The changelog is as follows: http://forum.vcmi.eu/viewtopic.php?p=9354

Raziel23 commented on 2013-05-09 07:42 (UTC)

[Bump to version 0.92-2]. I have take advantage of pacman version 4.1 and slightly update the PKGBUILD. The changes I have made are: - removed from makedepends subversion (it shouldn't be there) - added a prepare() function which creates an empty build directory - added three new dependencies (desktop-file-utils, gtk-update-icon-cache, hicolor-icon-theme) in order to update icon and desktop files after installing, updating and removing the vcmi package - removed two dependencies (sdl, zlib) because they are already satisfied by other packages (respectively by boost-libs and sdl_image) - added a post remove message which tells that in order to completely remove the vcmi package you have to manually remove the ~/.vcmi directory If you encounter any problems with new PKGBUILD please leave here a comment.