numworks / epsilon

Modern graphing calculator operating system.
https://www.numworks.com/resources/engineering/software/
1.75k stars 463 forks source link

Building simulator on W10 fails #1942

Open ljoets opened 2 years ago

ljoets commented 2 years ago

Hello, I tried again (#1778) today, and still the same issue.

admin@hppd400sff-59 MSYS ~/epsilon
# make PLATFORM=simulator clean
Package freetype2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `freetype2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'freetype2' found
Package freetype2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `freetype2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'freetype2' found
CLEAN

Note that pkg-config and lz4 are not listed on https://www.numworks.com/resources/engineering/software/build/ and seems to be needed too.

ljoets commented 2 years ago

freetype2.pc file is however well in the /lib/pkgconfigfolder and PKG_CONFIG_PATH seems to refer to it :

# export | grep PKG
declare -x PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig"
ljoets commented 2 years ago

Ok : I need to add the right folder :

# export PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig:/mingw64/lib/pkgconfig"

But I have now a problem with lz4, that is installed :


admin@hppd400sff-59 MSYS ~/epsilon
# make PLATFORM=simulator clean
CLEAN

admin@hppd400sff-59 MSYS ~/epsilon
# make PLATFORM=simulator epsilon_run
I18N    apps/i18n.cpp
Traceback (most recent call last):
  File "/home/admin/epsilon/apps/i18n.py", line 18, in <module>
    import lz4.frame
ModuleNotFoundError: No module named 'lz4'
make: *** [apps/Makefile:73: output/release/simulator/windows//apps/i18n.cpp] Error 1

admin@hppd400sff-59 MSYS ~/epsilon
# pacman -S lz4
warning: lz4-1.9.3-1 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Any idea ?

RedGl0w commented 2 years ago

You need to install the lz4 for python package, probably with pip I guess

ljoets commented 2 years ago

Hello, I have tried many things, but I must be doing it wrong. Could someone guide me?

Ecco commented 2 years ago

Hi @ljoets , have you tried following our continuous integration pipeline? Namely:

ljoets commented 2 years ago

Thanks for your help. I still have this problem:

Maintenance@DESKTOP-3DP1JBR MSYS ~/epsilon
$ pip3 install lz4 pypng stringcase
Collecting lz4
  Using cached lz4-4.0.0.tar.gz (163 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting pypng
  Downloading pypng-0.0.21-py3-none-any.whl (48 kB)
     |████████████████████████████████| 48 kB 1.2 MB/s
Collecting stringcase
  Downloading stringcase-1.2.0.tar.gz (3.0 kB)
Using legacy 'setup.py install' for stringcase, since package 'wheel' is not installed.
Building wheels for collected packages: lz4
  Building wheel for lz4 (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python.exe /usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpn6jegpx5
       cwd: /tmp/pip-install-ap45uhme/lz4_28ac0dcdeba843efab1d7bdac013a6b5
  Complete output (24 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.msys-3.2.0-x86_64-cpython-39
  creating build/lib.msys-3.2.0-x86_64-cpython-39/lz4
  copying lz4/version.py -> build/lib.msys-3.2.0-x86_64-cpython-39/lz4
  copying lz4/__init__.py -> build/lib.msys-3.2.0-x86_64-cpython-39/lz4
  creating build/lib.msys-3.2.0-x86_64-cpython-39/lz4/block
  copying lz4/block/__init__.py -> build/lib.msys-3.2.0-x86_64-cpython-39/lz4/block
  creating build/lib.msys-3.2.0-x86_64-cpython-39/lz4/frame
  copying lz4/frame/__init__.py -> build/lib.msys-3.2.0-x86_64-cpython-39/lz4/frame
  running build_ext
  building 'lz4._version' extension
  creating build/temp.msys-3.2.0-x86_64-cpython-39
  creating build/temp.msys-3.2.0-x86_64-cpython-39/lz4
  creating build/temp.msys-3.2.0-x86_64-cpython-39/lz4libs
  gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtune=generic -O2 -pipe -march=x86-64 -mtune=generic -O2 -pipe -march=x86-64 -mtune=generic -O2 -pipe -Ilz4libs -I/usr/include/python3.9 -c lz4/_version.c -o build/temp.msys-3.2.0-x86_64-cpython-39/lz4/_version.o -O3 -Wall -Wundef
  In file included from lz4/_version.c:32:
  /usr/include/python3.9/Python.h:44:10: fatal error: crypt.h: No such file or directory
     44 | #include <crypt.h>
        |          ^~~~~~~~~
  compilation terminated.
  error: command '/usr/bin/gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for lz4
Failed to build lz4
ERROR: Could not build wheels for lz4 which use PEP 517 and cannot be installed directly
adriweb commented 2 years ago

/usr/include/python3.9/Python.h:44:10: fatal error: crypt.h: No such file or directory

Install the package that provides it Maybe it's mingw-w64-x86_64-libgcrypt from what I've seen elsewhere but looking at the files doesn't include this one, so I'm not sure. libcrypt-devel does though, so maybe try that first.

ljoets commented 2 years ago

I progress but...

Maintenance@DESKTOP-3DP1JBR MSYS ~/epsilon
$ make PLATFORM=simulator epsilon.exe
Package freetype2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `freetype2.pc'
to the PKG_CONFIG_PATH environment variable
Package 'freetype2', required by 'virtual:world', not found
Package freetype2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `freetype2.pc'
to the PKG_CONFIG_PATH environment variable
Package 'freetype2', required by 'virtual:world', not found
I18N    apps/i18n.cpp
QSTRDAT python/port/genhdr/qstrdefs.generated.h
APPS_LAYOUTapps/home/apps_layout.cpp
HOSTCC  escher/image/inliner
/bin/sh: line 1: libpng-config: command not found
/bin/sh: line 1: libpng-config: command not found
escher/image/inliner.c:12:10: fatal error: png.h: No such file or directory
   12 | #include <png.h>
      |          ^~~~~~~
compilation terminated.
make: *** [escher/Makefile:112: output/release/simulator/windows//escher/image/inliner] Error 1
adriweb commented 2 years ago

I mean, just look at the error, lol. It says png.h: No such file or directory so you have to install libpng. @Ecco had already mentioned mingw-w64-x86_64-libpng - did you do that? Or maybe it's just libpng-dev or similar.

ljoets commented 2 years ago

Of course it is...

Maintenance@DESKTOP-3DP1JBR MSYS ~/epsilon
$ pacman -S libpng
error: target not found: libpng

Maintenance@DESKTOP-3DP1JBR MSYS ~/epsilon
$ pacman -S mingw-w64-x86_64-libpng
warning: mingw-w64-x86_64-libpng-1.6.37-6 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) mingw-w64-x86_64-libpng-1.6.37-6

Total Installed Size:  2.34 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                                        [######################################] 100%
(1/1) checking package integrity                                      [######################################] 100%
(1/1) loading package files                                           [######################################] 100%
(1/1) checking for file conflicts                                     [######################################] 100%
(1/1) checking available disk space                                   [######################################] 100%
:: Processing package changes...
(1/1) reinstalling mingw-w64-x86_64-libpng                            [######################################] 100%
adriweb commented 2 years ago

Yes but look for its -dev package, since that's the one containing the headers (and not just the lib)

ljoets commented 2 years ago

Nothing that looks like libpng-dev here : https://packages.msys2.org/search?t=binpkg&q=png

adriweb commented 2 years ago

Right, looks like the headers are included anyway in mingw-w64-x86_64-libpng as we can see at the bottom of that page.

But anyway, it also complains about freetype2, can you install mingw-w64-freetype ?

ljoets commented 2 years ago

Yes, freetype is here...

Maintenance@DESKTOP-3DP1JBR MSYS ~/epsilon
$ pacman -S mingw-w64-x86_64-freetype
warning: mingw-w64-x86_64-freetype-2.11.1-2 is up to date -- reinstalling
resolving dependencies...
looking for conflicting packages...

Packages (1) mingw-w64-x86_64-freetype-2.11.1-2

Total Installed Size:  2.56 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                                        [######################################] 100%
(1/1) checking package integrity                                      [######################################] 100%
(1/1) loading package files                                           [######################################] 100%
(1/1) checking for file conflicts                                     [######################################] 100%
(1/1) checking available disk space                                   [######################################] 100%
:: Processing package changes...
(1/1) reinstalling mingw-w64-x86_64-freetype                          [######################################] 100%

But I think there is a problem here, I am not the only one. https://github.com/numworks/epsilon/actions/runs/2004462118

adriweb commented 2 years ago

Well I'm not sure as I only use Linux and macOS, but I see some people recommending to override PKG_CONFIG_PATH manually since it can't seem to locate all that it needs...

ljoets commented 2 years ago

Yes I saw that. I added the path to access to freetype2.pc file here. declare -x PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig" But still the same message.

ljoets commented 2 years ago

Hi, Can I expect this problem to be resolved ? When I look here https://github.com/numworks/epsilon/actions/workflows/ci.yml, it seems that the compilation under Windows has been systematically problematic for several months!

ljoets commented 1 year ago

One year later, I come back to try to compile my own exe version of epsilon. Everything is ok with the official doc and some tricks and missing packages. But I have a ";" error now (for the first one) :

admin@hppd400sff-59 MSYS ~/epsilon
# make PLATFORM=simulator clean
CLEAN

admin@hppd400sff-59 MSYS ~/epsilon
# make PLATFORM=simulator epsilon_run
I18N    apps/i18n.cpp
QSTRDAT python/port/genhdr/qstrdefs.generated.h
APPS_LAYOUTapps/home/apps_layout.cpp
HOSTCC  kandinsky/fonts/rasterizer
In file included from /mingw64/include/_cygwin.h:14,
                 from /mingw64/include/_mingw.h:15,
                 from /mingw64/include/corecrt.h:10,
                 from /mingw64/include/crtdefs.h:10,
                 from /mingw64/include/stddef.h:7,
                 from /mingw64/include/freetype2/freetype/config/ftstdlib.h:35,
                 from /mingw64/include/freetype2/freetype/config/ftconfig.h:42,
                 from /mingw64/include/freetype2/freetype/freetype.h:24,
                 from kandinsky/fonts/rasterizer.h:15,
                 from kandinsky/fonts/rasterizer.c:1:
/mingw64/include/stddef.h:18:10: error: expected ‘;’ before ‘extern’
   18 |   _CRTIMP extern int *__cdecl _errno(void);
      |          ^~~~~~~
      |          ;
/mingw64/include/stddef.h:20:3: warning: data definition has no type or storage class
   20 |   errno_t __cdecl _set_errno(int _Value);
      |   ^~~~~~~
/mingw64/include/stddef.h:20:3: warning: type defaults to ‘int’ in declaration of ‘errno_t’ [-Wimplicit-int]
/mingw64/include/stddef.h:20:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stddef.h:20:19: error: expected ‘,’ or ‘;’ before ‘_set_errno’
   20 |   errno_t __cdecl _set_errno(int _Value);
      |                   ^~~~~~~~~~
/mingw64/include/stddef.h:21:3: warning: data definition has no type or storage class
   21 |   errno_t __cdecl _get_errno(int *_Value);
      |   ^~~~~~~
/mingw64/include/stddef.h:21:3: warning: type defaults to ‘int’ in declaration of ‘errno_t’ [-Wimplicit-int]
/mingw64/include/stddef.h:21:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stddef.h:21:19: error: expected ‘,’ or ‘;’ before ‘_get_errno’
   21 |   errno_t __cdecl _get_errno(int *_Value);
      |                   ^~~~~~~~~~
/mingw64/include/stddef.h:24:10: error: expected ‘;’ before ‘extern’
   24 |   _CRTIMP extern unsigned long __cdecl __threadid(void);
      |          ^~~~~~~
      |          ;
/mingw64/include/stddef.h:26:10: error: expected ‘;’ before ‘extern’
   26 |   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
      |          ^~~~~~~
      |          ;
/mingw64/include/stddef.h:26:18: warning: type defaults to ‘int’ in declaration of ‘uintptr_t’ [-Wimplicit-int]
   26 |   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
      |                  ^~~~~~~~~
/mingw64/include/stddef.h:26:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
   26 |   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
      |   ^~~~~~~
/mingw64/include/stddef.h:26:36: error: expected ‘,’ or ‘;’ before ‘__threadhandle’
   26 |   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
      |                                    ^~~~~~~~~~~~~~
In file included from /mingw64/include/crtdefs.h:10,
                 from /mingw64/include/stddef.h:7,
                 from /mingw64/include/freetype2/freetype/config/ftstdlib.h:35,
                 from /mingw64/include/freetype2/freetype/config/ftconfig.h:42,
                 from /mingw64/include/freetype2/freetype/freetype.h:24,
                 from kandinsky/fonts/rasterizer.h:15,
                 from kandinsky/fonts/rasterizer.c:1:
/mingw64/include/corecrt.h:113:13: error: ‘errno_t’ redeclared as different kind of symbol
  113 | typedef int errno_t;
      |             ^~~~~~~
In file included from /mingw64/include/_cygwin.h:14,
                 from /mingw64/include/_mingw.h:15,
                 from /mingw64/include/corecrt.h:10,
                 from /mingw64/include/crtdefs.h:10,
                 from /mingw64/include/stddef.h:7,
                 from /mingw64/include/freetype2/freetype/config/ftstdlib.h:35,
                 from /mingw64/include/freetype2/freetype/config/ftconfig.h:42,
                 from /mingw64/include/freetype2/freetype/freetype.h:24,
                 from kandinsky/fonts/rasterizer.h:15,
                 from kandinsky/fonts/rasterizer.c:1:
/mingw64/include/stddef.h:21:3: note: previous declaration of ‘errno_t’ with type ‘int’
   21 |   errno_t __cdecl _get_errno(int *_Value);
      |   ^~~~~~~
In file included from /mingw64/include/freetype2/freetype/config/ftstdlib.h:112,
                 from /mingw64/include/freetype2/freetype/config/ftconfig.h:42,
                 from /mingw64/include/freetype2/freetype/freetype.h:24,
                 from kandinsky/fonts/rasterizer.h:15,
                 from kandinsky/fonts/rasterizer.c:1:
/mingw64/include/stdio.h:1338:3: warning: data definition has no type or storage class
 1338 |   wint_t __cdecl fgetwc(FILE *_File);
      |   ^~~~~~
/mingw64/include/stdio.h:1338:3: warning: type defaults to ‘int’ in declaration of ‘wint_t’ [-Wimplicit-int]
/mingw64/include/stdio.h:1338:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stdio.h:1338:18: error: expected ‘,’ or ‘;’ before ‘fgetwc’
 1338 |   wint_t __cdecl fgetwc(FILE *_File);
      |                  ^~~~~~
/mingw64/include/stdio.h:1339:11: warning: type defaults to ‘int’ in declaration of ‘wint_t’ [-Wimplicit-int]
 1339 |   _CRTIMP wint_t __cdecl _fgetwchar(void);
      |           ^~~~~~
/mingw64/include/stdio.h:1339:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1339 |   _CRTIMP wint_t __cdecl _fgetwchar(void);
      |   ^~~~~~~
/mingw64/include/stdio.h:1339:26: error: expected ‘,’ or ‘;’ before ‘_fgetwchar’
 1339 |   _CRTIMP wint_t __cdecl _fgetwchar(void);
      |                          ^~~~~~~~~~
/mingw64/include/stdio.h:1340:3: warning: data definition has no type or storage class
 1340 |   wint_t __cdecl fputwc(wchar_t _Ch,FILE *_File);
      |   ^~~~~~
/mingw64/include/stdio.h:1340:3: warning: type defaults to ‘int’ in declaration of ‘wint_t’ [-Wimplicit-int]
/mingw64/include/stdio.h:1340:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stdio.h:1340:3: warning: ‘wint_t’ redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
/mingw64/include/stdio.h:1340:18: error: expected ‘,’ or ‘;’ before ‘fputwc’
 1340 |   wint_t __cdecl fputwc(wchar_t _Ch,FILE *_File);
      |                  ^~~~~~
/mingw64/include/stdio.h:1341:11: warning: type defaults to ‘int’ in declaration of ‘wint_t’ [-Wimplicit-int]
 1341 |   _CRTIMP wint_t __cdecl _fputwchar(wchar_t _Ch);
      |           ^~~~~~
/mingw64/include/stdio.h:1341:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1341 |   _CRTIMP wint_t __cdecl _fputwchar(wchar_t _Ch);
      |   ^~~~~~~
/mingw64/include/stdio.h:1341:26: error: expected ‘,’ or ‘;’ before ‘_fputwchar’
 1341 |   _CRTIMP wint_t __cdecl _fputwchar(wchar_t _Ch);
      |                          ^~~~~~~~~~
/mingw64/include/stdio.h:1342:3: warning: data definition has no type or storage class
 1342 |   wint_t __cdecl getwc(FILE *_File);
      |   ^~~~~~
/mingw64/include/stdio.h:1342:3: warning: type defaults to ‘int’ in declaration of ‘wint_t’ [-Wimplicit-int]
/mingw64/include/stdio.h:1342:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stdio.h:1342:3: warning: ‘wint_t’ redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
/mingw64/include/stdio.h:1342:18: error: expected ‘,’ or ‘;’ before ‘getwc’
 1342 |   wint_t __cdecl getwc(FILE *_File);
      |                  ^~~~~
/mingw64/include/stdio.h:1343:3: warning: data definition has no type or storage class
 1343 |   wint_t __cdecl getwchar(void);
      |   ^~~~~~
/mingw64/include/stdio.h:1343:3: warning: type defaults to ‘int’ in declaration of ‘wint_t’ [-Wimplicit-int]
/mingw64/include/stdio.h:1343:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stdio.h:1343:18: error: expected ‘,’ or ‘;’ before ‘getwchar’
 1343 |   wint_t __cdecl getwchar(void);
      |                  ^~~~~~~~
/mingw64/include/stdio.h:1344:3: warning: data definition has no type or storage class
 1344 |   wint_t __cdecl putwc(wchar_t _Ch,FILE *_File);
      |   ^~~~~~
/mingw64/include/stdio.h:1344:3: warning: type defaults to ‘int’ in declaration of ‘wint_t’ [-Wimplicit-int]
/mingw64/include/stdio.h:1344:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stdio.h:1344:18: error: expected ‘,’ or ‘;’ before ‘putwc’
 1344 |   wint_t __cdecl putwc(wchar_t _Ch,FILE *_File);
      |                  ^~~~~
/mingw64/include/stdio.h:1345:3: warning: data definition has no type or storage class
 1345 |   wint_t __cdecl putwchar(wchar_t _Ch);
      |   ^~~~~~
/mingw64/include/stdio.h:1345:3: warning: type defaults to ‘int’ in declaration of ‘wint_t’ [-Wimplicit-int]
/mingw64/include/stdio.h:1345:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stdio.h:1345:18: error: expected ‘,’ or ‘;’ before ‘putwchar’
 1345 |   wint_t __cdecl putwchar(wchar_t _Ch);
      |                  ^~~~~~~~
/mingw64/include/stdio.h:1346:3: warning: data definition has no type or storage class
 1346 |   wint_t __cdecl ungetwc(wint_t _Ch,FILE *_File);
      |   ^~~~~~
/mingw64/include/stdio.h:1346:3: warning: type defaults to ‘int’ in declaration of ‘wint_t’ [-Wimplicit-int]
/mingw64/include/stdio.h:1346:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stdio.h:1346:18: error: expected ‘,’ or ‘;’ before ‘ungetwc’
 1346 |   wint_t __cdecl ungetwc(wint_t _Ch,FILE *_File);
      |                  ^~~~~~~
In file included from /mingw64/include/freetype2/freetype/config/ftstdlib.h:112,
                 from /mingw64/include/freetype2/freetype/config/ftconfig.h:42,
                 from /mingw64/include/freetype2/freetype/freetype.h:24,
                 from kandinsky/fonts/rasterizer.h:15,
                 from kandinsky/fonts/rasterizer.c:1:
/mingw64/include/stdio.h:1596:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
 1596 |   _CRTIMP intptr_t __cdecl _wspawnl(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
      |           ^~~~~~~~
/mingw64/include/stdio.h:1596:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1596 |   _CRTIMP intptr_t __cdecl _wspawnl(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
      |   ^~~~~~~
/mingw64/include/stdio.h:1596:28: error: expected ‘,’ or ‘;’ before ‘_wspawnl’
 1596 |   _CRTIMP intptr_t __cdecl _wspawnl(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
      |                            ^~~~~~~~
/mingw64/include/stdio.h:1597:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
 1597 |   _CRTIMP intptr_t __cdecl _wspawnle(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
      |           ^~~~~~~~
/mingw64/include/stdio.h:1597:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1597 |   _CRTIMP intptr_t __cdecl _wspawnle(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
      |   ^~~~~~~
/mingw64/include/stdio.h:1597:28: error: expected ‘,’ or ‘;’ before ‘_wspawnle’
 1597 |   _CRTIMP intptr_t __cdecl _wspawnle(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
      |                            ^~~~~~~~~
/mingw64/include/stdio.h:1598:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
 1598 |   _CRTIMP intptr_t __cdecl _wspawnlp(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
      |           ^~~~~~~~
/mingw64/include/stdio.h:1598:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1598 |   _CRTIMP intptr_t __cdecl _wspawnlp(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
      |   ^~~~~~~
/mingw64/include/stdio.h:1598:28: error: expected ‘,’ or ‘;’ before ‘_wspawnlp’
 1598 |   _CRTIMP intptr_t __cdecl _wspawnlp(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
      |                            ^~~~~~~~~
/mingw64/include/stdio.h:1599:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
 1599 |   _CRTIMP intptr_t __cdecl _wspawnlpe(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
      |           ^~~~~~~~
/mingw64/include/stdio.h:1599:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1599 |   _CRTIMP intptr_t __cdecl _wspawnlpe(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
      |   ^~~~~~~
/mingw64/include/stdio.h:1599:28: error: expected ‘,’ or ‘;’ before ‘_wspawnlpe’
 1599 |   _CRTIMP intptr_t __cdecl _wspawnlpe(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
      |                            ^~~~~~~~~~
/mingw64/include/stdio.h:1600:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
 1600 |   _CRTIMP intptr_t __cdecl _wspawnv(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList);
      |           ^~~~~~~~
/mingw64/include/stdio.h:1600:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1600 |   _CRTIMP intptr_t __cdecl _wspawnv(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList);
      |   ^~~~~~~
/mingw64/include/stdio.h:1600:28: error: expected ‘,’ or ‘;’ before ‘_wspawnv’
 1600 |   _CRTIMP intptr_t __cdecl _wspawnv(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList);
      |                            ^~~~~~~~
/mingw64/include/stdio.h:1601:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
 1601 |   _CRTIMP intptr_t __cdecl _wspawnve(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
      |           ^~~~~~~~
/mingw64/include/stdio.h:1601:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1601 |   _CRTIMP intptr_t __cdecl _wspawnve(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
      |   ^~~~~~~
/mingw64/include/stdio.h:1601:28: error: expected ‘,’ or ‘;’ before ‘_wspawnve’
 1601 |   _CRTIMP intptr_t __cdecl _wspawnve(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
      |                            ^~~~~~~~~
/mingw64/include/stdio.h:1602:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
 1602 |   _CRTIMP intptr_t __cdecl _wspawnvp(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList);
      |           ^~~~~~~~
/mingw64/include/stdio.h:1602:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1602 |   _CRTIMP intptr_t __cdecl _wspawnvp(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList);
      |   ^~~~~~~
/mingw64/include/stdio.h:1602:28: error: expected ‘,’ or ‘;’ before ‘_wspawnvp’
 1602 |   _CRTIMP intptr_t __cdecl _wspawnvp(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList);
      |                            ^~~~~~~~~
/mingw64/include/stdio.h:1603:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
 1603 |   _CRTIMP intptr_t __cdecl _wspawnvpe(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
      |           ^~~~~~~~
/mingw64/include/stdio.h:1603:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1603 |   _CRTIMP intptr_t __cdecl _wspawnvpe(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
      |   ^~~~~~~
/mingw64/include/stdio.h:1603:28: error: expected ‘,’ or ‘;’ before ‘_wspawnvpe’
 1603 |   _CRTIMP intptr_t __cdecl _wspawnvpe(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
      |                            ^~~~~~~~~~
/mingw64/include/stdio.h:1620:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
 1620 |   _CRTIMP intptr_t __cdecl _spawnv(int _Mode,const char *_Filename,const char *const *_ArgList);
      |           ^~~~~~~~
/mingw64/include/stdio.h:1620:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1620 |   _CRTIMP intptr_t __cdecl _spawnv(int _Mode,const char *_Filename,const char *const *_ArgList);
      |   ^~~~~~~
/mingw64/include/stdio.h:1620:28: error: expected ‘,’ or ‘;’ before ‘_spawnv’
 1620 |   _CRTIMP intptr_t __cdecl _spawnv(int _Mode,const char *_Filename,const char *const *_ArgList);
      |                            ^~~~~~~
/mingw64/include/stdio.h:1621:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
 1621 |   _CRTIMP intptr_t __cdecl _spawnve(int _Mode,const char *_Filename,const char *const *_ArgList,const char *const *_Env);
      |           ^~~~~~~~
/mingw64/include/stdio.h:1621:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1621 |   _CRTIMP intptr_t __cdecl _spawnve(int _Mode,const char *_Filename,const char *const *_ArgList,const char *const *_Env);
      |   ^~~~~~~
/mingw64/include/stdio.h:1621:28: error: expected ‘,’ or ‘;’ before ‘_spawnve’
 1621 |   _CRTIMP intptr_t __cdecl _spawnve(int _Mode,const char *_Filename,const char *const *_ArgList,const char *const *_Env);
      |                            ^~~~~~~~
/mingw64/include/stdio.h:1622:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
 1622 |   _CRTIMP intptr_t __cdecl _spawnvp(int _Mode,const char *_Filename,const char *const *_ArgList);
      |           ^~~~~~~~
/mingw64/include/stdio.h:1622:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1622 |   _CRTIMP intptr_t __cdecl _spawnvp(int _Mode,const char *_Filename,const char *const *_ArgList);
      |   ^~~~~~~
/mingw64/include/stdio.h:1622:28: error: expected ‘,’ or ‘;’ before ‘_spawnvp’
 1622 |   _CRTIMP intptr_t __cdecl _spawnvp(int _Mode,const char *_Filename,const char *const *_ArgList);
      |                            ^~~~~~~~
/mingw64/include/stdio.h:1623:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
 1623 |   _CRTIMP intptr_t __cdecl _spawnvpe(int _Mode,const char *_Filename,const char *const *_ArgList,const char *const *_Env);
      |           ^~~~~~~~
/mingw64/include/stdio.h:1623:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
 1623 |   _CRTIMP intptr_t __cdecl _spawnvpe(int _Mode,const char *_Filename,const char *const *_ArgList,const char *const *_Env);
      |   ^~~~~~~
/mingw64/include/stdio.h:1623:28: error: expected ‘,’ or ‘;’ before ‘_spawnvpe’
 1623 |   _CRTIMP intptr_t __cdecl _spawnvpe(int _Mode,const char *_Filename,const char *const *_ArgList,const char *const *_Env);
      |                            ^~~~~~~~~
In file included from /mingw64/include/freetype2/freetype/config/ftstdlib.h:130,
                 from /mingw64/include/freetype2/freetype/config/ftconfig.h:42,
                 from /mingw64/include/freetype2/freetype/freetype.h:24,
                 from kandinsky/fonts/rasterizer.h:15,
                 from kandinsky/fonts/rasterizer.c:1:
/mingw64/include/stdlib.h:148:115: error: expected declaration specifiers or ‘...’ before ‘uintptr_t’
  148 |   typedef void (__cdecl *_invalid_parameter_handler)(const wchar_t *,const wchar_t *,const wchar_t *,unsigned int,uintptr_t);
      |                                                                                                                   ^~~~~~~~~
/mingw64/include/stdlib.h:149:11: warning: type defaults to ‘int’ in declaration of ‘_invalid_parameter_handler’ [-Wimplicit-int]
  149 |   _CRTIMP _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler _Handler);
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~
/mingw64/include/stdlib.h:149:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
  149 |   _CRTIMP _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler _Handler);
      |   ^~~~~~~
/mingw64/include/stdlib.h:149:46: error: expected ‘,’ or ‘;’ before ‘_set_invalid_parameter_handler’
  149 |   _CRTIMP _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler _Handler);
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mingw64/include/stdlib.h:150:11: warning: type defaults to ‘int’ in declaration of ‘_invalid_parameter_handler’ [-Wimplicit-int]
  150 |   _CRTIMP _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~
/mingw64/include/stdlib.h:150:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
  150 |   _CRTIMP _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
      |   ^~~~~~~
/mingw64/include/stdlib.h:150:46: error: expected ‘,’ or ‘;’ before ‘_get_invalid_parameter_handler’
  150 |   _CRTIMP _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /mingw64/include/stdlib.h:769,
                 from /mingw64/include/freetype2/freetype/config/ftstdlib.h:130,
                 from /mingw64/include/freetype2/freetype/config/ftconfig.h:42,
                 from /mingw64/include/freetype2/freetype/freetype.h:24,
                 from kandinsky/fonts/rasterizer.h:15,
                 from kandinsky/fonts/rasterizer.c:1:
/mingw64/include/malloc.h:111:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
  111 |   _CRTIMP intptr_t __cdecl _get_heap_handle(void);
      |           ^~~~~~~~
/mingw64/include/malloc.h:111:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
  111 |   _CRTIMP intptr_t __cdecl _get_heap_handle(void);
      |   ^~~~~~~
/mingw64/include/malloc.h:111:28: error: expected ‘,’ or ‘;’ before ‘_get_heap_handle’
  111 |   _CRTIMP intptr_t __cdecl _get_heap_handle(void);
      |                            ^~~~~~~~~~~~~~~~
In file included from /mingw64/include/stdarg.h:140,
                 from /mingw64/include/freetype2/freetype/config/ftstdlib.h:179,
                 from /mingw64/include/freetype2/freetype/config/ftconfig.h:42,
                 from /mingw64/include/freetype2/freetype/freetype.h:24,
                 from kandinsky/fonts/rasterizer.h:15,
                 from kandinsky/fonts/rasterizer.c:1:
/mingw64/include/_mingw_stdarg.h:11:2: error: #error Only Win32 target is supported!
   11 | #error Only Win32 target is supported!
      |  ^~~~~
In file included from /mingw64/include/pngconf.h:56,
                 from /mingw64/include/png.h:339,
                 from kandinsky/fonts/rasterizer.h:66,
                 from kandinsky/fonts/rasterizer.c:1:
/mingw64/include/time.h:12:2: error: #error Only Win32 target is supported!
   12 | #error Only Win32 target is supported!
      |  ^~~~~
In file included from /mingw64/include/time.h:25,
                 from /mingw64/include/pngconf.h:56,
                 from /mingw64/include/png.h:339,
                 from kandinsky/fonts/rasterizer.h:66,
                 from kandinsky/fonts/rasterizer.c:1:
/mingw64/include/sys/timeb.h:12:2: error: #error Only Win32 target is supported!
   12 | #error Only Win32 target is supported!
      |  ^~~~~
/mingw64/include/sys/timeb.h:62:5: error: unknown type name ‘time_t’
   62 |     time_t time;
      |     ^~~~~~
/mingw64/include/sys/timeb.h:102:3: error: unknown type name ‘time_t’
  102 |   time_t  tv_sec;   /* Seconds */
      |   ^~~~~~
In file included from /mingw64/include/pngconf.h:56,
                 from /mingw64/include/png.h:339,
                 from kandinsky/fonts/rasterizer.h:66,
                 from kandinsky/fonts/rasterizer.c:1:
/mingw64/include/time.h:214:34: error: unknown type name ‘time_t’
  214 |   wchar_t *__cdecl _wctime(const time_t *) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
      |                                  ^~~~~~
/mingw64/include/time.h:217:47: error: unknown type name ‘time_t’
  217 |   __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime64(_Time); }
      |                                               ^~~~~~
/mingw64/include/time.h: In function ‘_wctime’:
/mingw64/include/time.h:217:81: warning: passing argument 1 of ‘_wctime64’ from incompatible pointer type [-Wincompatible-pointer-types]
  217 |   __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime64(_Time); }
      |                                                                                 ^~~~~
      |                                                                                 |
      |                                                                                 const int *
/mingw64/include/time.h:209:56: note: expected ‘const __time64_t *’ {aka ‘const long long int *’} but argument is of type ‘const int *’
  209 |   _CRTIMP wchar_t *__cdecl _wctime64(const __time64_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
      |                                      ~~~~~~~~~~~~~~~~~~^~~~~
/mingw64/include/time.h: At top level:
/mingw64/include/time.h:226:54: error: unknown type name ‘time_t’
  226 |   errno_t __cdecl _wctime_s(wchar_t *, size_t, const time_t *);
      |                                                      ^~~~~~
/mingw64/include/time.h:229:86: error: unknown type name ‘time_t’
  229 |   __CRT_INLINE errno_t __cdecl _wctime_s (wchar_t *_Buffer,size_t _SizeInWords,const time_t *_Time) { return _wctime64_s (_Buffer,_SizeInWords,_Time); }
      |                                                                                      ^~~~~~
/mingw64/include/time.h: In function ‘_wctime_s’:
/mingw64/include/time.h:229:144: warning: passing argument 3 of ‘_wctime64_s’ from incompatible pointer type [-Wincompatible-pointer-types]
  229 |   __CRT_INLINE errno_t __cdecl _wctime_s (wchar_t *_Buffer,size_t _SizeInWords,const time_t *_Time) { return _wctime64_s (_Buffer,_SizeInWords,_Time); }
      |                                                                                                                                                ^~~~~
      |                                                                                                                                                |
      |                                                                                                                                                const int *
/mingw64/include/time.h:210:92: note: expected ‘const __time64_t *’ {aka ‘const long long int *’} but argument is of type ‘const int *’
  210 |   _SECIMP errno_t __cdecl _wctime64_s (wchar_t *_Buf,size_t _SizeInWords,const __time64_t *_Time);
      |                                                                          ~~~~~~~~~~~~~~~~~~^~~~~
/mingw64/include/time.h: At top level:
/mingw64/include/time.h:256:17: warning: type defaults to ‘int’ in declaration of ‘time_t’ [-Wimplicit-int]
  256 | static __inline time_t __CRTDECL time(time_t *_Time) { return _time64(_Time); }
      |                 ^~~~~~
/mingw64/include/time.h:256:17: warning: variable ‘time_t’ declared ‘inline’
/mingw64/include/time.h:256:1: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
  256 | static __inline time_t __CRTDECL time(time_t *_Time) { return _time64(_Time); }
      | ^~~~~~
/mingw64/include/time.h:256:34: error: expected ‘,’ or ‘;’ before ‘time’
  256 | static __inline time_t __CRTDECL time(time_t *_Time) { return _time64(_Time); }
      |                                  ^~~~
/mingw64/include/time.h:260:43: error: expected declaration specifiers or ‘...’ before ‘time_t’
  260 | static __inline double __CRTDECL difftime(time_t _Time1,time_t _Time2) { return _difftime64(_Time1,_Time2); }
      |                                           ^~~~~~
/mingw64/include/time.h:260:57: error: expected declaration specifiers or ‘...’ before ‘time_t’
  260 | static __inline double __CRTDECL difftime(time_t _Time1,time_t _Time2) { return _difftime64(_Time1,_Time2); }
      |                                                         ^~~~~~
/mingw64/include/time.h:261:54: warning: type defaults to ‘int’ in declaration of ‘time_t’ [-Wimplicit-int]
  261 | static __inline struct tm *__CRTDECL localtime(const time_t *_Time) { return _localtime64(_Time); }
      |                                                      ^~~~~~
/mingw64/include/time.h:261:61: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
  261 | static __inline struct tm *__CRTDECL localtime(const time_t *_Time) { return _localtime64(_Time); }
      |                                                             ^
/mingw64/include/time.h:262:68: warning: type defaults to ‘int’ in declaration of ‘time_t’ [-Wimplicit-int]
  262 | static __inline errno_t __CRTDECL localtime_s(struct tm *_Tm,const time_t *_Time) { return _localtime64_s(_Tm,_Time); }
      |                                                                    ^~~~~~
/mingw64/include/time.h:262:75: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
  262 | static __inline errno_t __CRTDECL localtime_s(struct tm *_Tm,const time_t *_Time) { return _localtime64_s(_Tm,_Time); }
      |                                                                           ^
/mingw64/include/time.h:263:51: warning: type defaults to ‘int’ in declaration of ‘time_t’ [-Wimplicit-int]
  263 | static __inline struct tm *__CRTDECL gmtime(const time_t *_Time) { return _gmtime64(_Time); }
      |                                                   ^~~~~~
/mingw64/include/time.h:263:58: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
  263 | static __inline struct tm *__CRTDECL gmtime(const time_t *_Time) { return _gmtime64(_Time); }
      |                                                          ^
/mingw64/include/time.h:264:66: warning: type defaults to ‘int’ in declaration of ‘time_t’ [-Wimplicit-int]
  264 | static __inline errno_t __CRTDECL gmtime_s(struct tm *_Tm, const time_t *_Time) { return _gmtime64_s(_Tm, _Time); }
      |                                                                  ^~~~~~
/mingw64/include/time.h:264:73: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
  264 | static __inline errno_t __CRTDECL gmtime_s(struct tm *_Tm, const time_t *_Time) { return _gmtime64_s(_Tm, _Time); }
      |                                                                         ^
/mingw64/include/time.h:265:45: warning: type defaults to ‘int’ in declaration of ‘time_t’ [-Wimplicit-int]
  265 | static __inline char *__CRTDECL ctime(const time_t *_Time) { return _ctime64(_Time); }
      |                                             ^~~~~~
/mingw64/include/time.h:265:52: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
  265 | static __inline char *__CRTDECL ctime(const time_t *_Time) { return _ctime64(_Time); }
      |                                                    ^
/mingw64/include/time.h:266:80: warning: type defaults to ‘int’ in declaration of ‘time_t’ [-Wimplicit-int]
  266 | static __inline errno_t __CRTDECL ctime_s(char *_Buf,size_t _SizeInBytes,const time_t *_Time) { return _ctime64_s(_Buf,_SizeInBytes,_Time); }
      |                                                                                ^~~~~~
/mingw64/include/time.h:266:87: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
  266 | static __inline errno_t __CRTDECL ctime_s(char *_Buf,size_t _SizeInBytes,const time_t *_Time) { return _ctime64_s(_Buf,_SizeInBytes,_Time); }
      |                                                                                       ^
/mingw64/include/time.h:267:17: warning: type defaults to ‘int’ in declaration of ‘time_t’ [-Wimplicit-int]
  267 | static __inline time_t __CRTDECL mktime(struct tm *_Tm) { return _mktime64(_Tm); }
      |                 ^~~~~~
/mingw64/include/time.h:267:17: warning: variable ‘time_t’ declared ‘inline’
/mingw64/include/time.h:267:1: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
  267 | static __inline time_t __CRTDECL mktime(struct tm *_Tm) { return _mktime64(_Tm); }
      | ^~~~~~
/mingw64/include/time.h:267:34: error: expected ‘,’ or ‘;’ before ‘mktime’
  267 | static __inline time_t __CRTDECL mktime(struct tm *_Tm) { return _mktime64(_Tm); }
      |                                  ^~~~~~
/mingw64/include/time.h:268:17: warning: type defaults to ‘int’ in declaration of ‘time_t’ [-Wimplicit-int]
  268 | static __inline time_t __CRTDECL _mkgmtime(struct tm *_Tm) { return _mkgmtime64(_Tm); }
      |                 ^~~~~~
/mingw64/include/time.h:268:17: warning: variable ‘time_t’ declared ‘inline’
/mingw64/include/time.h:268:1: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
  268 | static __inline time_t __CRTDECL _mkgmtime(struct tm *_Tm) { return _mkgmtime64(_Tm); }
      | ^~~~~~
/mingw64/include/time.h:268:34: error: expected ‘,’ or ‘;’ before ‘_mkgmtime’
  268 | static __inline time_t __CRTDECL _mkgmtime(struct tm *_Tm) { return _mkgmtime64(_Tm); }
      |                                  ^~~~~~~~~
In file included from /mingw64/include/png.h:339,
                 from kandinsky/fonts/rasterizer.h:66,
                 from kandinsky/fonts/rasterizer.c:1:
/mingw64/include/png.h:1069:65: error: expected declaration specifiers or ‘...’ before ‘time_t’
 1069 | PNG_EXPORT(25, void, png_convert_from_time_t, (png_timep ptime, time_t ttime));
      |                                                                 ^~~~~~
/mingw64/include/pngconf.h:287:75: note: in definition of macro ‘PNG_FUNCTION’
  287 | #  define PNG_FUNCTION(type, name, args, attributes) attributes type name args
      |                                                                           ^~~~
/mingw64/include/pngconf.h:301:58: note: in expansion of macro ‘PNGARG’
  301 |       PNG_FUNCTION(PNG_EXPORT_TYPE(type), (PNGAPI name), PNGARG(args), \
      |                                                          ^~~~~~
/mingw64/include/pngconf.h:311:4: note: in expansion of macro ‘PNG_EXPORTA’
  311 |    PNG_EXPORTA(ordinal, type, name, args, PNG_EMPTY)
      |    ^~~~~~~~~~~
/mingw64/include/png.h:1069:1: note: in expansion of macro ‘PNG_EXPORT’
 1069 | PNG_EXPORT(25, void, png_convert_from_time_t, (png_timep ptime, time_t ttime));
      | ^~~~~~~~~~
In file included from /mingw64/include/_cygwin.h:14,
                 from /mingw64/include/_mingw.h:15,
                 from /mingw64/include/corecrt.h:10,
                 from /mingw64/include/crtdefs.h:10,
                 from /mingw64/include/stddef.h:7,
                 from ion/src/external/lz4/lz4.h:43,
                 from ion/src/external/lz4/lz4.c:96:
/mingw64/include/stddef.h:18:10: error: expected ‘;’ before ‘extern’
   18 |   _CRTIMP extern int *__cdecl _errno(void);
      |          ^~~~~~~
      |          ;
/mingw64/include/stddef.h:20:3: warning: data definition has no type or storage class
   20 |   errno_t __cdecl _set_errno(int _Value);
      |   ^~~~~~~
/mingw64/include/stddef.h:20:3: warning: type defaults to ‘int’ in declaration of ‘errno_t’ [-Wimplicit-int]
/mingw64/include/stddef.h:20:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stddef.h:20:19: error: expected ‘,’ or ‘;’ before ‘_set_errno’
   20 |   errno_t __cdecl _set_errno(int _Value);
      |                   ^~~~~~~~~~
/mingw64/include/stddef.h:21:3: warning: data definition has no type or storage class
   21 |   errno_t __cdecl _get_errno(int *_Value);
      |   ^~~~~~~
/mingw64/include/stddef.h:21:3: warning: type defaults to ‘int’ in declaration of ‘errno_t’ [-Wimplicit-int]
/mingw64/include/stddef.h:21:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stddef.h:21:19: error: expected ‘,’ or ‘;’ before ‘_get_errno’
   21 |   errno_t __cdecl _get_errno(int *_Value);
      |                   ^~~~~~~~~~
/mingw64/include/stddef.h:24:10: error: expected ‘;’ before ‘extern’
   24 |   _CRTIMP extern unsigned long __cdecl __threadid(void);
      |          ^~~~~~~
      |          ;
/mingw64/include/stddef.h:26:10: error: expected ‘;’ before ‘extern’
   26 |   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
      |          ^~~~~~~
      |          ;
/mingw64/include/stddef.h:26:18: warning: type defaults to ‘int’ in declaration of ‘uintptr_t’ [-Wimplicit-int]
   26 |   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
      |                  ^~~~~~~~~
/mingw64/include/stddef.h:26:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
   26 |   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
      |   ^~~~~~~
/mingw64/include/stddef.h:26:36: error: expected ‘,’ or ‘;’ before ‘__threadhandle’
   26 |   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
      |                                    ^~~~~~~~~~~~~~
In file included from /mingw64/include/crtdefs.h:10,
                 from /mingw64/include/stddef.h:7,
                 from ion/src/external/lz4/lz4.h:43,
                 from ion/src/external/lz4/lz4.c:96:
/mingw64/include/corecrt.h:113:13: error: ‘errno_t’ redeclared as different kind of symbol
  113 | typedef int errno_t;
      |             ^~~~~~~
In file included from /mingw64/include/_cygwin.h:14,
                 from /mingw64/include/_mingw.h:15,
                 from /mingw64/include/corecrt.h:10,
                 from /mingw64/include/crtdefs.h:10,
                 from /mingw64/include/stddef.h:7,
                 from ion/src/external/lz4/lz4.h:43,
                 from ion/src/external/lz4/lz4.c:96:
/mingw64/include/stddef.h:21:3: note: previous declaration of ‘errno_t’ with type ‘int’
   21 |   errno_t __cdecl _get_errno(int *_Value);
      |   ^~~~~~~
In file included from ion/src/external/lz4/lz4.c:164:
/mingw64/include/stdlib.h:148:115: error: expected declaration specifiers or ‘...’ before ‘uintptr_t’
  148 |   typedef void (__cdecl *_invalid_parameter_handler)(const wchar_t *,const wchar_t *,const wchar_t *,unsigned int,uintptr_t);
      |                                                                                                                   ^~~~~~~~~
/mingw64/include/stdlib.h:149:11: warning: type defaults to ‘int’ in declaration of ‘_invalid_parameter_handler’ [-Wimplicit-int]
  149 |   _CRTIMP _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler _Handler);
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~
/mingw64/include/stdlib.h:149:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
  149 |   _CRTIMP _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler _Handler);
      |   ^~~~~~~
/mingw64/include/stdlib.h:149:46: error: expected ‘,’ or ‘;’ before ‘_set_invalid_parameter_handler’
  149 |   _CRTIMP _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler _Handler);
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mingw64/include/stdlib.h:150:11: warning: type defaults to ‘int’ in declaration of ‘_invalid_parameter_handler’ [-Wimplicit-int]
  150 |   _CRTIMP _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~
/mingw64/include/stdlib.h:150:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
  150 |   _CRTIMP _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
      |   ^~~~~~~
/mingw64/include/stdlib.h:150:46: error: expected ‘,’ or ‘;’ before ‘_get_invalid_parameter_handler’
  150 |   _CRTIMP _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /mingw64/include/stdlib.h:769,
                 from ion/src/external/lz4/lz4.c:164:
/mingw64/include/malloc.h:111:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
  111 |   _CRTIMP intptr_t __cdecl _get_heap_handle(void);
      |           ^~~~~~~~
/mingw64/include/malloc.h:111:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
  111 |   _CRTIMP intptr_t __cdecl _get_heap_handle(void);
      |   ^~~~~~~
/mingw64/include/malloc.h:111:28: error: expected ‘,’ or ‘;’ before ‘_get_heap_handle’
  111 |   _CRTIMP intptr_t __cdecl _get_heap_handle(void);
      |                            ^~~~~~~~~~~~~~~~
ion/src/external/lz4/lz4.c:182:21: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘uptrval’
  182 |   typedef uintptr_t uptrval;
      |                     ^~~~~~~
ion/src/external/lz4/lz4.c: In function ‘LZ4_compress_fast_extState’:
ion/src/external/lz4/lz4.c:1019:68: error: ‘uptrval’ undeclared (first use in this function)
 1019 |             const tableType_t tableType = ((sizeof(void*)==4) && ((uptrval)source > MAX_DISTANCE)) ? byPtr : byU32;
      |                                                                    ^~~~~~~
ion/src/external/lz4/lz4.c:1019:68: note: each undeclared identifier is reported only once for each function it appears in
ion/src/external/lz4/lz4.c:1019:76: error: expected ‘)’ before ‘source’
 1019 |             const tableType_t tableType = ((sizeof(void*)==4) && ((uptrval)source > MAX_DISTANCE)) ? byPtr : byU32;
      |                                                                  ~         ^~~~~~
      |                                                                            )
ion/src/external/lz4/lz4.c:1026:76: error: expected ‘)’ before ‘source’
 1026 |             const tableType_t tableType = ((sizeof(void*)==4) && ((uptrval)source > MAX_DISTANCE)) ? byPtr : byU32;
      |                                                                  ~         ^~~~~~
      |                                                                            )
ion/src/external/lz4/lz4.c: In function ‘LZ4_compress_fast_extState_fastReset’:
ion/src/external/lz4/lz4.c:1056:68: error: ‘uptrval’ undeclared (first use in this function)
 1056 |             const tableType_t tableType = ((sizeof(void*)==4) && ((uptrval)src > MAX_DISTANCE)) ? byPtr : byU32;
      |                                                                    ^~~~~~~
ion/src/external/lz4/lz4.c:1056:76: error: expected ‘)’ before ‘src’
 1056 |             const tableType_t tableType = ((sizeof(void*)==4) && ((uptrval)src > MAX_DISTANCE)) ? byPtr : byU32;
      |                                                                  ~         ^~~
      |                                                                            )
ion/src/external/lz4/lz4.c:1070:76: error: expected ‘)’ before ‘src’
 1070 |             const tableType_t tableType = ((sizeof(void*)==4) && ((uptrval)src > MAX_DISTANCE)) ? byPtr : byU32;
      |                                                                  ~         ^~~
      |                                                                            )
ion/src/external/lz4/lz4.c: In function ‘LZ4_compress_destSize_extState’:
ion/src/external/lz4/lz4.c:1130:68: error: ‘uptrval’ undeclared (first use in this function)
 1130 |             tableType_t const tableType = ((sizeof(void*)==4) && ((uptrval)src > MAX_DISTANCE)) ? byPtr : byU32;
      |                                                                    ^~~~~~~
ion/src/external/lz4/lz4.c:1130:76: error: expected ‘)’ before ‘src’
 1130 |             tableType_t const tableType = ((sizeof(void*)==4) && ((uptrval)src > MAX_DISTANCE)) ? byPtr : byU32;
      |                                                                  ~         ^~~
      |                                                                            )
ion/src/external/lz4/lz4.c: In function ‘LZ4_decompress_generic’:
ion/src/external/lz4/lz4.c:1503:43: error: ‘uptrval’ undeclared (first use in this function)
 1503 |             if ((safeDecode) && unlikely((uptrval)(op)+length<(uptrval)(op))) goto _output_error;   /* overflow detection */
      |                                           ^~~~~~~
ion/src/external/lz4/lz4.c:148:53: note: in definition of macro ‘expect’
  148 | #  define expect(expr,value)    (__builtin_expect ((expr),(value)) )
      |                                                     ^~~~
ion/src/external/lz4/lz4.c:1503:33: note: in expansion of macro ‘unlikely’
 1503 |             if ((safeDecode) && unlikely((uptrval)(op)+length<(uptrval)(op))) goto _output_error;   /* overflow detection */
      |                                 ^~~~~~~~
ion/src/external/lz4/lz4.c:1555:72: error: expected ‘)’ before ‘op’
 1555 |             if ((safeDecode) && unlikely((uptrval)(op)+length<(uptrval)op)) goto _output_error;   /* overflow detection */
      |                                                                        ^~
ion/src/external/lz4/lz4.c:148:53: note: in definition of macro ‘expect’
  148 | #  define expect(expr,value)    (__builtin_expect ((expr),(value)) )
      |                                                     ^~~~
ion/src/external/lz4/lz4.c:1555:33: note: in expansion of macro ‘unlikely’
 1555 |             if ((safeDecode) && unlikely((uptrval)(op)+length<(uptrval)op)) goto _output_error;   /* overflow detection */
      |                                 ^~~~~~~~
ion/src/external/lz4/lz4.c:157:33: note: to match this ‘(’
  157 | #define unlikely(expr)   expect((expr) != 0, 0)
      |                                 ^
ion/src/external/lz4/lz4.c:148:53: note: in definition of macro ‘expect’
  148 | #  define expect(expr,value)    (__builtin_expect ((expr),(value)) )
      |                                                     ^~~~
ion/src/external/lz4/lz4.c:1555:33: note: in expansion of macro ‘unlikely’
 1555 |             if ((safeDecode) && unlikely((uptrval)(op)+length<(uptrval)op)) goto _output_error;   /* overflow detection */
      |                                 ^~~~~~~~
ion/src/external/lz4/lz4.c: In function ‘LZ4_slideInputBuffer’:
ion/src/external/lz4/lz4.c:1966:21: error: ‘uptrval’ undeclared (first use in this function)
 1966 |     return (char *)(uptrval)((LZ4_stream_t*)state)->internal_donotuse.dictionary;
      |                     ^~~~~~~
In file included from /mingw64/include/_cygwin.h:14,
                 from /mingw64/include/_mingw.h:15,
                 from /mingw64/include/corecrt.h:10,
                 from /mingw64/include/crtdefs.h:10,
                 from /mingw64/include/stddef.h:7,
                 from ion/src/external/lz4/lz4.h:43,
                 from ion/src/external/lz4/lz4hc.h:43,
                 from ion/src/external/lz4/lz4hc.c:53:
/mingw64/include/stddef.h:18:10: error: expected ‘;’ before ‘extern’
   18 |   _CRTIMP extern int *__cdecl _errno(void);
      |          ^~~~~~~
      |          ;
/mingw64/include/stddef.h:20:3: warning: data definition has no type or storage class
   20 |   errno_t __cdecl _set_errno(int _Value);
      |   ^~~~~~~
/mingw64/include/stddef.h:20:3: warning: type defaults to ‘int’ in declaration of ‘errno_t’ [-Wimplicit-int]
/mingw64/include/stddef.h:20:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stddef.h:20:19: error: expected ‘,’ or ‘;’ before ‘_set_errno’
   20 |   errno_t __cdecl _set_errno(int _Value);
      |                   ^~~~~~~~~~
/mingw64/include/stddef.h:21:3: warning: data definition has no type or storage class
   21 |   errno_t __cdecl _get_errno(int *_Value);
      |   ^~~~~~~
/mingw64/include/stddef.h:21:3: warning: type defaults to ‘int’ in declaration of ‘errno_t’ [-Wimplicit-int]
/mingw64/include/stddef.h:21:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
/mingw64/include/stddef.h:21:19: error: expected ‘,’ or ‘;’ before ‘_get_errno’
   21 |   errno_t __cdecl _get_errno(int *_Value);
      |                   ^~~~~~~~~~
/mingw64/include/stddef.h:24:10: error: expected ‘;’ before ‘extern’
   24 |   _CRTIMP extern unsigned long __cdecl __threadid(void);
      |          ^~~~~~~
      |          ;
/mingw64/include/stddef.h:26:10: error: expected ‘;’ before ‘extern’
   26 |   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
      |          ^~~~~~~
      |          ;
/mingw64/include/stddef.h:26:18: warning: type defaults to ‘int’ in declaration of ‘uintptr_t’ [-Wimplicit-int]
   26 |   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
      |                  ^~~~~~~~~
/mingw64/include/stddef.h:26:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
   26 |   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
      |   ^~~~~~~
/mingw64/include/stddef.h:26:36: error: expected ‘,’ or ‘;’ before ‘__threadhandle’
   26 |   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
      |                                    ^~~~~~~~~~~~~~
In file included from /mingw64/include/crtdefs.h:10,
                 from /mingw64/include/stddef.h:7,
                 from ion/src/external/lz4/lz4.h:43,
                 from ion/src/external/lz4/lz4hc.h:43,
                 from ion/src/external/lz4/lz4hc.c:53:
/mingw64/include/corecrt.h:113:13: error: ‘errno_t’ redeclared as different kind of symbol
  113 | typedef int errno_t;
      |             ^~~~~~~
In file included from /mingw64/include/_cygwin.h:14,
                 from /mingw64/include/_mingw.h:15,
                 from /mingw64/include/corecrt.h:10,
                 from /mingw64/include/crtdefs.h:10,
                 from /mingw64/include/stddef.h:7,
                 from ion/src/external/lz4/lz4.h:43,
                 from ion/src/external/lz4/lz4hc.h:43,
                 from ion/src/external/lz4/lz4hc.c:53:
/mingw64/include/stddef.h:21:3: note: previous declaration of ‘errno_t’ with type ‘int’
   21 |   errno_t __cdecl _get_errno(int *_Value);
      |   ^~~~~~~
In file included from ion/src/external/lz4/lz4.c:164,
                 from ion/src/external/lz4/lz4hc.c:65:
/mingw64/include/stdlib.h:148:115: error: expected declaration specifiers or ‘...’ before ‘uintptr_t’
  148 |   typedef void (__cdecl *_invalid_parameter_handler)(const wchar_t *,const wchar_t *,const wchar_t *,unsigned int,uintptr_t);
      |                                                                                                                   ^~~~~~~~~
/mingw64/include/stdlib.h:149:11: warning: type defaults to ‘int’ in declaration of ‘_invalid_parameter_handler’ [-Wimplicit-int]
  149 |   _CRTIMP _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler _Handler);
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~
/mingw64/include/stdlib.h:149:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
  149 |   _CRTIMP _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler _Handler);
      |   ^~~~~~~
/mingw64/include/stdlib.h:149:46: error: expected ‘,’ or ‘;’ before ‘_set_invalid_parameter_handler’
  149 |   _CRTIMP _invalid_parameter_handler __cdecl _set_invalid_parameter_handler(_invalid_parameter_handler _Handler);
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mingw64/include/stdlib.h:150:11: warning: type defaults to ‘int’ in declaration of ‘_invalid_parameter_handler’ [-Wimplicit-int]
  150 |   _CRTIMP _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~
/mingw64/include/stdlib.h:150:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
  150 |   _CRTIMP _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
      |   ^~~~~~~
/mingw64/include/stdlib.h:150:46: error: expected ‘,’ or ‘;’ before ‘_get_invalid_parameter_handler’
  150 |   _CRTIMP _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void);
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /mingw64/include/stdlib.h:769,
                 from ion/src/external/lz4/lz4.c:164,
                 from ion/src/external/lz4/lz4hc.c:65:
/mingw64/include/malloc.h:111:11: warning: type defaults to ‘int’ in declaration of ‘intptr_t’ [-Wimplicit-int]
  111 |   _CRTIMP intptr_t __cdecl _get_heap_handle(void);
      |           ^~~~~~~~
/mingw64/include/malloc.h:111:3: warning: ‘cdecl’ attribute only applies to function types [-Wattributes]
  111 |   _CRTIMP intptr_t __cdecl _get_heap_handle(void);
      |   ^~~~~~~
/mingw64/include/malloc.h:111:28: error: expected ‘,’ or ‘;’ before ‘_get_heap_handle’
  111 |   _CRTIMP intptr_t __cdecl _get_heap_handle(void);
      |                            ^~~~~~~~~~~~~~~~
In file included from ion/src/external/lz4/lz4hc.c:65:
ion/src/external/lz4/lz4.c:182:21: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘uptrval’
  182 |   typedef uintptr_t uptrval;
      |                     ^~~~~~~
ion/src/external/lz4/lz4hc.c: In function ‘LZ4HC_init’:
ion/src/external/lz4/lz4hc.c:97:5: error: unknown type name ‘uptrval’
   97 |     uptrval startingOffset = hc4->end - hc4->base;
      |     ^~~~~~~
ion/src/external/lz4/lz4hc.c: In function ‘LZ4_resetStreamHC_fast’:
ion/src/external/lz4/lz4hc.c:902:48: error: ‘uptrval’ undeclared (first use in this function)
  902 |     LZ4_streamHCPtr->internal_donotuse.end -= (uptrval)LZ4_streamHCPtr->internal_donotuse.base;
      |                                                ^~~~~~~
ion/src/external/lz4/lz4hc.c:902:48: note: each undeclared identifier is reported only once for each function it appears in
ion/src/external/lz4/lz4hc.c:902:56: error: expected ‘;’ before ‘LZ4_streamHCPtr’
  902 |     LZ4_streamHCPtr->internal_donotuse.end -= (uptrval)LZ4_streamHCPtr->internal_donotuse.base;
      |                                                        ^~~~~~~~~~~~~~~
      |                                                        ;
ion/src/external/lz4/lz4hc.c: In function ‘LZ4_slideInputBufferHC’:
ion/src/external/lz4/lz4hc.c:1087:21: error: ‘uptrval’ undeclared (first use in this function)
 1087 |     return (char *)(uptrval)bufferStart;
      |                     ^~~~~~~
ion/src/external/lz4/lz4hc.c:1087:29: error: expected ‘;’ before ‘bufferStart’
 1087 |     return (char *)(uptrval)bufferStart;
      |                             ^~~~~~~~~~~
      |                             ;
make: *** [kandinsky/Makefile:51: output/release/simulator/windows//kandinsky/fonts/rasterizer] Error 1

admin@hppd400sff-59 MSYS ~/epsilon
#
ljoets commented 1 year ago

I can say that under Debian 11 the compilation goes well and reaches the end.

amidarius commented 11 months ago

For all of you still struggling to finish tutorial on Windows OS https://www.numworks.com/engineering/software/build/ and face this error : 'ERROR: Could not build wheels for lz4, which is required to install pyproject.toml-based projects' please consider doing this before executing pip install ... line : set export SETUPTOOLS_USE_DISTUTILS=stdlib After that proceed with pip3 install lz4 pypng stringcase and everything should be ok.

I'm on Windows 10 / 22H2 / 19045.3693

amidarius commented 11 months ago

Next, after installing the latest GCC toolchain from ARM you should also install git ! with pacman -S git in order to retrive the source code.

amidarius commented 11 months ago

With 3 static_assert's (_c:\msys64\home{user}\epsilon\ion\include\ion\exammode.h and _c:\msys64\home{user}\epsilon\poincare\include\poincare\exammode.h) commented out and one hour later i've got a lot of errors 🤔 :

... CXX ion/src/simulator/shared/window.o CXX ion/src/simulator/shared/window_position_cached.o CXX ion/src/simulator/windows/platform_files.o CXX ion/src/simulator/windows/platform_images.o In file included from C:/msys64/mingw64/include/gdiplus/gdiplus.h:56, from C:/msys64/mingw64/include/gdiplus.h:1, from ion/src/simulator/windows/platform_images.cpp:3: C:/msys64/mingw64/include/gdiplus/gdiplusimaging.h:140:9: error: 'PROPID' does not name a type; did you mean 'PVOID'? 140 | PROPID id; | ^~ | PVOID In file included from C:/msys64/mingw64/include/gdiplus/gdiplus.h:63: C:/msys64/mingw64/include/gdiplus/gdiplusflat.h:402:57: error: 'PROPID' has not been declared 402 | GpStatus WINGDIPAPI GdipGetPropertyIdList(GpImage,UINT,PROPID); | ^~ C:/msys64/mingw64/include/gdiplus/gdiplusflat.h:403:54: error: 'PROPID' has not been declared 403 | GpStatus WINGDIPAPI GdipGetPropertyItemSize(GpImage,PROPID,UINT); | ^~ C:/msys64/mingw64/include/gdiplus/gdiplusflat.h:404:50: error: 'PROPID' has not been declared 404 | GpStatus WINGDIPAPI GdipGetPropertyItem(GpImage,PROPID,UINT,PropertyItem); | ^~ C:/msys64/mingw64/include/gdiplus/gdiplusflat.h:407:53: error: 'PROPID' has not been declared 407 | GpStatus WINGDIPAPI GdipRemovePropertyItem(GpImage,PROPID); | ^~ In file included from C:/msys64/mingw64/include/gdiplus/gdiplus.h:69: C:/msys64/mingw64/include/gdiplus/gdiplusheaders.h:109:54: error: 'PROPID' has not been declared 109 | Status GetPropertyIdList(UINT numOfProperty, PROPID list); | ^~ C:/msys64/mingw64/include/gdiplus/gdiplusheaders.h:110:32: error: 'PROPID' has not been declared 110 | Status GetPropertyItem(PROPID propId, UINT propSize, | ^~ C:/msys64/mingw64/include/gdiplus/gdiplusheaders.h:112:34: error: 'PROPID' has not been declared 112 | UINT GetPropertyItemSize(PROPID propId); | ^~ C:/msys64/mingw64/include/gdiplus/gdiplusheaders.h:120:35: error: 'PROPID' has not been declared 120 | Status RemovePropertyItem(PROPID propId); | ^~ In file included from C:/msys64/mingw64/include/gdiplus/gdiplus.h:79: C:/msys64/mingw64/include/gdiplus/gdiplusimpl.h:206:64: error: 'PROPID' has not been declared 206 | inline Status Image::GetPropertyIdList(UINT numOfProperty, PROPID list) | ^~ C:/msys64/mingw64/include/gdiplus/gdiplusimpl.h:212:19: error: 'Gdiplus::Status Gdiplus::Image::GetP ropertyItem' is not a static data member of 'class Gdiplus::Image' 212 | inline Status Image::GetPropertyItem(PROPID propId, UINT propSize, | ^~~~~ C:/msys64/mingw64/include/gdiplus/gdiplusimpl.h:212:42: error: 'PROPID' was not declared in this sco pe; did you mean 'PVOID'? 212 | inline Status Image::GetPropertyItem(PROPID propId, UINT propSize, | ^~ | PVOID C:/msys64/mingw64/include/gdiplus/gdiplusimpl.h:212:62: error: expected primary-expression before 'p ropSize' 212 | inline Status Image::GetPropertyItem(PROPID propId, UINT propSize, | ^~~~ C:/msys64/mingw64/include/gdiplus/gdiplusimpl.h:213:30: error: expected primary-expression before ' ' token 213 | PropertyItem buffer) | ^ C:/msys64/mingw64/include/gdiplus/gdiplusimpl.h:213:31: error: 'buffer' was not declared in this sco pe 213 | PropertyItem buffer) | ^~ C:/msys64/mingw64/include/gdiplus/gdiplusimpl.h:213:37: error: expression list treated as compound e xpression in initializer [-fpermissive] 213 | PropertyItem buffer) | ^ C:/msys64/mingw64/include/gdiplus/gdiplusimpl.h:219:17: error: 'UINT Gdiplus::Image::GetPropertyItem Size' is not a static data member of 'class Gdiplus::Image' 219 | inline UINT Image::GetPropertyItemSize(PROPID propId) | ^~~~~ C:/msys64/mingw64/include/gdiplus/gdiplusimpl.h:219:44: error: 'PROPID' was not declared in this sco pe; did you mean 'PVOID'? 219 | inline UINT Image::GetPropertyItemSize(PROPID propId) | ^~ | PVOID C:/msys64/mingw64/include/gdiplus/gdiplusimpl.h:282:19: error: 'Gdiplus::Status Gdiplus::Image::Remo vePropertyItem' is not a static data member of 'class Gdiplus::Image' 282 | inline Status Image::RemovePropertyItem(PROPID propId) | ^~~~~ C:/msys64/mingw64/include/gdiplus/gdiplusimpl.h:282:45: error: 'PROPID' was not declared in this sco pe; did you mean 'PVOID'? 282 | inline Status Image::RemovePropertyItem(PROPID propId) | ^~ | PVOID make: *** [build/rules.mk:22: output/release/simulator/windows//ion/src/simulator/windows/platform_images.o] Error 1

amidarius commented 11 months ago

Huh, 🥴 finally managed to bring compilation to an end.

In order to do that, i changed c:\msys64\mingw64\include\gdiplus.h and now it looks this way :

#include "wtypes.h"

include "gdiplus/gdiplus.h"

Somehow PROPID declaration from wtypes.h is missing ? 🤨 Anyway compilation went without any error and i've got simulator up and running !

Hope this little adventure of mine will help you to bring that same task, inside W10+, to end.