Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation of 0.9.2 fails on OpenBSD #2084

Open
rapenne-s opened this issue May 15, 2024 · 1 comment
Open

Compilation of 0.9.2 fails on OpenBSD #2084

rapenne-s opened this issue May 15, 2024 · 1 comment
Labels
bug portability for things related to platform support
Milestone

Comments

@rapenne-s
Copy link

Bug description

Compilation of 0.9.2 fails on OpenBSD

Steps to reproduce

I'm updating our gemrb packages in OpenBSD ports tree:

diff --git a/games/gemrb/Makefile b/games/gemrb/Makefile
index dfdff822f93..5d240a67056 100644
--- a/games/gemrb/Makefile
+++ b/games/gemrb/Makefile
@@ -2,10 +2,9 @@ SHARED_LIBS += 		gemrb_core 0.0
 
 COMMENT =		open-source implementation of Bioware's Infinity Engine
 
-V =			0.8.8
+V =			0.9.2
 DISTNAME =		gemrb-${V}-sources
 PKGNAME =		gemrb-${V}
-REVISION =		0
 
 CATEGORIES =		games emulators x11
 
@@ -26,9 +25,10 @@ COMPILER =		base-clang ports-gcc
 
 MODULES =		devel/cmake \
 			lang/python
-MODPY_VERSION =	${MODPY_DEFAULT_VERSION_2}
+
+MODPY_VERSION =	${MODPY_DEFAULT_VERSION_3}
 LIB_DEPENDS =		audio/openal \
-			devel/sdl-mixer \
+			devel/sdl2 \
 			graphics/png \
 			x11/vlc \
 			${MODPY_LIB_DEPENDS}
@@ -39,7 +39,7 @@ CONFIGURE_ARGS +=	-DSYSCONF_DIR=${SYSCONFDIR}/gemrb \
 			-DEXAMPLE_CONF_DIR=${PREFIX}/share/examples/gemrb/ \
 			-DMAN_DIR=${PREFIX}/man/man6 \
 			-DDISABLE_WERROR=1 \
-			-DSDL_BACKEND=SDL \
+			-DSDL_BACKEND=SDL2 \
 			-Wno-dev
 
 NO_TEST =		Yes
diff --git a/games/gemrb/distinfo b/games/gemrb/distinfo
index f1ee1b628ab..574f61e103e 100644
--- a/games/gemrb/distinfo
+++ b/games/gemrb/distinfo
@@ -1,2 +1,2 @@
-SHA256 (gemrb-0.8.8-sources.tar.gz) = LJ0UTMSIkvUcmKG50sWdATH1UpvziobEyqjxIOBjztI=
-SIZE (gemrb-0.8.8-sources.tar.gz) = 13890279
+SHA256 (gemrb-0.9.2-sources.tar.gz) = UgbX4/7kXSEDDKrJK8eZsS7AEfkOWddAjEsOtKgzDUA=
+SIZE (gemrb-0.9.2-sources.tar.gz) = 16123769

During compilation, I get the following error:

FAILED: gemrb/core/CMakeFiles/gemrb_core.dir/Interface.cpp.o 
/usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/Interface.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/Interface.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/Interface.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Interface.cpp
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Interface.cpp:21:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Interface.h:32:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Audio.h:26:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes/globals.h:31:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes/ie_types.h:32:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/CString.h:33:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/Format.h:24:
In file included from /usr/local/include/fmt/format.h:49:
/usr/local/include/fmt/core.h:1603:3: error: static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
  static_assert(
  ^
/usr/local/include/fmt/core.h:1842:23: note: in instantiation of function template specialization 'fmt::detail::make_arg<true, fmt::basic_format_context<fmt::appender, char>, GemRB::RESOURCE_DIRECTORY, 0>' requested here
        data_{detail::make_arg<is_packed, Context>(args)...} {
                      ^
/usr/local/include/fmt/core.h:1860:10: note: in instantiation of function template specialization 'fmt::format_arg_store<fmt::basic_format_context<fmt::appender, char>, GemRB::RESOURCE_DIRECTORY>::format_arg_store<GemRB::RESOURCE_DIRECTORY>' requested here
  return {args...};
         ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Logging/Logging.h:46:27: note: in instantiation of function template specialization 'fmt::format<GemRB::RESOURCE_DIRECTORY &>' requested here
        auto formattedMsg = fmt::format(message, std::forward<ARGS>(args)...);
                                 ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Logging/Logging.h:54:2: note: in instantiation of function template specialization 'GemRB::Log<GemRB::RESOURCE_DIRECTORY &>' requested here
        Log(FATAL, owner, format, std::forward<ARGS>(args)...);
        ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Interface.cpp:2526:4: note: in instantiation of function template specialization 'GemRB::error<GemRB::RESOURCE_DIRECTORY &>' requested here
                        error("Interface", "Unknown resource directory type: {}!", dir);
                        ^
1 error generated.

The compiled used is clang 16.0.6, but I have the same error with gcc 8.4.0.

n$ clang -v
OpenBSD clang version 16.0.6
Target: amd64-unknown-openbsd7.5
Thread model: posix
InstalledDir: /usr/bin

Full compilation log:

===> Building from scratch gemrb-0.9.2
===> gemrb-0.9.2 depends on: cmake-* -> cmake-3.28.3p0v1
===> gemrb-0.9.2 depends on: ninja-* -> ninja-1.11.1p0v0
===> gemrb-0.9.2 depends on: python->=3.11,<3.12 -> python-3.11.9p2
===> gemrb-0.9.2 depends on: openal-* -> openal-1.23.1v0
===> gemrb-0.9.2 depends on: sdl2-* -> sdl2-2.30.3
===> gemrb-0.9.2 depends on: png-* -> png-1.6.43
===> gemrb-0.9.2 depends on: vlc-* -> vlc-3.0.20
===>  Verifying specs:  SDL SDL_mixer c freetype iconv m openal png pthread vlc vorbisfile z python3.11 c++ c++abi pthread
===>  found SDL.8.0 SDL_mixer.5.0 c.100.0 freetype.30.3 iconv.7.1 m.10.1 openal.5.0 png.18.0 pthread.27.1 vlc.4.0 vorbisfile.6.0 z.7.0 python3.11.0.0 c++.10.0 c++abi.7.0
===>  Checking files for gemrb-0.9.2
`/usr/ports/distfiles/gemrb-0.9.2-sources.tar.gz' is up to date.
>> (SHA256) gemrb-0.9.2-sources.tar.gz: OK
===>  Extracting for gemrb-0.9.2
===>  Patching for gemrb-0.9.2
===>   Applying OpenBSD patch patch-CMakeLists_txt
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: CMakeLists.txt
|--- CMakeLists.txt.orig
|+++ CMakeLists.txt
--------------------------
Patching file CMakeLists.txt using Plan A...
Hunk #1 succeeded at 9 with fuzz 2 (offset 3 lines).
done
===>   Applying OpenBSD patch patch-gemrb_GemRB_cfg_sample_in
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Index: gemrb/GemRB.cfg.sample.in
|--- gemrb/GemRB.cfg.sample.in.orig
|+++ gemrb/GemRB.cfg.sample.in
--------------------------
Patching file gemrb/GemRB.cfg.sample.in using Plan A...
Hunk #1 succeeded at 185 (offset 12 lines).
Hunk #2 succeeded at 226 (offset 12 lines).
Hunk #3 succeeded at 240 (offset 12 lines).
Hunk #4 succeeded at 284 with fuzz 1 (offset 12 lines).
done
===>  Compiler link: clang -> env  CCACHE_DIR=/usr/ports/pobj/.ccache  ccache /usr/bin/clang
===>  Compiler link: clang++ -> env  CCACHE_DIR=/usr/ports/pobj/.ccache  ccache /usr/bin/clang++
===>  Compiler link: cc -> env  CCACHE_DIR=/usr/ports/pobj/.ccache  ccache /usr/bin/cc
===>  Compiler link: c++ -> env  CCACHE_DIR=/usr/ports/pobj/.ccache  ccache /usr/bin/c++
===>  Generating configure for gemrb-0.9.2
/usr/bin/perl /usr/ports/infrastructure/bin/pkg_subst -DMODPY_PYCACHE=__pycache__/ -DMODPY_COMMENT= -DMODPY_ABI3SO=.abi3 -DMODPY_PYC_MAGIC_TAG=cpython-311. -DMODPY_BIN=/usr/local/bin/python3.11 -DMODPY_EGG_VERSION= -DMODPY_VERSION=3.11 -DMODPY_BIN_SUFFIX= -DMODPY_PY_PREFIX=py3- -DMODPY_PYOEXTENSION=opt-1.pyc -DMODCMAKE_BUILD_SUFFIX=-release.cmake -DLIBgemrb_core_VERSION=0.0 -DARCH=amd64 -DBASE_PKGPATH=games/gemrb -DFLAVOR_EXT= -DFULLPKGNAME=gemrb-0.9.2 -DHOMEPAGE=https://www.gemrb.org/ -DLOCALBASE=/usr/local -DLOCALSTATEDIR=/var -DMACHINE_ARCH=amd64 -DMAINTAINER=Kirill\ Bychkov\ \<[email protected]\> -DPREFIX=/usr/local -DRCDIR=/etc/rc.d -DSYSCONFDIR=/etc -DTRUEPREFIX=/usr/local -DX11BASE=/usr/X11R6 -DPKGSTEM=gemrb -i -B /usr/ports/pobj/gemrb-0.9.2 /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/CMakeLists.txt
===>  Configuring for gemrb-0.9.2
-- The C compiler identification is Clang 16.0.6
-- The CXX compiler identification is Clang 16.0.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/ports/pobj/gemrb-0.9.2/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/ports/pobj/gemrb-0.9.2/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detected version: 0.9.2
-- Git version bool: 0
-- Performing Test VISIBILITY_HIDDEN
-- Performing Test VISIBILITY_HIDDEN - Success
-- Performing Test FALLTHROUGH
-- Performing Test FALLTHROUGH - Success
-- Found PythonLibs: /usr/local/lib/libpython3.11.so.0.0 (found suitable version "3.11.9", minimum required is "3") 
-- Looking for Python libraries and headers: found
-- Found SDL2_mixer: /usr/local/lib/libSDL2_mixer.so.1.1 (found version "2.8.0") 
-- Looking for SDL_mixer: found
-- Found ZLIB: /usr/lib/libz.so.7.0 (found version "1.3.1.1")  
-- Looking for Zlib: found
-- Performing Test Iconv_IS_BUILT_IN
-- Performing Test Iconv_IS_BUILT_IN - Failed
-- Found Iconv: /usr/local/lib/libiconv.so.7.1 (found version "1.17") 
-- Looking for iconv: found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found OpenAL: /usr/local/lib/libopenal.so.5.0  
-- Looking for OpenAL: found
-- Found LibVLC include-dir path: /usr/local/include
-- Found LibVLC library path:/usr/local/lib/libvlc.so.4.0
-- Looking for VLC: found
-- Found Freetype: /usr/X11R6/lib/libfreetype.so.30.3 (found version "2.13.0") 
-- Looking for Freetype: found
-- Found PNG: /usr/local/lib/libpng.so.18.0 (found version "1.6.43") 
-- Looking for libPNG: found
-- Looking for Ogg Vorbis support: found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of uint64_t
-- Check size of uint64_t - done
-- Looking for strndup
-- Looking for strndup - found
-- Looking for strlcpy
-- Looking for strlcpy - found
-- Looking for setenv
-- Looking for setenv - found
-- Looking for ldexpf
-- Looking for ldexpf - not found
-- Looking for realpath
-- Looking for realpath - found
-- Looking for mmap
-- Looking for mmap - found
-- Looking for _aligned_malloc
-- Looking for _aligned_malloc - not found
-- Looking for memalign
-- Looking for memalign - not found
-- Looking for posix_memalign
-- Looking for posix_memalign - found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for include file langinfo.h
-- Looking for include file langinfo.h - found
-- Looking for include file dlfcn.h
-- Looking for include file dlfcn.h - found
-- Performing Test PERMITS_OBJECT_TO_FUNCTION_CAST
-- Performing Test PERMITS_OBJECT_TO_FUNCTION_CAST - Failed
-- 
-- These are the configured paths:
--   PREFIX: /usr/local
--   LIB_DIR: /usr/local/lib/gemrb
--   PLUGIN_DIR: /usr/local/lib/gemrb/plugins
--   BIN_DIR: /usr/local/bin
--   DATA_DIR: /usr/local/share/gemrb
--   MAN_DIR: /usr/local/man/man6
--   SYSCONF_DIR: /etc/gemrb
--   DOC_DIR: /usr/local/share/doc/gemrb
--   ICON_DIR: /usr/local/share/pixmaps
--   SVG_DIR: /usr/local/share/icons/hicolor/scalable/apps
--   MENU_DIR: /usr/local/share/applications
-- 
-- Options:
--   LAYOUT: fhs
--   NOCOLOR: disabled
--   STATIC_LINK: disabled
--   INSOURCEBUILD: disabled
--   DISABLE_WERROR: 1
--   WIN32_USE_STDIO: disabled
--   SDL_BACKEND: SDL2
--   USE_SDL_CONTROLLER_API: ON
--   PYTHON_VERSION: 3
--   OPENGL_BACKEND: None
--   SANITIZE: None
-- 
-- Build type: Release
-- Target bitness: 8*8
-- 
-- Configuring done (3.8s)
-- Generating done (0.1s)
-- Build files have been written to: /usr/ports/pobj/gemrb-0.9.2/build-amd64
===>  Building for gemrb-0.9.2
Change Dir: '/usr/ports/pobj/gemrb-0.9.2/build-amd64'

Run Build Command(s): /usr/local/bin/ninja -v -j 12
[snip too long for github]
[65/222] /usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Button.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Button.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Button.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GUI/Button.cpp
FAILED: gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Button.cpp.o 
/usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Button.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Button.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/GUI/Button.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GUI/Button.cpp
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GUI/Button.cpp:21:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GUI/Button.h:31:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GUI/GUIAnimation.h:24:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Region.h:32:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes/ie_types.h:32:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/CString.h:33:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/Format.h:24:
In file included from /usr/local/include/fmt/format.h:49:
/usr/local/include/fmt/core.h:1603:3: error: static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
  static_assert(
  ^
/usr/local/include/fmt/core.h:1842:23: note: in instantiation of function template specialization 'fmt::detail::make_arg<true, fmt::basic_format_context<fmt::appender, char>, GemRB::BUTTON_IMAGE_TYPE, 0>' requested here
        data_{detail::make_arg<is_packed, Context>(args)...} {
                      ^
/usr/local/include/fmt/core.h:1860:10: note: in instantiation of function template specialization 'fmt::format_arg_store<fmt::basic_format_context<fmt::appender, char>, GemRB::BUTTON_IMAGE_TYPE>::format_arg_store<GemRB::BUTTON_IMAGE_TYPE>' requested here
  return {args...};
         ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Logging/Logging.h:46:27: note: in instantiation of function template specialization 'fmt::format<GemRB::BUTTON_IMAGE_TYPE &>' requested here
        auto formattedMsg = fmt::format(message, std::forward<ARGS>(args)...);
                                 ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GUI/Button.cpp:79:3: note: in instantiation of function template specialization 'GemRB::Log<GemRB::BUTTON_IMAGE_TYPE &>' requested here
                Log(ERROR, "Button", "Trying to set a button image index out of range: {}", type);
                ^
1 error generated.
[66/222] /usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/PluginMgr.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/PluginMgr.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/PluginMgr.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/PluginMgr.cpp
[67/222] /usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/GUI/GameControl.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/GUI/GameControl.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/GUI/GameControl.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GUI/GameControl.cpp
FAILED: gemrb/core/CMakeFiles/gemrb_core.dir/GUI/GameControl.cpp.o 
/usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/GUI/GameControl.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/GUI/GameControl.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/GUI/GameControl.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GUI/GameControl.cpp
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GUI/GameControl.cpp:20:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GUI/GameControl.h:30:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GUI/Control.h:44:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes/globals.h:31:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes/ie_types.h:32:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/CString.h:33:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/Format.h:24:
In file included from /usr/local/include/fmt/format.h:49:
/usr/local/include/fmt/core.h:1603:3: error: static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
  static_assert(
  ^
/usr/local/include/fmt/core.h:1842:23: note: in instantiation of function template specialization 'fmt::detail::make_arg<true, fmt::basic_format_context<fmt::appender, char>, const GemRB::ScriptableType, 0>' requested here
        data_{detail::make_arg<is_packed, Context>(args)...} {
                      ^
/usr/local/include/fmt/core.h:1860:10: note: in instantiation of function template specialization 'fmt::format_arg_store<fmt::basic_format_context<fmt::appender, char>, GemRB::ScriptableType>::format_arg_store<const GemRB::ScriptableType>' requested here
  return {args...};
         ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Logging/Logging.h:46:27: note: in instantiation of function template specialization 'fmt::format<const GemRB::ScriptableType &>' requested here
        auto formattedMsg = fmt::format(message, std::forward<ARGS>(args)...);
                                 ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GUI/GameControl.cpp:1699:4: note: in instantiation of function template specialization 'GemRB::Log<const GemRB::ScriptableType &>' requested here
                        Log(ERROR, "GameControl", "Invalid pick target of type {}", tgt->Type);
                        ^
1 error generated.
[68/222] /usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/Particles.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/Particles.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/Particles.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Particles.cpp
[69/222] /usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/GSUtils.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/GSUtils.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/GSUtils.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GameScript/GSUtils.cpp
FAILED: gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/GSUtils.cpp.o 
/usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/GSUtils.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/GSUtils.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/GameScript/GSUtils.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GameScript/GSUtils.cpp
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GameScript/GSUtils.cpp:21:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GameScript/GSUtils.h:23:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GameScript/GameScript.h:26:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Interface.h:32:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Audio.h:26:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes/globals.h:31:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes/ie_types.h:32:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/CString.h:33:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/Format.h:24:
In file included from /usr/local/include/fmt/format.h:49:
/usr/local/include/fmt/core.h:1603:3: error: static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
  static_assert(
  ^
/usr/local/include/fmt/core.h:1842:23: note: in instantiation of function template specialization 'fmt::detail::make_arg<true, fmt::basic_format_context<fmt::appender, char>, GemRB::ScriptableType, 0>' requested here
        data_{detail::make_arg<is_packed, Context>(args)...} {
                      ^
/usr/local/include/fmt/core.h:1860:10: note: in instantiation of function template specialization 'fmt::format_arg_store<fmt::basic_format_context<fmt::appender, char>, GemRB::FixedSizeString<32, &strncasecmp>, GemRB::ScriptableType, int>::format_arg_store<const GemRB::FixedSizeString<32, &strncasecmp>, GemRB::ScriptableType, int>' requested here
  return {args...};
         ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Logging/Logging.h:46:27: note: in instantiation of function template specialization 'fmt::format<const GemRB::FixedSizeString<32, &strncasecmp> &, GemRB::ScriptableType &, int &>' requested here
        auto formattedMsg = fmt::format(message, std::forward<ARGS>(args)...);
                                 ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/GameScript/GSUtils.cpp:1118:3: note: in instantiation of function template specialization 'GemRB::Log<const GemRB::FixedSizeString<32, &strncasecmp> &, GemRB::ScriptableType &, int &>' requested here
                Log(ERROR, "GameScript", "Speaker for dialog couldn't be found (Sender: {}, Type: {}) Flags:{}.",
                ^
1 error generated.
[70/222] /usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/Projectile.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/Projectile.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/Projectile.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Projectile.cpp
FAILED: gemrb/core/CMakeFiles/gemrb_core.dir/Projectile.cpp.o 
/usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/Projectile.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/Projectile.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/Projectile.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Projectile.cpp
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Projectile.cpp:21:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Projectile.h:32:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes/ie_types.h:32:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/CString.h:33:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/Format.h:24:
In file included from /usr/local/include/fmt/format.h:49:
/usr/local/include/fmt/core.h:1603:3: error: static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
  static_assert(
  ^
/usr/local/include/fmt/core.h:1842:23: note: in instantiation of function template specialization 'fmt::detail::make_arg<true, fmt::basic_format_context<fmt::appender, char>, GemRB::orient_t, 0>' requested here
        data_{detail::make_arg<is_packed, Context>(args)...} {
                      ^
/usr/local/include/fmt/core.h:1860:10: note: in instantiation of function template specialization 'fmt::format_arg_store<fmt::basic_format_context<fmt::appender, char>, GemRB::orient_t>::format_arg_store<GemRB::orient_t>' requested here
  return {args...};
         ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Logging/Logging.h:46:27: note: in instantiation of function template specialization 'fmt::format<GemRB::orient_t &>' requested here
        auto formattedMsg = fmt::format(message, std::forward<ARGS>(args)...);
                                 ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Logging/Logging.h:54:2: note: in instantiation of function template specialization 'GemRB::Log<GemRB::orient_t &>' requested here
        Log(FATAL, owner, format, std::forward<ARGS>(args)...);
        ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Projectile.cpp:1948:4: note: in instantiation of function template specialization 'GemRB::error<GemRB::orient_t &>' requested here
                        error("Projectile", "Mishandled orientation mirroring: {}!", direction);
                        ^
1 error generated.
[71/222] /usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/Polygon.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/Polygon.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/Polygon.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Polygon.cpp
[72/222] /usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/Map.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/Map.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/Map.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Map.cpp
FAILED: gemrb/core/CMakeFiles/gemrb_core.dir/Map.cpp.o 
/usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/Map.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/Map.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/Map.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Map.cpp
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Map.cpp:23:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Map.h:25:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes/globals.h:31:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes/ie_types.h:32:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/CString.h:33:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/Format.h:24:
In file included from /usr/local/include/fmt/format.h:49:
/usr/local/include/fmt/core.h:1603:3: error: static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
  static_assert(
  ^
/usr/local/include/fmt/core.h:1842:23: note: in instantiation of function template specialization 'fmt::detail::make_arg<true, fmt::basic_format_context<fmt::appender, char>, GemRB::MapEnv, 0>' requested here
        data_{detail::make_arg<is_packed, Context>(args)...} {
                      ^
/usr/local/include/fmt/core.h:1860:10: note: in instantiation of function template specialization 'fmt::format_arg_store<fmt::basic_format_context<fmt::appender, char>, GemRB::MapEnv>::format_arg_store<GemRB::MapEnv>' requested here
  return {args...};
         ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/String.h:191:31: note: in instantiation of function template specialization 'fmt::format<GemRB::MapEnv>' requested here
        std::string formatted = fmt::format(fmt, std::forward<ARGS>(args)...);
                                     ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Map.cpp:2817:2: note: in instantiation of function template specialization 'GemRB::AppendFormat<GemRB::MapEnv>' requested here
        AppendFormat(buffer, "Area Type: {}\n", AreaType & (AT_CITY|AT_FOREST|AT_DUNGEON) );
        ^
1 error generated.
[73/222] /usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/RNG.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/RNG.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/RNG.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/RNG.cpp
[74/222] /usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/Interface.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/Interface.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/Interface.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Interface.cpp
FAILED: gemrb/core/CMakeFiles/gemrb_core.dir/Interface.cpp.o 
/usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/Interface.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/Interface.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/Interface.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Interface.cpp
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Interface.cpp:21:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Interface.h:32:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Audio.h:26:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes/globals.h:31:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes/ie_types.h:32:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/CString.h:33:
In file included from /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Strings/Format.h:24:
In file included from /usr/local/include/fmt/format.h:49:
/usr/local/include/fmt/core.h:1603:3: error: static assertion failed due to requirement 'formattable': Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
  static_assert(
  ^
/usr/local/include/fmt/core.h:1842:23: note: in instantiation of function template specialization 'fmt::detail::make_arg<true, fmt::basic_format_context<fmt::appender, char>, GemRB::RESOURCE_DIRECTORY, 0>' requested here
        data_{detail::make_arg<is_packed, Context>(args)...} {
                      ^
/usr/local/include/fmt/core.h:1860:10: note: in instantiation of function template specialization 'fmt::format_arg_store<fmt::basic_format_context<fmt::appender, char>, GemRB::RESOURCE_DIRECTORY>::format_arg_store<GemRB::RESOURCE_DIRECTORY>' requested here
  return {args...};
         ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Logging/Logging.h:46:27: note: in instantiation of function template specialization 'fmt::format<GemRB::RESOURCE_DIRECTORY &>' requested here
        auto formattedMsg = fmt::format(message, std::forward<ARGS>(args)...);
                                 ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Logging/Logging.h:54:2: note: in instantiation of function template specialization 'GemRB::Log<GemRB::RESOURCE_DIRECTORY &>' requested here
        Log(FATAL, owner, format, std::forward<ARGS>(args)...);
        ^
/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/Interface.cpp:2526:4: note: in instantiation of function template specialization 'GemRB::error<GemRB::RESOURCE_DIRECTORY &>' requested here
                        error("Interface", "Unknown resource directory type: {}!", dir);
                        ^
1 error generated.
[75/222] /usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/ProjectileServer.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/ProjectileServer.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/ProjectileServer.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/ProjectileServer.cpp
[76/222] /usr/ports/pobj/gemrb-0.9.2/bin/c++ -DGEM_BUILDING_CORE -DHAVE_CONFIG_H -D_USE_MATH_DEFINES -Dgemrb_core_EXPORTS -I/usr/local/include -I/usr/ports/pobj/gemrb-0.9.2/build-amd64 -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/includes -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core -I/usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/platforms/OpenBSD -O2 -pipe -Wall -W -Wpointer-arith -pedantic -Wno-format-y2k -Wno-long-long -fsigned-char -fvisibility=hidden -ffast-math -frounding-math -DNDEBUG -std=gnu++11 -fPIC   -UNDEBUG -MD -MT gemrb/core/CMakeFiles/gemrb_core.dir/PathFinder.cpp.o -MF gemrb/core/CMakeFiles/gemrb_core.dir/PathFinder.cpp.o.d -o gemrb/core/CMakeFiles/gemrb_core.dir/PathFinder.cpp.o -c /usr/ports/pobj/gemrb-0.9.2/gemrb-0.9.2/gemrb/core/PathFinder.cpp
ninja: build stopped: subcommand failed.

Expected behavior

Compilation goes fine

@rapenne-s rapenne-s added the bug label May 15, 2024
@lynxlynxlynx lynxlynxlynx added this to the 0.9.3 - TBN milestone May 15, 2024
@lynxlynxlynx
Copy link
Member

Thanks for the detailed report. If I see correctly, you're using a systemwide libfmt, so it might be a version inconsistency. We ship a copy under includes and while I see we're not using the local include syntax, we do add the dir to cmake's SYSTEM include paths for a different reason. But not in 0.9.2. You could patch INCLUDE_DIRECTORIES(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/includes/fmt) into the main CMakeLists.txt to see if that helps with the lookup.

But easiest first to check if it works for you with the code from master? We're close to a new release btw.

@MarcelHB MarcelHB added portability for things related to platform support labels May 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug portability for things related to platform support
Projects
None yet
Development

No branches or pull requests

3 participants