Package Details: vcmi 1.6.8-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: https://github.com/vcmi/vcmi
Keywords: homm homm3 vcmi
Licenses: CC-BY-SA-4.0, GPL-2.0-or-later
Submitter: Raziel23
Maintainer: Gigas002
Last Packager: Gigas002
Votes: 52
Popularity: 0.66
First Submitted: 2013-03-12 14:11 (UTC)
Last Updated: 2025-10-28 15:33 (UTC)

Pinned Comments

Gigas002 commented on 2024-05-29 15:08 (UTC)

PKGBUILD tweaks

If you want to build with clang, add this part to cmake flags:

    -DCMAKE_CXX_COMPILER='clang++' \
    -DCMAKE_C_COMPILER='clang' \

If you want to use bundled fuzzylite:

    -DFORCE_BUNDLED_FL=ON \

If you want to use innoextract (system-wide installation won't work since vcmi has a temporary? fork of innoextract for now):

    -DENABLE_INNOEXTRACT=ON \

Latest Comments

1 2 3 4 5 6 .. 9 Next › Last »

khardix commented on 2025-10-28 09:47 (UTC)

The CMakeLists.txt in laucher/lib/innoextract needs a similar treatment to the main one, as it is also trying to look for the boost system component uncoditionally.

Raul90 commented on 2025-10-27 21:04 (UTC)

Still unable to build with:

    -DENABLE_INNOEXTRACT=ON

Similar error:

CMake Error at /usr/lib/cmake/Boost-1.89.0/BoostConfig.cmake:141 (find_package):
  Could not find a package configuration file provided by "boost_system"
  (requested version 1.89.0) with any of the following names:

    boost_systemConfig.cmake
    boost_system-config.cmake

  Add the installation prefix of "boost_system" to CMAKE_PREFIX_PATH or set
  "boost_system_DIR" to a directory containing one of the above files.  If
  "boost_system" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  /usr/lib/cmake/Boost-1.89.0/BoostConfig.cmake:262 (boost_find_component)
  /usr/share/cmake/Modules/FindBoost.cmake:609 (find_package)
  launcher/lib/innoextract/CMakeLists.txt:163 (find_package)

Raul90 commented on 2025-10-25 14:35 (UTC)

Please fix, unable to build:

CMake Error at /usr/lib/cmake/Boost-1.89.0/BoostConfig.cmake:141 (find_package):
  Could not find a package configuration file provided by "boost_system"
  (requested version 1.89.0) with any of the following names:

    boost_systemConfig.cmake
    boost_system-config.cmake

  Add the installation prefix of "boost_system" to CMAKE_PREFIX_PATH or set
  "boost_system_DIR" to a directory containing one of the above files.  If
  "boost_system" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  /usr/lib/cmake/Boost-1.89.0/BoostConfig.cmake:262 (boost_find_component)
  /usr/share/cmake/Modules/FindBoost.cmake:609 (find_package)
  CMakeLists.txt:469 (find_package)

letiprase commented on 2025-10-22 17:59 (UTC)

There is a problem with Boost 1.89. Looks like it can be solved by this change https://github.com/dscharrer/innoextract/pull/199

Gigas002 commented on 2025-02-10 14:31 (UTC)

Ah, I had a feeling we'll have issues after the recent updates, lol. Thanks, @Crandel, will push the patch soon!

Crandel commented on 2025-02-10 09:36 (UTC)

If build failed with error

[ 86%] Building CXX object client/CMakeFiles/vcmiclientcommon.dir/render/CDefFile.cpp.o
In file included from /data/linux/bb/vcmi/src/vcmi-1.6.5/client/media/CMusicHandler.cpp:25:
/usr/include/SDL2/SDL_mixer.h:269:16: error: using typedef-name ‘using Mix_Music = struct _Mix_Music’ after ‘struct’
  269 | typedef struct Mix_Music Mix_Music;
      |                ^~~~~~~~~
In file included from /data/linux/bb/vcmi/src/vcmi-1.6.5/client/media/CMusicHandler.cpp:11:
/data/linux/bb/vcmi/src/vcmi-1.6.5/client/media/CMusicHandler.h:18:7: note: ‘using Mix_Music = struct _Mix_Music’ has a previous declaration here
   18 | using Mix_Music = struct _Mix_Music;
      |       ^~~~~~~~~
/usr/include/SDL2/SDL_mixer.h:269:26: error: conflicting declaration ‘typedef int Mix_Music’
  269 | typedef struct Mix_Music Mix_Music;
      |                          ^~~~~~~~~
/data/linux/bb/vcmi/src/vcmi-1.6.5/client/media/CMusicHandler.h:18:7: note: previous declaration as ‘using Mix_Music = struct _Mix_Music’
   18 | using Mix_Music = struct _Mix_Music;
      |       ^~~~~~~~~
[ 86%] Building CXX object client/CMakeFiles/vcmiclientcommon.dir/render/Canvas.cpp.o
[ 87%] Building CXX object client/CMakeFiles/vcmiclientcommon.dir/render/CanvasImage.cpp.o
[ 87%] Building CXX object client/CMakeFiles/vcmiclientcommon.dir/render/ColorFilter.cpp.o
[ 87%] Building CXX object client/CMakeFiles/vcmiclientcommon.dir/render/Colors.cpp.o
make[2]: *** [client/CMakeFiles/vcmiclientcommon.dir/build.make:1248: client/CMakeFiles/vcmiclientcommon.dir/media/CMusicHandler.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:1248: client/CMakeFiles/vcmiclientcommon.dir/all] Error 2

here is the fix, until upstream will publish new version

mirandir commented on 2025-02-01 13:27 (UTC)

FYI, you'll need -DENABLE_INNOEXTRACT=ON to install Heroes Chronicles [https://github.com/vcmi/vcmi/blob/develop/docs/players/Heroes_Chronicles.md] With -DENABLE_INNOEXTRACT=OFF, VCMI segfaults when importing GOG files.

michaldybczak commented on 2025-01-06 12:15 (UTC) (edited on 2025-01-06 12:16 (UTC) by michaldybczak)

Build error, something with the font: [ 88%] Building CXX object client/CMakeFiles/vcmiclientcommon.dir/renderSDL/CTrueTypeFont.cpp.o In file included from /home/michaldybczak/.build/vcmi/src/vcmi-1.6.2/client/renderSDL/CTrueTypeFont.cpp:23: /usr/include/SDL2/SDL_ttf.h:165:16: error: using typedef-name ‘using TTF_Font = struct _TTF_Font’ after ‘struct’ 165 | typedef struct TTF_Font TTF_Font; | ^~ In file included from /home/michaldybczak/.build/vcmi/src/vcmi-1.6.2/client/renderSDL/CTrueTypeFont.cpp:11: /home/michaldybczak/.build/vcmi/src/vcmi-1.6.2/client/renderSDL/CTrueTypeFont.h:20:7: note: ‘using TTF_Font = struct _TTF_Font’ has a previous declaration here 20 | using TTF_Font = struct _TTF_Font; | ^~ /usr/include/SDL2/SDL_ttf.h:165:25: error: conflicting declaration ‘typedef int TTF_Font’ 165 | typedef struct TTF_Font TTF_Font; | ^~ /home/michaldybczak/.build/vcmi/src/vcmi-1.6.2/client/renderSDL/CTrueTypeFont.h:20:7: note: previous declaration as ‘using TTF_Font = struct _TTF_Font’ 20 | using TTF_Font = struct _TTF_Font; | ^~ make[2]: *** [client/CMakeFiles/vcmiclientcommon.dir/build.make:1472: client/CMakeFiles/vcmiclientcommon.dir/renderSDL/CTrueTypeFont.cpp.o] Error 1 make[2]: *** Waiting for the unfinished tasks.... make[1]: *** [CMakeFiles/Makefile2:1248: client/CMakeFiles/vcmiclientcommon.dir/all] Error 2 make: *** [Makefile:156: all] Error 2 ==> ERROR: Error in build(). Aborting...

By the way, what type of markings (code?) I have to use to make the output not be clamped together, like others did below?

Crandel commented on 2025-01-06 09:28 (UTC)

If you do not want to wait for the fix from devs here is a dirty working solution

Gigas002 commented on 2025-01-06 07:28 (UTC)

@Crandel I think sdl2_ttf update caused this to happen. Similar issue is open in upstream: https://github.com/vcmi/vcmi/issues/5207