Added a patch from this issue: https://github.com/vcmi/vcmi/issues/1971#issuecomment-1529109450
Game should work fine for now
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 vcmi |
Licenses: | GPL2 |
Conflicts: | vcmi |
Provides: | vcmi |
Submitter: | Raziel23 |
Maintainer: | Gigas002 |
Last Packager: | Gigas002 |
Votes: | 42 |
Popularity: | 0.48 |
First Submitted: | 2013-03-12 14:11 (UTC) |
Last Updated: | 2023-09-17 01:08 (UTC) |
Added a patch from this issue: https://github.com/vcmi/vcmi/issues/1971#issuecomment-1529109450
Game should work fine for now
if error:
CMake Error at CMakeLists.txt:417 (find_package):
Found package configuration file:
/usr/lib/cmake/Qt6/Qt6Config.cmake
but it set Qt6_FOUND to FALSE so package "Qt6" is considered to be NOT
FOUND. Reason given by package:
Failed to find required Qt component "LinguistTools".
Expected Config file at
"/usr/lib/cmake/Qt6LinguistTools/Qt6LinguistToolsConfig.cmake" does NOT
exist
Configuring with --debug-find-pkg=Qt6LinguistTools might reveal details why
the package was not found.
Configuring with -DQT_DEBUG_FIND_PACKAGE=ON will print the values of some
of the path variables that find_package uses to try and find the package.
Solution: Install qt6-tools
Updated the package to version 1.0.0. Used vcmi-git
for reference. Works on my machine (c)
Removed the outdated patches, since the bug seems to be fixed (https://github.com/vcmi/vcmi/commit/5d8e943787666543df6b858c001ab4e59b09fe2d)
Use stable ffmpeg
instead of ffmpeg4.4
(https://github.com/vcmi/vcmi/pull/737)
Try to use fuzzylite-git
if you can't build fuzzylite
package
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...
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,>
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)...
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
Pinned Comments
Gigas002 commented on 2022-12-13 13:33 (UTC) (edited on 2022-12-13 13:33 (UTC) by Gigas002)
Updated the package to version 1.0.0. Used
vcmi-git
for reference. Works on my machine (c)Removed the outdated patches, since the bug seems to be fixed (https://github.com/vcmi/vcmi/commit/5d8e943787666543df6b858c001ab4e59b09fe2d)
Use stable
ffmpeg
instead offfmpeg4.4
(https://github.com/vcmi/vcmi/pull/737)Try to use
fuzzylite-git
if you can't buildfuzzylite
packagejstamant commented on 2017-10-22 22:28 (UTC)