Help with compiling master on Windows 10 (msys2)

Get help with compiling or installing the game, and discuss announcements of new official releases.

Moderator: Forum Moderators

User avatar
Lord-Knightmare
Discord Moderator
Posts: 2340
Joined: May 24th, 2010, 5:26 pm
Location: Somewhere in the depths of Irdya, gathering my army to eventually destroy the known world.
Contact:

Help with compiling master on Windows 10 (msys2)

Post by Lord-Knightmare »

Hello, I have been trying to compile the latest master branch for the past 30 days. The INSTALL.md file in the official repo was too complicated to understand so, I was recommended the compiling wesnoth with mysys2 guide
I followed every step since it was very beginner-friendly, and finally got this:

Code: Select all

$ scons arch=native sdldir=/mingw64/\include/\SDL2 boostdir=/mingw64/\include/\boost boostlibdir=/mingw64/\bin boost_suffix=-mt
scons: Reading SConscript files ...
Saved options: default_targets = 'wesnoth,wesnothd', arch = 'native', sdldir = '/mingw64/include/SDL2', boostdir = '/mingw64/include/boost', boostlibdir = '/mingw64/bin', boost_suffix = '-mt'
Building Wesnoth version 1.15.10+dev
---[checking prerequisites]---
Checking for C library m... (cached) no
Checking for C function round()... (cached) no
Checking whether C++ compiler works (g++ version >= 7 required)... (cached) no
Checking for Boost iostreams library version >= 1.65... (cached) no
Checking for gzip support in Boost Iostreams... (cached) no
Checking for bzip2 support in Boost Iostreams... (cached) no
Checking for Boost program_options library version >= 1.65... (cached) no
Checking for Boost random library version >= 1.65... (cached) no
Checking for Boost smart_ptr library... (cached) no
Checking for Boost system library... (cached) no
Checking for Boost asio library... (cached) no
Checking for Boost context library... (cached) no
Checking for Boost coroutine library... (cached) no
Checking for Boost thread library... (cached) no
Checking for Boost locale library... (cached) no
Checking for Boost filesystem library... (cached) no
WARNING: Base prerequisites are not met
Checking whether compiler has built-in -D_FORTIFY_SOURCE... (cached) no
Checking for C library libcrypto... (cached) no
Package sdl2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `sdl2.pc'
to the PKG_CONFIG_PATH environment variable
Package 'sdl2', required by 'virtual:world', not found
/bin/sh: line 1: sdl2-config: command not found
Checking for Simple DirectMedia Layer library version >= 2.0.4... (cached) no
Checking for SDL2_ttf library... (cached) no
Checking for SDL2_mixer library... (cached) no
Checking for SDL2_image library... (cached) no
Checking for C library vorbisfile... (cached) no
Checking for Ogg Vorbis support in SDL... (cached) no
Checking for PNG support in SDL... (cached) no
Checking for JPG support in SDL... (cached) no
Package cairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `cairo.pc'
to the PKG_CONFIG_PATH environment variable
Package 'cairo', required by 'virtual:world', not found
Checking for Cairo... (cached) no
Package pangocairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `pangocairo.pc'
to the PKG_CONFIG_PATH environment variable
Package 'pangocairo', required by 'virtual:world', not found
Checking for Pango with cairo backend... (cached) no
Checking for fontconfig... (cached) no
Checking for Boost regex library... (cached) no
WARNING: Client prerequisites are not met. wesnoth cannot be built.
WARNING: Unit tests are disabled because their prerequisites are not met
  If any config checks fail, look in build/config.log for details
  If a check fails spuriously due to caching, use --config=force to force its rerun
---[applying configuration]---
Unable to find source files for: mariadbpp
scons: done reading SConscript files.
scons: Building targets ...
error_action(["wesnoth"], [])
scons: *** [wesnoth] Target disabled because its prerequisites are not met
scons: building terminated because of errors.

I am a bit confused so...I am posting here. What am I supposed to do to finally compile?
Creator of "War of Legends"
Creator of the Isle of Mists survival scenario.
Maintainer of Forward They Cried
User:Knyghtmare | My Medium
User avatar
Pentarctagon
Project Manager
Posts: 5528
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Help with compiling master on Windows 10 (msys2)

Post by Pentarctagon »

You can try adding --config=force, in case it's only failing because it cached an earlier result of dependencies not being met.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
User avatar
Lord-Knightmare
Discord Moderator
Posts: 2340
Joined: May 24th, 2010, 5:26 pm
Location: Somewhere in the depths of Irdya, gathering my army to eventually destroy the known world.
Contact:

Re: Help with compiling master on Windows 10 (msys2)

Post by Lord-Knightmare »

I ran this one:

Code: Select all

scons arch=native --config=force sdldir=/mingw64/\include/\SDL2 boostdir=/mingw64/\include/\boost boostlibdir=/mingw64/\bin boost_suffix=-mt
and got this:

Code: Select all

scons: Reading SConscript files ...
Saved options: default_targets = 'wesnoth,wesnothd', arch = 'native', sdldir = '/mingw64/include/SDL2', boostdir = '/mingw64/include/boost', boostlibdir = '/mingw64/bin', boost_suffix = '-mt'
Building Wesnoth version 1.15.10+dev
---[checking prerequisites]---
Checking for C library m... no
Checking for C function round()... no
Checking whether C++ compiler works (g++ version >= 7 required)... no
Checking for Boost iostreams library version >= 1.65... no
Checking for gzip support in Boost Iostreams... no
Checking for bzip2 support in Boost Iostreams... no
Checking for Boost program_options library version >= 1.65... no
Checking for Boost random library version >= 1.65... no
Checking for Boost smart_ptr library... no
Checking for Boost system library... no
Checking for Boost asio library... no
Checking for Boost context library... no
Checking for Boost coroutine library... no
Checking for Boost thread library... no
Checking for Boost locale library... no
Checking for Boost filesystem library... no
WARNING: Base prerequisites are not met
Checking whether compiler has built-in -D_FORTIFY_SOURCE... no
Checking for C library libcrypto... no
Package sdl2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `sdl2.pc'
to the PKG_CONFIG_PATH environment variable
Package 'sdl2', required by 'virtual:world', not found
/bin/sh: line 1: sdl2-config: command not found
Checking for Simple DirectMedia Layer library version >= 2.0.4... no
Checking for SDL2_ttf library... no
Checking for SDL2_mixer library... no
Checking for SDL2_image library... no
Checking for C library vorbisfile... no
Checking for Ogg Vorbis support in SDL... no
Checking for PNG support in SDL... no
Checking for JPG support in SDL... no
Package cairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `cairo.pc'
to the PKG_CONFIG_PATH environment variable
Package 'cairo', required by 'virtual:world', not found
Checking for Cairo... (cached) no
Package pangocairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `pangocairo.pc'
to the PKG_CONFIG_PATH environment variable
Package 'pangocairo', required by 'virtual:world', not found
Checking for Pango with cairo backend... (cached) no
Checking for fontconfig... (cached) no
Checking for Boost regex library... no
WARNING: Client prerequisites are not met. wesnoth cannot be built.
WARNING: Unit tests are disabled because their prerequisites are not met
  If any config checks fail, look in build/config.log for details
  If a check fails spuriously due to caching, use --config=force to force its rerun
---[applying configuration]---
Unable to find source files for: mariadbpp
scons: done reading SConscript files.
scons: Building targets ...
error_action(["wesnoth"], [])
scons: *** [wesnoth] Target disabled because its prerequisites are not met
scons: building terminated because of errors.
Creator of "War of Legends"
Creator of the Isle of Mists survival scenario.
Maintainer of Forward They Cried
User:Knyghtmare | My Medium
gnombat
Posts: 682
Joined: June 10th, 2010, 8:49 pm

Re: Help with compiling master on Windows 10 (msys2)

Post by gnombat »

Are you sure you're not in the MSYS shell? You need to be in the MINGW64 shell to compile. You can tell by looking at the first line of your prompt (the line above the $ character).
User avatar
Lord-Knightmare
Discord Moderator
Posts: 2340
Joined: May 24th, 2010, 5:26 pm
Location: Somewhere in the depths of Irdya, gathering my army to eventually destroy the known world.
Contact:

Re: Help with compiling master on Windows 10 (msys2)

Post by Lord-Knightmare »

gnombat wrote: March 5th, 2021, 5:14 am Are you sure you're not in the MSYS shell? You need to be in the MINGW64 shell to compile. You can tell by looking at the first line of your prompt (the line above the $ character).
I have realized that this was one of the silly things I did, so I rectified it...it got passed and then I ran into something else:

Code: Select all

scons: Reading SConscript files ...
Saved options: default_targets = 'wesnoth,wesnothd', arch = 'native', sdldir = '/mingw64/include/SDL2', boostdir = '/mingw64/include/boost', boostlibdir = '/mingw64/bin', boost_suffix = '-mt'
Building Wesnoth version 1.15.10+dev
---[checking prerequisites]---
Checking for C library m... yes
Checking for C function round()... yes
Checking whether C++ compiler works (g++ version >= 7 required)... yes
Checking for Boost iostreams library version >= 1.65... yes
Checking for gzip support in Boost Iostreams... yes
Checking for bzip2 support in Boost Iostreams... yes
Checking for Boost program_options library version >= 1.65... yes
Checking for Boost random library version >= 1.65... yes
Checking for Boost smart_ptr library... yes
Checking for Boost system library... yes
Checking for Boost asio library... yes
Checking for Boost context library... yes
Checking for Boost coroutine library... yes
Checking for Boost thread library... yes
Checking for Boost locale library... yes
Checking for Boost filesystem library... yes
INFO: Base prerequisites are met
Checking for available Boost Locale backends... icu,winapi,std
Checking whether compiler has built-in -D_FORTIFY_SOURCE... no
Checking for C library libcrypto... yes
Checking for Simple DirectMedia Layer library version >= 2.0.4... yes
Checking for SDL2_ttf library... yes
Checking for SDL2_mixer library... yes
Checking for SDL2_image library... yes
Checking for C library vorbisfile... yes
Checking for Ogg Vorbis support in SDL... yes
Checking for PNG support in SDL... yes
Checking for JPG support in SDL... yes
Checking for Cairo... (cached) yes
Checking for Pango with cairo backend... (cached) yes
Checking for fontconfig... (cached) yes
Checking for Boost regex library... yes
Checking for dbus-1... (cached) yes
Checking for fribidi >= 0.10.9... (cached) yes
Checking for C library history... yes
Checking for Boost unit_test_framework library... yes
  If any config checks fail, look in build/config.log for details
  If a check fails spuriously due to caching, use --config=force to force its rerun
---[applying configuration]---
Unable to find source files for: mariadbpp
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/release/wesnoth.o -c -Werror=non-virtual-dtor -std=c++17 -Wold-style-cast -Wall -Wextra -pthread -mms-bitfields -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wtrampolines -mthreads -O3 -march=native -Dmain=SDL_main -DHAVE_LIBDBUS -DHAVE_FRIBIDI -DHAVE_HISTORY -DHAVE_CONFIG_H -D_WIN32_WINNT=0x0601 -Ibuild -Isrc -isystem /mingw64/include/boost -isystem build/release/C:/msys64/mingw64/include/SDL2 -isystem src/C:/msys64/mingw64/include/SDL2 -isystem build/release/C:/msys64/mingw64/include/cairo -isystem src/C:/msys64/mingw64/include/cairo -isystem build/release/C:/msys64/mingw64/include/lzo -isystem src/C:/msys64/mingw64/include/lzo -isystem build/release/C:/msys64/mingw64/include -isystem src/C:/msys64/mingw64/include -isystem build/release/C:/msys64/mingw64/include/freetype2 -isystem src/C:/msys64/mingw64/include/freetype2 -isystem build/release/C:/msys64/mingw64/include/libpng16 -isystem src/C:/msys64/mingw64/include/libpng16 -isystem build/release/C:/msys64/mingw64/include/harfbuzz -isystem src/C:/msys64/mingw64/include/harfbuzz -isystem build/release/C:/msys64/mingw64/include/glib-2.0 -isystem src/C:/msys64/mingw64/include/glib-2.0 -isystem build/release/C:/msys64/mingw64/lib/glib-2.0/include -isystem src/C:/msys64/mingw64/lib/glib-2.0/include -isystem build/release/C:/msys64/mingw64/include/pixman-1 -isystem src/C:/msys64/mingw64/include/pixman-1 -isystem build/release/C:/msys64/mingw64/include/pango-1.0 -isystem src/C:/msys64/mingw64/include/pango-1.0 -isystem build/release/C:/msys64/mingw64/include/fribidi -isystem src/C:/msys64/mingw64/include/fribidi -isystem build/release/C:/msys64/mingw64/include/dbus-1.0 -isystem src/C:/msys64/mingw64/include/dbus-1.0 -isystem build/release/C:/msys64/mingw64/lib/dbus-1.0/include -isystem src/C:/msys64/mingw64/lib/dbus-1.0/include src/wesnoth.cpp
In file included from src/gui/core/widget_definition.hpp:19,
                 from src/gui/core/static_registry.hpp:17,
                 from src/gui/dialogs/modal_dialog.hpp:18,
                 from src/gui/dialogs/end_credits.hpp:16,
                 from src/wesnoth.cpp:33:
src/font/text.hpp:22:10: fatal error: pango/pango.h: No such file or directory
   22 | #include <pango/pango.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
scons: *** [build/release/wesnoth.o] Error 1
scons: building terminated because of errors.
I recall installing both mariadbpp and pango things from msys2 but...what am I still doing wrong?
Creator of "War of Legends"
Creator of the Isle of Mists survival scenario.
Maintainer of Forward They Cried
User:Knyghtmare | My Medium
User avatar
Pentarctagon
Project Manager
Posts: 5528
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Help with compiling master on Windows 10 (msys2)

Post by Pentarctagon »

Mariadbpp is a submodule of the repo, so you would need to also do git submodule update --recursive --init.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
gnombat
Posts: 682
Joined: June 10th, 2010, 8:49 pm

Re: Help with compiling master on Windows 10 (msys2)

Post by gnombat »

Another thing I recall is that --config=force was definitely broken at one point - I thought it was fixed since then but I'm not sure if I would trust it. I recommend avoiding --config=force and just delete all files created by SCons to get a clean build:

Code: Select all

rm -fr build/ .scons-option-cache
Pentarctagon wrote: March 5th, 2021, 3:11 pm Mariadbpp is a submodule of the repo, so you would need to also do git submodule update --recursive --init.
It is still possible to compile without the mariadb integration, though, right?
User avatar
Pentarctagon
Project Manager
Posts: 5528
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Help with compiling master on Windows 10 (msys2)

Post by Pentarctagon »

You can compile without database support enabled, but the source files are still expected to be present.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
User avatar
Lord-Knightmare
Discord Moderator
Posts: 2340
Joined: May 24th, 2010, 5:26 pm
Location: Somewhere in the depths of Irdya, gathering my army to eventually destroy the known world.
Contact:

Re: Help with compiling master on Windows 10 (msys2)

Post by Lord-Knightmare »

Mariadbpp is a submodule of the repo, so you would need to also do git submodule update --recursive --init.
I ran this command after git checkout master and then got this:

Code: Select all

Submodule 'src/modules/mariadbpp' (https://github.com/viaduck/mariadbpp.git) registered for path 'src/modules/mariadbpp'
Cloning into '/home/Asus/wesnoth/src/modules/mariadbpp'...
Submodule path 'src/modules/mariadbpp': checked out '114d7ea8cc871252fd6609fd12522cdcfa632f79'
Submodule 'external/cmake-modules' (https://github.com/viaduck/cmake-modules.git) registered for path 'src/modules/mariadbpp/external/cmake-modules'
Cloning into '/home/Asus/wesnoth/src/modules/mariadbpp/external/cmake-modules'...
Submodule path 'src/modules/mariadbpp/external/cmake-modules': checked out '7304f680be32915e772466ebddc5b7d3b453abd9'

After this, I did the command again, but it gave the same error. I saw gnombat's reply and did it again, without --config=force
It's been going for the past 1 hour now, but no error so far...so I guess it's going good so far? Or, is the 1 hour+ compiling time an indication that I have screwed up elsewhere?

It finally ended with this:

Code: Select all

src/desktop/dbus_features.cpp:25:10: fatal error: dbus/dbus.h: No such file or directory
   25 | #include <dbus/dbus.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
scons: *** [build/release/desktop/dbus_features.o] Error 1
scons: building terminated because of errors.
I recall that I have installed this...it showed a yes

Code: Select all

 scons arch=native sdldir=/mingw64/\include/\SDL2 boostdir=/mingw64/\include/\boost boostlibdir=/mingw64/\bin boost_suffix=-mt

Code: Select all

scons: Reading SConscript files ...
Saved options: default_targets = 'wesnoth,wesnothd', arch = 'native'
Building Wesnoth version 1.15.10+dev
---[checking prerequisites]---
Checking for C library m... (cached) yes
Checking for C function round()... (cached) yes
Checking whether C++ compiler works (g++ version >= 7 required)... (cached) yes
Checking for Boost iostreams library version >= 1.65... yes
Checking for gzip support in Boost Iostreams... yes
Checking for bzip2 support in Boost Iostreams... yes
Checking for Boost program_options library version >= 1.65... yes
Checking for Boost random library version >= 1.65... yes
Checking for Boost smart_ptr library... yes
Checking for Boost system library... yes
Checking for Boost asio library... yes
Checking for Boost context library... yes
Checking for Boost coroutine library... yes
Checking for Boost thread library... yes
Checking for Boost locale library... yes
Checking for Boost filesystem library... yes
INFO: Base prerequisites are met
Checking for available Boost Locale backends... icu,winapi,std
Checking whether compiler has built-in -D_FORTIFY_SOURCE... no
Checking for C library libcrypto... yes
Checking for Simple DirectMedia Layer library version >= 2.0.4... yes
Checking for SDL2_ttf library... yes
Checking for SDL2_mixer library... yes
Checking for SDL2_image library... yes
Checking for C library vorbisfile... yes
Checking for Ogg Vorbis support in SDL... yes
Checking for PNG support in SDL... yes
Checking for JPG support in SDL... yes
Checking for Cairo... (cached) yes
Checking for Pango with cairo backend... (cached) yes
Checking for fontconfig... (cached) yes
Checking for Boost regex library... yes
Checking for dbus-1... (cached) yes
Checking for fribidi >= 0.10.9... (cached) yes
Checking for C library history... yes
Checking for Boost unit_test_framework library... yes
  If any config checks fail, look in build/config.log for details
  If a check fails spuriously due to caching, use --config=force to force its rerun
---[applying configuration]---
I am speculating Checking whether compiler has built-in -D_FORTIFY_SOURCE... no is something I should be looking into getting a yes?
Creator of "War of Legends"
Creator of the Isle of Mists survival scenario.
Maintainer of Forward They Cried
User:Knyghtmare | My Medium
User avatar
Pentarctagon
Project Manager
Posts: 5528
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Help with compiling master on Windows 10 (msys2)

Post by Pentarctagon »

You can ignore the _FORTIFY_SOURCE check - that's just checking to make sure it doesn't get set twice. Whether it says yes or no wouldn't be relevant here.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
gnombat
Posts: 682
Joined: June 10th, 2010, 8:49 pm

Re: Help with compiling master on Windows 10 (msys2)

Post by gnombat »

Lord-Knightmare wrote: March 5th, 2021, 5:07 pm It finally ended with this:

Code: Select all

src/desktop/dbus_features.cpp:25:10: fatal error: dbus/dbus.h: No such file or directory
   25 | #include <dbus/dbus.h>
      |          ^~~~~~~~~~~~~
compilation terminated.
scons: *** [build/release/desktop/dbus_features.o] Error 1
scons: building terminated because of errors.
I recall that I have installed this...it showed a yes
That seems like a bug in the build system to me, because, as it says in the INSTALL.md file, D-Bus is used on Unix-like systems (Linux, *BSD, etc.), so the build system shouldn't really even be checking for it on Windows.

You should still be able to get it to work by uninstalling the D-Bus package:

Code: Select all

pacman -R mingw-w64-x86_64-dbus
Then you'll have to rm -fr build/ .scons-option-cache and re-run SCons again. This time it should not find D-Bus anywhere and it should just proceed without D-Bus enabled, which is what you want on Windows.

But before you run SCons, you might want to add something to your command line:
Lord-Knightmare wrote: March 5th, 2021, 5:07 pm It's been going for the past 1 hour now, but no error so far...so I guess it's going good so far? Or, is the 1 hour+ compiling time an indication that I have screwed up elsewhere?
To compile faster, you can add jobs=N to the SCons command line, where N is a number between 2 and the number of cores on your machine. So if you have 4 cores, you might want to set jobs=4 for maximum compilation speed. Or if you plan on using your machine while compiling, you might want to set jobs=3, otherwise your machine will be pretty sluggish, as the compilation will be using 100% of CPU.
User avatar
Pentarctagon
Project Manager
Posts: 5528
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Help with compiling master on Windows 10 (msys2)

Post by Pentarctagon »

You can add --option-cache="" to have it always use the current options instead of caching them as well.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
User avatar
Pentarctagon
Project Manager
Posts: 5528
Joined: March 22nd, 2009, 10:50 pm
Location: Earth (occasionally)

Re: Help with compiling master on Windows 10 (msys2)

Post by Pentarctagon »

You should also be able to add notifications=false to the scons command to disable using dbus.
99 little bugs in the code, 99 little bugs
take one down, patch it around
-2,147,483,648 little bugs in the code
User avatar
Lord-Knightmare
Discord Moderator
Posts: 2340
Joined: May 24th, 2010, 5:26 pm
Location: Somewhere in the depths of Irdya, gathering my army to eventually destroy the known world.
Contact:

Re: Help with compiling master on Windows 10 (msys2)

Post by Lord-Knightmare »

You should still be able to get it to work by uninstalling the D-Bus package:
I ran this command and got:

Code: Select all

checking dependencies...

Packages (1) mingw-w64-x86_64-dbus-1.12.20-1

Total Removed Size:  1.96 MiB

:: Do you want to remove these packages? [Y/n] y
:: Processing package changes...
(1/1) removing mingw-w64-x86_64-dbus               [#####################] 100%
Okay, after reading the updates, I ran this command:

Code: Select all

scons arch=native --config=force sdldir=/mingw64/\include/\SDL2 boostdir=/mingw64/\include/\boost boostlibdir=/mingw64/\bin boost_suffix=-mt --option-cache="" notifications=false
The output:

Code: Select all

scons: Reading SConscript files ...
Building Wesnoth version 1.15.10+dev
---[checking prerequisites]---
Checking for C library m... yes
Checking for C function round()... yes
Checking whether C++ compiler works (g++ version >= 7 required)... yes
Checking for Boost iostreams library version >= 1.65... yes
Checking for gzip support in Boost Iostreams... yes
Checking for bzip2 support in Boost Iostreams... yes
Checking for Boost program_options library version >= 1.65... yes
Checking for Boost random library version >= 1.65... yes
Checking for Boost smart_ptr library... yes
Checking for Boost system library... yes
Checking for Boost asio library... yes
Checking for Boost context library... yes
Checking for Boost coroutine library... yes
Checking for Boost thread library... yes
Checking for Boost locale library... yes
Checking for Boost filesystem library... yes
INFO: Base prerequisites are met
Checking for available Boost Locale backends... icu,winapi,std
Checking whether compiler has built-in -D_FORTIFY_SOURCE... no
Checking for C library libcrypto... yes
Checking for Simple DirectMedia Layer library version >= 2.0.4... yes
Checking for SDL2_ttf library... yes
Checking for SDL2_mixer library... yes
Checking for SDL2_image library... yes
Checking for C library vorbisfile... yes
Checking for Ogg Vorbis support in SDL... yes
Checking for PNG support in SDL... yes
Checking for JPG support in SDL... yes
Checking for Cairo... (cached) yes
Checking for Pango with cairo backend... (cached) yes
Checking for fontconfig... (cached) yes
Checking for Boost regex library... yes
Checking for fribidi >= 0.10.9... (cached) yes
Checking for C library history... yes
Checking for Boost unit_test_framework library... yes
  If any config checks fail, look in build/config.log for details
  If a check fails spuriously due to caching, use --config=force to force its rerun
---[applying configuration]---
scons: done reading SConscript files.
scons: Building targets ...
/mingw64/bin/msgfmt --check-domain --statistics -o translations/zh_TW/LC_MESSAGES/wesnoth-nr.mo po/wesnoth-nr/zh_TW.po
1155 translated messages, 1 fuzzy translation, 47 untranslated messages.
/mingw64/bin/msgfmt --check-domain --statistics -o translations/zh_TW/LC_MESSAGES/wesnoth-utbs.mo po/wesnoth-utbs/zh_TW.po
1723 translated messages, 42 fuzzy translations, 162 untranslated messages.
g++ -o build/release/wesnoth.o -c -Werror=non-virtual-dtor -std=c++17 -Wold-style-cast -Wall -Wextra -pthread -mms-bitfields -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wtrampolines -mthreads -O3 -march=native -Dmain=SDL_main -DHAVE_FRIBIDI -DHAVE_HISTORY -DHAVE_CONFIG_H -D_WIN32_WINNT=0x0601 -Ibuild -Isrc -isystem /mingw64/include/boost -isystem build/release/C:/msys64/mingw64/include/SDL2 -isystem src/C:/msys64/mingw64/include/SDL2 -isystem build/release/C:/msys64/mingw64/include/cairo -isystem src/C:/msys64/mingw64/include/cairo -isystem build/release/C:/msys64/mingw64/include/lzo -isystem src/C:/msys64/mingw64/include/lzo -isystem build/release/C:/msys64/mingw64/include -isystem src/C:/msys64/mingw64/include -isystem build/release/C:/msys64/mingw64/include/freetype2 -isystem src/C:/msys64/mingw64/include/freetype2 -isystem build/release/C:/msys64/mingw64/include/libpng16 -isystem src/C:/msys64/mingw64/include/libpng16 -isystem build/release/C:/msys64/mingw64/include/harfbuzz -isystem src/C:/msys64/mingw64/include/harfbuzz -isystem build/release/C:/msys64/mingw64/include/glib-2.0 -isystem src/C:/msys64/mingw64/include/glib-2.0 -isystem build/release/C:/msys64/mingw64/lib/glib-2.0/include -isystem src/C:/msys64/mingw64/lib/glib-2.0/include -isystem build/release/C:/msys64/mingw64/include/pixman-1 -isystem src/C:/msys64/mingw64/include/pixman-1 -isystem build/release/C:/msys64/mingw64/include/pango-1.0 -isystem src/C:/msys64/mingw64/include/pango-1.0 -isystem build/release/C:/msys64/mingw64/include/fribidi -isystem src/C:/msys64/mingw64/include/fribidi src/wesnoth.cpp
In file included from src/gui/core/widget_definition.hpp:19,
                 from src/gui/core/static_registry.hpp:17,
                 from src/gui/dialogs/modal_dialog.hpp:18,
                 from src/gui/dialogs/end_credits.hpp:16,
                 from src/wesnoth.cpp:33:
src/font/text.hpp:22:10: fatal error: pango/pango.h: No such file or directory
   22 | #include <pango/pango.h>
      |          ^~~~~~~~~~~~~~~
compilation terminated.
scons: *** [build/release/wesnoth.o] Error 1
scons: building terminated because of errors.

Okay, what else can I do?

EDIT:

Code: Select all

$ pacman -Ss pango
mingw32/mingw-w64-i686-pango 1.48.2-1
    A library for layout and rendering of text (mingw-w64)
mingw32/mingw-w64-i686-pangomm 2.46.0-1
    C++ bindings for pango (V2.46) (mingw-w64)
mingw32/mingw-w64-i686-pangomm248 2.48.0-1
    C++ bindings for Pango (V2.48) (mingw-w64)
mingw32/mingw-w64-i686-python-manimpango 0.2.4-1
    Bindings for Pango for using with Manim. (mingw-w64)
mingw64/mingw-w64-x86_64-pango 1.48.2-1 [installed]
    A library for layout and rendering of text (mingw-w64)
mingw64/mingw-w64-x86_64-pangomm 2.46.0-1
    C++ bindings for pango (V2.46) (mingw-w64)
mingw64/mingw-w64-x86_64-pangomm248 2.48.0-1
    C++ bindings for Pango (V2.48) (mingw-w64)
mingw64/mingw-w64-x86_64-python-manimpango 0.2.4-1
    Bindings for Pango for using with Manim. (mingw-w64)

I do seem to have a pango-installed.
Creator of "War of Legends"
Creator of the Isle of Mists survival scenario.
Maintainer of Forward They Cried
User:Knyghtmare | My Medium
gnombat
Posts: 682
Joined: June 10th, 2010, 8:49 pm

Re: Help with compiling master on Windows 10 (msys2)

Post by gnombat »

It looks like that --config=force option is back... :shock:

Again, I recommend just avoiding that option, it's been known to have bugs in the past. Just run that rm -fr build/ .scons-option-cache command, it's just as good as using --config=force (but without the bugs), and then run the SCons command without --config=force and you should get a clean build.
Post Reply