Package Details: vcmi 0.98-4

Git Clone URL: https://aur.archlinux.org/vcmi.git (read-only)
Package Base: vcmi
Description: Open-source engine for Heroes of Might and Magic III
Upstream URL: http://vcmi.eu
Keywords: homm3
Licenses: GPL2
Submitter: Raziel23
Maintainer: bwrsandman
Last Packager: bwrsandman
Votes: 22
Popularity: 0.912448
First Submitted: 2013-03-12 14:11
Last Updated: 2016-09-24 14:37

Required by (0)

Sources (5)

  • 0001-Fix-building-with-Boost-1.58.patch
  • 0002-Fix-ambiguity-between-boost-and-std-make_shared.patch
  • 0003-Replace-deprecated-FFmpeg-API-for-compatibility-with.patch
  • 0004-Hopefully-proper-fix-for-ffmpeg-on-MSVS.patch
  • https://github.com/vcmi/vcmi/archive/0.98.tar.gz

Latest Comments

bwrsandman commented on 2016-09-24 14:39

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

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

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

@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

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

[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

[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

@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

[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 14:03

[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 don't affect the package (only compilation)
so I didn't bump the pkgver to avoid recompilation for other people.

All comments