Missing `ssize_t` with MSVC when including `nghttp2.h` in `soup-http2-utils.h`
This has been an issue Since version 3.1.2. Tested with both Visual Studio 2019 and 2022.
c:\Data\Projects\strawberry\msvc_\build_debug\libsoup>if not exist "build\build.ninja" meson --buildtype="debug" --prefix=c:\strawberry_msvc_x86_64_debug --pkg-config-path=c:\strawberry_msvc_x86_64_debug\lib\pkgconfig -Dtests=false -Dvapi=disabled -Dgssapi=disabled -Dintrospection=disabled -Dtests=false -Dsysprof=disabled -Dtls_check=false build || goto end
The Meson build system
Version: 0.62.1
Source dir: C:\Data\Projects\strawberry\msvc_\build_debug\libsoup
Build dir: C:\Data\Projects\strawberry\msvc_\build_debug\libsoup\build
Build type: native build
Project name: libsoup
Project version: 3.1.3
C compiler for the host machine: cl (msvc 19.32.31332 "Microsoft (R) C/C++ Optimizing Compiler Version 19.32.31332 for x64")
C linker for the host machine: link link 14.32.31332.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments /utf-8: YES
Found pkg-config: c:\strawberry_msvc_x86_64_debug\bin\pkg-config.EXE (1.8.0)
Run-time dependency glib-2.0 found: YES 2.73.3
Run-time dependency gmodule-2.0 found: YES 2.73.3
Run-time dependency gobject-2.0 found: YES 2.73.3
Run-time dependency gio-2.0 found: YES 2.73.3
Run-time dependency libnghttp2 found: YES 1.49.90
Run-time dependency sqlite3 found: YES 3.38.1
Run-time dependency libbrotlidec found: YES 1.0.9
Found CMake: C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.EXE (3.22.22040401)
Run-time dependency gio-unix-2.0 found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency gio-unix-2.0
Neither a subproject directory nor a glib.wrap file was found.
Subproject glib is buildable: NO (disabling)
Dependency gio-unix-2.0 from subproject glib found: NO (subproject failed to configure)
Library ws2_32 found: YES
Run-time dependency libpsl found: YES 0.21.1
cl.exe does not actually support gnu standards, and meson will instead demote to the nearest ISO C standard. This may cause compilation to fail.
Checking for function "gmtime_r" : NO
Dependency sysprof-capture-4 skipped: feature sysprof disabled
Run-time dependency zlib found: YES 1.2.12
Program apachectl /sbin/apachectl /usr/sbin/apachectl found: NO
Program httpd2 httpd apache2 apache /sbin/httpd2 /sbin/httpd /sbin/apache2 /sbin/apache /usr/sbin/httpd2 /usr/sbin/httpd /usr/sbin/apache2 /usr/sbin/apache found: NO
Run-time dependency gnutls found: YES 3.7.3
meson.build:293: WARNING: Some regression tests will not be compiled due to missing libraries or modules. Please check the logs for more details.
Library gssapi64 skipped: feature gssapi disabled
Program g-ir-scanner skipped: feature introspection disabled
Compiler for language vala skipped: feature vapi disabled
Configuring config.h using configuration
Program generate-version-header.py found: YES (C:\Program Files\Meson\meson.exe runpython C:\Data\Projects\strawberry\msvc_\build_debug\libsoup\libsoup\generate-version-header.py)
Configuring soup-version.h with command
Program glib-mkenums found: YES (C:\Program Files\Meson\meson.exe runpython c:\strawberry_msvc_x86_64_debug\bin\glib-mkenums)
Program glib-mkenums found: YES (C:\Program Files\Meson\meson.exe runpython c:\strawberry_msvc_x86_64_debug\bin\glib-mkenums)
Program glib-mkenums found: YES (C:\Program Files\Meson\meson.exe runpython c:\strawberry_msvc_x86_64_debug\bin\glib-mkenums)
Program glib-mkenums found: YES (C:\Program Files\Meson\meson.exe runpython c:\strawberry_msvc_x86_64_debug\bin\glib-mkenums)
Program xgettext found: YES (C:\Program Files\Git\usr\bin\xgettext.EXE)
Program msgfmt found: YES (C:\Program Files\Git\usr\bin\msgfmt.EXE)
Program msginit found: YES (C:\Program Files\Git\usr\bin\msginit.EXE)
Program msgmerge found: YES (C:\Program Files\Git\usr\bin\msgmerge.EXE)
Program xgettext found: YES (C:\Program Files\Git\usr\bin\xgettext.EXE)
Compiler for C supports arguments -fsanitize=fuzzer,address,undefined: NO
Found pkg-config: c:\strawberry_msvc_x86_64_debug\bin\pkg-config.EXE (1.8.0)
Found CMake: C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.EXE (3.22.22040401)
Build-time dependency gi-docgen found: NO (tried pkgconfig and cmake)
Looking for a fallback subproject for the dependency gi-docgen
Cloning into 'gi-docgen'...
remote: Enumerating objects: 149, done.
remote: Counting objects: 100% (149/149), done.
remote: Compressing objects: 100% (136/136), done.
remote: Total 149 (delta 24), reused 96 (delta 10), pack-reused 0
Receiving objects: 100% (149/149), 2.47 MiB | 1.75 MiB/s, done.
Resolving deltas: 100% (24/24), done.
Executing subproject gi-docgen
gi-docgen| Project name: gi-docgen
gi-docgen| Project version: 2022.2
gi-docgen| Program C:\Program Files\Python310\python (jinja2, markdown, markupsafe, pygments, toml, typogrify) found: NO
gi-docgen| subprojects\gi-docgen\meson.build:10:0: Exception: python3 is missing modules: jinja2, markdown, markupsafe, pygments, toml, typogrify
Subproject subprojects\gi-docgen is buildable: NO (disabling)
Dependency gi-docgen from subproject gi-docgen found: NO (subproject failed to configure)
docs\reference\meson.build:23: WARNING: Documentation will not be built as introspection was disabled
Build targets in project: 80
libsoup 3.1.3
Directories
prefix : c:\strawberry_msvc_x86_64_debug
libdir : lib
datadir : share
Features
GSSAPI : False
NTLM : False
Brotli : True
Translations : True
GIR : False
VAPI : False
Documentation : False
Testing
All tests : False
Tests requiring Apache: False
Documentation tests : False
Fuzzing tests : False
Autobahn tests : False
PKCS #11 tests : True
Install tests : False
Unix sockets : False
Subprojects
gi-docgen : NO python3 is missing modules: jinja2, markdown, markupsafe, pygments, toml, typogrify
glib : NO Neither a subproject directory nor a glib.wrap file was found.
User defined options
buildtype : debug
pkg_config_path : c:\strawberry_msvc_x86_64_debug\lib\pkgconfig
prefix : c:\strawberry_msvc_x86_64_debug
gssapi : disabled
introspection : disabled
sysprof : disabled
tests : false
tls_check : false
vapi : disabled
Found ninja-1.10.2 at "C:\Program Files\Meson\ninja.EXE"
c:\Data\Projects\strawberry\msvc_\build_debug\libsoup>cd build || goto end
c:\Data\Projects\strawberry\msvc_\build_debug\libsoup\build>ninja || goto end
[72/239] Compiling C object libsoup/soup-3.0-0.dll.p/content-decoder_soup-content-processor.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[73/239] Compiling C object libsoup/soup-3.0-0.dll.p/cache_soup-cache-input-stream.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[74/239] Compiling C object libsoup/soup-3.0-0.dll.p/meson-generated_.._soup-private-enum-types.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[75/239] Compiling C object libsoup/soup-3.0-0.dll.p/auth_soup-tls-interaction.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[76/239] Compiling C object libsoup/soup-3.0-0.dll.p/cache_soup-cache-client-input-stream.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[77/239] Compiling C object libsoup/soup-3.0-0.dll.p/auth_soup-auth-negotiate.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[78/239] Compiling C object libsoup/soup-3.0-0.dll.p/auth_soup-auth.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[79/239] Compiling C object libsoup/soup-3.0-0.dll.p/content-decoder_soup-content-decoder.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[80/239] Compiling C object libsoup/soup-3.0-0.dll.p/auth_soup-connection-auth.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[81/239] Compiling C object libsoup/soup-3.0-0.dll.p/cookies_soup-cookie.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/cookies/soup-cookie.c(1046): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
[82/239] Compiling C object libsoup/soup-3.0-0.dll.p/auth_soup-auth-ntlm.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[83/239] Compiling C object libsoup/soup-3.0-0.dll.p/auth_soup-auth-manager.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/auth/soup-auth-manager.c(275): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
[84/239] Compiling C object libsoup/soup-3.0-0.dll.p/cache_soup-cache.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[85/239] Compiling C object libsoup/soup-3.0-0.dll.p/cookies_soup-cookie-jar.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/cookies/soup-cookie-jar.c(272): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
../libsoup/cookies/soup-cookie-jar.c(273): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
[86/239] Compiling C object libsoup/soup-3.0-0.dll.p/content-decoder_soup-converter-wrapper.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[87/239] Compiling C object libsoup/soup-3.0-0.dll.p/content-sniffer_soup-content-sniffer.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[88/239] Compiling C object libsoup/soup-3.0-0.dll.p/content-sniffer_soup-content-sniffer-stream.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[89/239] Compiling C object libsoup/soup-3.0-0.dll.p/hsts_soup-hsts-enforcer-db.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[90/239] Compiling C object libsoup/soup-3.0-0.dll.p/cookies_soup-cookie-jar-db.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[91/239] Compiling C object libsoup/soup-3.0-0.dll.p/http1_soup-body-input-stream.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/http1/soup-body-input-stream.c(201): warning C4018: '<': signed/unsigned mismatch
../libsoup/http1/soup-body-input-stream.c(273): warning C4018: '<': signed/unsigned mismatch
[92/239] Compiling C object libsoup/soup-3.0-0.dll.p/http1_soup-message-io-source.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[93/239] Compiling C object libsoup/soup-3.0-0.dll.p/hsts_soup-hsts-enforcer.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[94/239] Compiling C object libsoup/soup-3.0-0.dll.p/hsts_soup-hsts-policy.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[95/239] Compiling C object libsoup/soup-3.0-0.dll.p/http1_soup-message-io-data.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[96/239] Compiling C object libsoup/soup-3.0-0.dll.p/cookies_soup-cookie-jar-text.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[97/239] Compiling C object libsoup/soup-3.0-0.dll.p/http1_soup-client-message-io-http1.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/http1/soup-client-message-io-http1.c(330): warning C4018: '<': signed/unsigned mismatch
../libsoup/http1/soup-client-message-io-http1.c(458): warning C4133: 'function': incompatible types - from 'SoupStatus *' to 'guint *'
[98/239] Compiling C object libsoup/soup-3.0-0.dll.p/server_soup-auth-domain.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[99/239] Compiling C object libsoup/soup-3.0-0.dll.p/http1_soup-body-output-stream.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/http1/soup-body-output-stream.c(152): warning C4018: '<': signed/unsigned mismatch
[100/239] Compiling C object libsoup/soup-3.0-0.dll.p/server_soup-path-map.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/server/soup-path-map.c(92): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
../libsoup/server/soup-path-map.c(140): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
[101/239] Compiling C object libsoup/soup-3.0-0.dll.p/http2_soup-body-input-stream-http2.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[102/239] Compiling C object libsoup/soup-3.0-0.dll.p/server_soup-auth-domain-digest.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/server/soup-auth-domain-digest.c(342): warning C4311: 'type cast': pointer truncation from 'SoupServerMessage *' to 'unsigned long'
[103/239] Compiling C object libsoup/soup-3.0-0.dll.p/server_http1_soup-server-message-io-http1.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/server/http1/soup-server-message-io-http1.c(433): warning C4018: '<': signed/unsigned mismatch
[104/239] Compiling C object libsoup/soup-3.0-0.dll.p/server_soup-message-body.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/server/soup-message-body.c(314): warning C4018: '<': signed/unsigned mismatch
[105/239] Compiling C object libsoup/soup-3.0-0.dll.p/server_http2_soup-server-message-io-http2.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[106/239] Compiling C object libsoup/soup-3.0-0.dll.p/server_soup-auth-domain-basic.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[107/239] Compiling C object libsoup/soup-3.0-0.dll.p/http2_soup-client-message-io-http2.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/http2/soup-client-message-io-http2.c(1094): warning C4267: 'function': conversion from 'size_t' to 'guint', possible loss of data
[108/239] Compiling C object libsoup/soup-3.0-0.dll.p/websocket_soup-websocket-extension-deflate.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[109/239] Compiling C object libsoup/soup-3.0-0.dll.p/websocket_soup-websocket.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[112/239] Compiling C object libsoup/soup-3.0-0.dll.p/server_soup-server-message-io.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[113/239] Compiling C object libsoup/soup-3.0-0.dll.p/websocket_soup-websocket-extension-manager.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[114/239] Compiling C object libsoup/soup-3.0-0.dll.p/websocket_soup-websocket-extension.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[115/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-client-message-io.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[116/239] Compiling C object libsoup/soup-3.0-0.dll.p/server_soup-server-message.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[117/239] Compiling C object libsoup/soup-3.0-0.dll.p/websocket_soup-websocket-connection.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/websocket/soup-websocket-connection.c(187): warning C4018: '<': signed/unsigned mismatch
[118/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-client-input-stream.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[119/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-filter-input-stream.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[120/239] Compiling C object libsoup/soup-3.0-0.dll.p/server_soup-server.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[121/239] Compiling C object libsoup/soup-3.0-0.dll.p/meson-generated_.._soup-enum-types.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[122/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-http2-utils.c.obj
FAILED: libsoup/soup-3.0-0.dll.p/soup-http2-utils.c.obj
"cl" "-Ilibsoup\soup-3.0-0.dll.p" "-Ilibsoup" "-I..\libsoup" "-I." "-I.." "-I..\libsoup\auth" "-I..\libsoup\cookies" "-I..\libsoup\content-decoder" "-I..\libsoup\hsts" "-I..\libsoup\http1" "-I..\libsoup\http2" "-I..\libsoup\server" "-I..\libsoup\server\http1" "-I..\libsoup\server\http2" "-I..\libsoup\websocket" "-Ic:/strawberry_msvc_x86_64_debug/include/glib-2.0" "-Ic:/strawberry_msvc_x86_64_debug/lib/glib-2.0/include" "-IC:/strawberry_msvc_x86_64_debug/include" "-Ic:/strawberry_msvc_x86_64_debug/include" "-Ic:/strawberry_msvc_x86_64_debug/include/opus" "/MDd" "/nologo" "/showIncludes" "/utf-8" "/W3" "/Od" "/Zi" "-D_DEFAULT_SOURCE" "-Dssize_t=gssize" "/utf-8" "-DHAVE_CONFIG_H" "/FImsvc_recommended_pragmas.h" "-DG_LOG_DOMAIN=\"libsoup\"" "-DLIBSOUP_COMPILATION" "/Fdlibsoup\soup-3.0-0.dll.p\soup-http2-utils.c.pdb" /Folibsoup/soup-3.0-0.dll.p/soup-http2-utils.c.obj "/c" ../libsoup/soup-http2-utils.c
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(938): error C2143: syntax error: missing ')' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(938): error C2143: syntax error: missing '{' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(938): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(956): error C2061: syntax error: identifier 'nghttp2_data_source_read_callback'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(957): error C2059: syntax error: '}'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(1339): error C2143: syntax error: missing ')' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(1339): error C2143: syntax error: missing '{' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(1339): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(1416): error C2143: syntax error: missing ')' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(1416): error C2143: syntax error: missing '{' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(1416): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(1900): error C2143: syntax error: missing ')' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(1900): error C2143: syntax error: missing '{' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(1900): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(1930): error C2143: syntax error: missing ')' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(1930): error C2143: syntax error: missing '{' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(1930): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2053): error C2143: syntax error: missing ')' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2053): error C2143: syntax error: missing '{' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2053): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2161): error C2146: syntax error: missing ')' before identifier 'send_callback'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2161): error C2081: 'nghttp2_send_callback': name in formal parameter list illegal
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2161): error C2061: syntax error: identifier 'send_callback'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2161): error C2059: syntax error: ';'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2161): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2172): error C2146: syntax error: missing ')' before identifier 'recv_callback'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2172): error C2081: 'nghttp2_recv_callback': name in formal parameter list illegal
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2172): error C2061: syntax error: identifier 'recv_callback'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2172): error C2059: syntax error: ';'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2172): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2308): error C2146: syntax error: missing ')' before identifier 'select_padding_callback'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2308): error C2081: 'nghttp2_select_padding_callback': name in formal parameter list illegal
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2308): error C2061: syntax error: identifier 'select_padding_callback'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2308): error C2059: syntax error: ';'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2308): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2319): error C2146: syntax error: missing ')' before identifier 'data_source_read_length_callback'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2319): error C2081: 'nghttp2_data_source_read_length_callback': name in formal parameter list illegal
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2319): error C2061: syntax error: identifier 'data_source_read_length_callback'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2319): error C2059: syntax error: ';'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2319): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2349): error C2146: syntax error: missing ')' before identifier 'pack_extension_callback'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2349): error C2081: 'nghttp2_pack_extension_callback': name in formal parameter list illegal
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2349): error C2061: syntax error: identifier 'pack_extension_callback'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2349): error C2059: syntax error: ';'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(2349): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3011): error C2061: syntax error: identifier 'nghttp2_session_mem_send'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3011): error C2059: syntax error: ';'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3011): error C2059: syntax error: '<parameter-list>'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3121): error C2061: syntax error: identifier 'nghttp2_session_mem_recv'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3121): error C2059: syntax error: ';'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3121): error C2059: syntax error: '<parameter-list>'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3810): error C2061: syntax error: identifier 'nghttp2_pack_settings_payload'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3810): error C2059: syntax error: ';'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3811): error C2059: syntax error: '<parameter-list>'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3947): error C2143: syntax error: missing ')' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3947): error C2143: syntax error: missing '{' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3948): error C2059: syntax error: 'type'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(3948): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(4017): error C2143: syntax error: missing ')' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(4017): error C2143: syntax error: missing '{' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(4017): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(4215): error C2143: syntax error: missing ')' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(4215): error C2143: syntax error: missing '{' before '*'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(4215): error C2059: syntax error: ')'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(5215): error C2061: syntax error: identifier 'nghttp2_hd_deflate_hd'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(5215): error C2059: syntax error: ';'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(5215): error C2059: syntax error: '<parameter-list>'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(5248): error C2061: syntax error: identifier 'nghttp2_hd_deflate_hd_vec'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(5248): error C2059: syntax error: ';'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(5248): error C2059: syntax error: '<parameter-list>'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(5487): error C2061: syntax error: identifier 'nghttp2_hd_inflate_hd'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(5487): error C2059: syntax error: ';'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(5487): error C2059: syntax error: '<parameter-list>'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(5575): error C2061: syntax error: identifier 'nghttp2_hd_inflate_hd2'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(5575): error C2059: syntax error: ';'
C:\strawberry_msvc_x86_64_debug\include\nghttp2/nghttp2.h(5575): error C2059: syntax error: '<parameter-list>'
[124/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-connection-manager.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[125/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-form.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[126/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-date-utils.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/soup-date-utils.c(230): warning C4267: '=': conversion from 'size_t' to 'gint32', possible loss of data
[127/239] Compiling C object libsoup/soup-3.0-0.dll.p/server_soup-listener.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[128/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-headers.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/soup-headers.c(641): warning C4267: '=': conversion from 'size_t' to 'guint', possible loss of data
../libsoup/soup-headers.c(924): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
[129/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-io-stream.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[130/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-multipart.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
../libsoup/soup-multipart.c(158): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
../libsoup/soup-multipart.c(248): warning C4018: '>=': signed/unsigned mismatch
[131/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-logger-input-stream.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[132/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-message-queue-item.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[133/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-logger.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[134/239] Compiling C object libsoup/soup-3.0-0.dll.p/server_soup-server-connection.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
[135/239] Compiling C object libsoup/soup-3.0-0.dll.p/soup-connection.c.obj
c:\strawberry_msvc_x86_64_debug\include\glib-2.0\gio/gioenumtypes.h(1): warning C4828: The file contains a character starting at offset 0xe8 that is illegal in the current source character set (codepage 65001).
ninja: build stopped: subcommand failed.
C:\Data\Projects\strawberry\strawberry-msvc>
I managed to compile with the following patch:
diff --git a/libsoup/soup-http2-utils.h b/libsoup/soup-http2-utils.h
index f3a7c73..a30ca83 100644
--- a/libsoup/soup-http2-utils.h
+++ b/libsoup/soup-http2-utils.h
@@ -4,6 +4,13 @@
#pragma once
+#ifdef _MSC_VER
+#include <BaseTsd.h>
+typedef SSIZE_T ssize_t;
+#else
+#include <unistd.h>
+#endif
+
#include <nghttp2/nghttp2.h>
#define NGCHECK(stm)
``` \
I saw the following in meson.build. I am not familiar with meson so I don't know how to fix this properly.
define ssize_t as Microsoft's headers do not define it
if cc.get_argument_syntax() == 'msvc' add_project_arguments('-Dssize_t=gssize', language: 'c') endif