Compile and deploy GTKmm 3.95 on Windows

Hi again; I try to compile Gtkmm; I got these errors

I try to download the last version of cairomm by example which is supposed to be 1.16 but i can not get except 1.12.2-2

abdul@DESKTOP-BUNJ74H MSYS /e/MINGW-packages/mingw-w64-cairomm
$ MINGW_INSTALLS=mingw64 makepkg-mingw -sLf
pacman -U mingw-w64-x86_64-cairomm-1.12.2-2-any.pkg.tar.xz

what do you think?

I cannot find any version of giomm

I will check it out!

giomm is part of glibmm

1 Like

Hello, any news for compiling Gtkmm3.95.1? I can’t find pangomm2.44, last version available is 2.42.

thank you

Hi, yes, great news! I have the PKGBUILDs but I still have to test them. I’ll let you know whether the PKGBUILDs work in a short time!

1 Like

That’s really great; thanks a lot; I am waiting!

Ok, done! Everything works. Clone this repo:

You should build the packages in the following order:

  • glibmm
  • cairomm
  • pangomm
  • atkmm
  • gtkmm

To build and install the packages open the MSYS shell and use the commands:

MINGW_INSTALLS=mingw64 makepkg-mingw
pacman -U mingw-w64-*.pkg.tar.xz

Let me know if you get any problem!

1 Like

Thank you for your answer;

I have this problem
==> ERROR: PKGBUILD contains CRLF characters that can not be read.

Git can convert line endings to OS native format on checkout.

You can convert the PKGBUILD files back to LF line endings using the dos2unix utility in MSYS2:

dos2unix PKGBUILD
1 Like

Every thing is OK; but I don’t know how to test if that works; can you tell me how to run demo example?

Is there a CMD command for checking Gtkmm version?

The gtkmm sources contain some demos and tests. Open the MSYS2 MINGW 64-bit shell and go to the mingw-w64-gtkmm4 directory, where you built the package.

Then, to build the demos, cd into src/build-x86_64-w64-mingw32/demos and launch: make check

After the build process has ended you will find the demo in gtk-demo/gtkmm-demo.exe. You can run it with:

cd gtk-demo

You can also run with the gtk inspector enabled to see some more info:

GTK_DEBUG=interactive ./gtkmm-demo

Hi, I try to re-compile Gtkmm, this time i have an error which i had not before:
when trying to compile glibmm:
config.status: error: in /e/packages/mingw-w64-glibmm-next/src/build-x86_64-w64-mingw32': config.status: error: Something went wrong bootstrapping makefile fragments for automatic dependency tracking. Try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See config.log’ for more details

Mmm I don’t know what error is this. But if you have already installed the packages, you don’t need to build any of glibmm, cairomm, pangomm and atkmm. Only re-build gtkmm.

1 Like

In fact i recompile everythings; even gtk4; i have not any problem in gtk4; but with glibmm; i have this problem of dependencies; i use ( makepkg-mingw -d or makepkg-mingw --nodeps) for ignoring dependencies without succes.

I don’t really know what’s going wrong there. What’s the output of:

pacman -Q | grep mm

mingw-w64-x86_64-atkmm 2.28.0-1
mingw-w64-x86_64-cairomm 1.12.2-2
mingw-w64-x86_64-cairomm-next 1.15.5-1
mingw-w64-x86_64-glibmm 2.62.0-1
mingw-w64-x86_64-pangomm 2.42.0-1

Maybe you you are doing it right already, but be sure to use the MSYS2 MSYS shell to run makepkg-mingw (not the MINGW 32/64 bit shells). If the problem persists try to run:

export MAKE=gmake

Before makepkg-mingw.

This seems to be an issue with recent releases of autotools, will check more.

1 Like

Problem persists.

For gmake, i think i should install gmake: I have this error:

checking whether gmake supports GNU make features… no
configure: error: in `/e/packages/mingw-w64-glibmm-next/src/build-x86_64-w64-mingw32’:
configure: error: The GNU make program is required to build glibmm.

Relevant read:

I will check tomorrow for a workaround!

I don’t know what is happening; I restarted from scratch; Everything is OK.

I have just finished my project;

I would thank you, You have been very interactive and effective.