hughsie / libxmlb Goto Github PK
View Code? Open in Web Editor NEWA library to help create and query binary XML blobs
License: GNU Lesser General Public License v2.1
A library to help create and query binary XML blobs
License: GNU Lesser General Public License v2.1
Hi!
I love this bug (it has cost me so much time and is so bizarre!). I was investigating some extremely odd AppStream behavior which I thought was a bug in my token processing code. Ultimately though it turned out that if you put in a bunch of magic words, the silo gets a corrupted string table and creates a completely weird DOM that kind of looks like memory was read at random.
I really hope others can reproduce this too!
The quickest way to reproduce this issue is to add these lines:
xb_builder_node_add_token (id, "paciencia");
xb_builder_node_add_token (id, "posta");
xb_builder_node_add_token (id, "prasentation");
xb_builder_node_add_token (id, "proyectos");
xb_builder_node_add_token (id, "puntuació");
xb_builder_node_add_token (id, "puzl");
xb_builder_node_add_token (id, "quebracabezas");
xb_builder_node_add_token (id, "raspakovnj");
xb_builder_node_add_token (id, "riječ");
xb_builder_node_add_token (id, "ripador");
xb_builder_node_add_token (id, "riverbero");
xb_builder_node_add_token (id, "sécurisé");
xb_builder_node_add_token (id, "seguretat");
xb_builder_node_add_token (id, "skanowani");
xb_builder_node_add_token (id, "slika");
xb_builder_node_add_token (id, "slika");
xb_builder_node_add_token (id, "slika");
xb_builder_node_add_token (id, "songtek");
xb_builder_node_add_token (id, "strategická");
xb_builder_node_add_token (id, "tahak");
xb_builder_node_add_token (id, "tallennin");
xb_builder_node_add_token (id, "teleporti");
xb_builder_node_add_token (id, "testu");
xb_builder_node_add_token (id, "torlő");
xb_builder_node_add_token (id, "traçar");
xb_builder_node_add_token (id, "udelat");
xb_builder_node_add_token (id, "vídeo");
xb_builder_node_add_token (id, "wiedergab");
xb_builder_node_add_token (id, "wtyczki");
xb_builder_node_add_token (id, "zvuk");
to line 2100 in the self test: https://github.com/hughsie/libxmlb/blob/main/src/xb-self-test.c#L2100
The test should then suddenly be unable to read the generated silo, failing with:
ERROR:../src/xb-self-test.c:2186:xb_builder_node_func: assertion failed ("<components origin=\"lvfs\">" "<component type=\"desktop\">" "<id>gimp.desktop</id>" "<icon type=\"stock\">dave</icon>" "<description>hello <em>world!</em>" "</description>" "</component>" "</components>" == xml):
("<components origin=\"lvfs\"><component type=\"desktop\"><id>gimp.desktop</id><icon type=\"stock\">dave</icon><description>hello <em>world!</em></description></component></components>" == "<onents in=\"\"><onent =\"top\"><con>.desktop</con>< =\"k\"></><ription>o <rigin>d!</rigin></ription></onent></onents>")
The weirdest thing is that if you remove some of these words, the test will suddenly pass again... I tried to remove as many terms as possible, and that's the smallest list that I could come up with.
@hughsie Do you have any idea what could be going on here? I suspect some unicode or integer overflow fun, but the former seems unlikely as even Japanese characters are processed just fine, and the latter just doesn't make much sense either.
Noticed in the most recent snap build log that libxmlb is failing to build.
[12/26] Compiling C object 'src/src@@xb-self-test@exe/xb-builder-source.c.o'.
../src/xb-machine.c: In function ‘xb_machine_parse_add_text_raw’:
../src/xb-machine.c:303:6: warning: implicit declaration of function ‘g_ascii_string_to_unsigned’ [-Wimplicit-function-declaration]
if (g_ascii_string_to_unsigned (str, 10, 0, G_MAXUINT32, &val, NULL)) {
^
../src/xb-machine.c:303:2: warning: nested extern declaration of ‘g_ascii_string_to_unsigned’ [-Wnested-externs]
if (g_ascii_string_to_unsigned (str, 10, 0, G_MAXUINT32, &val, NULL)) {
^
[13/26] Compiling C object 'src/src@@xb-self-test@exe/xb-builder.c.o'.
[14/26] Compiling C object 'src/src@@xb-tool@exe/xb-tool.c.o'.
[15/26] Compiling C object 'src/src@@xb-self-test@exe/xb-machine.c.o'.
[16/26] Compiling C object 'src/src@@xb-self-test@exe/xb-node.c.o'.
../src/xb-silo.c: In function ‘xb_silo_machine_func_number_cb’:
../src/xb-silo.c:1044:8: warning: implicit declaration of function ‘g_ascii_string_to_unsigned’ [-Wimplicit-function-declaration]
if (!g_ascii_string_to_unsigned (xb_opcode_get_str (op1),
^
../src/xb-silo.c:1044:3: warning: nested extern declaration of ‘g_ascii_string_to_unsigned’ [-Wnested-externs]
if (!g_ascii_string_to_unsigned (xb_opcode_get_str (op1),
^
[17/26] Linking target src/libxmlb.so.1.0.0.
[18/26] Compiling C object 'src/src@@xb-self-test@exe/xb-self-test.c.o'.
FAILED: cc -o src/libxmlb.so.1.0.0 'src/src@@xmlb@sha/xb-builder.c.o' 'src/src@@xmlb@sha/xb-builder-node.c.o' 'src/src@@xmlb@sha/xb-builder-source.c.o' 'src/src@@xmlb@sha/xb-machine.c.o' 'src/src@@xmlb@sha/xb-opcode.c.o' 'src/src@@xmlb@sha/xb-node.c.o' 'src/src@@xmlb@sha/xb-silo.c.o' 'src/src@@xmlb@sha/xb-silo-export.c.o' 'src/src@@xmlb@sha/xb-silo-query.c.o' 'src/src@@xmlb@sha/xb-string.c.o' -I/build/fwupd/stage/include -L/build/fwupd/stage/lib -L/build/fwupd/stage/usr/lib -L/build/fwupd/stage/lib/x86_64-linux-gnu -L/build/fwupd/stage/usr/lib/x86_64-linux-gnu -Wl,--no-undefined -Wl,--as-needed -shared -fPIC -Wl,--start-group -Wl,-soname,libxmlb.so.1 -Wl,-z,relro -Wl,-z,now -Wl,--version-script,/build/fwupd/parts/libxmlb-dev/build/src/libxmlb.map -lgio-2.0 -lgobject-2.0 -lglib-2.0 -luuid -Wl,--end-group
src/src@@xmlb@sha/xb-machine.c.o: In function `xb_machine_parse_add_text_raw':
/build/fwupd/parts/libxmlb-dev/build/snapbuild/../src/xb-machine.c:303: undefined reference to `g_ascii_string_to_unsigned'
src/src@@xmlb@sha/xb-machine.c.o: In function `xb_machine_func_eq_cb':
/build/fwupd/parts/libxmlb-dev/build/snapbuild/../src/xb-machine.c:889: undefined reference to `g_ascii_string_to_unsigned'
/build/fwupd/parts/libxmlb-dev/build/snapbuild/../src/xb-machine.c:905: undefined reference to `g_ascii_string_to_unsigned'
src/src@@xmlb@sha/xb-machine.c.o: In function `xb_machine_func_ne_cb':
/build/fwupd/parts/libxmlb-dev/build/snapbuild/../src/xb-machine.c:955: undefined reference to `g_ascii_string_to_unsigned'
src/src@@xmlb@sha/xb-machine.c.o: In function `xb_machine_func_lt_cb':
/build/fwupd/parts/libxmlb-dev/build/snapbuild/../src/xb-machine.c:1004: undefined reference to `g_ascii_string_to_unsigned'
src/src@@xmlb@sha/xb-machine.c.o:/build/fwupd/parts/libxmlb-dev/build/snapbuild/../src/xb-machine.c:1054: more undefined references to `g_ascii_string_to_unsigned' follow
collect2: error: ld returned 1 exit status
../src/xb-machine.c: In function ‘xb_machine_parse_add_text_raw’:
../src/xb-machine.c:303:6: warning: implicit declaration of function ‘g_ascii_string_to_unsigned’ [-Wimplicit-function-declaration]
if (g_ascii_string_to_unsigned (str, 10, 0, G_MAXUINT32, &val, NULL)) {
^
../src/xb-machine.c:303:2: warning: nested extern declaration of ‘g_ascii_string_to_unsigned’ [-Wnested-externs]
if (g_ascii_string_to_unsigned (str, 10, 0, G_MAXUINT32, &val, NULL)) {
^
ninja: build stopped: subcommand failed.
It's using libxmlb 0.1.2 currently not the subproject wip/subproject
branch.
Hello,
On debian unstable (libxmlb 0.1.15) I get the following GLIB critical coming from libxmlb:
xb_builder_node_unlink: assertion 'XB_IS_BUILDER_NODE (self)' failed
This can be easily reproduce with the following commands:
$ appstreamcli convert /var/lib/app-info/yaml/ftp.be.debian.org_debian_dists_sid_main_dep11_Components-amd64.yml.gz /tmp/Components-amd64.xml
$ /usr/lib/x86_64-linux-gnu/xb-tool compile /tmp/Components-amd64.xmlb /tmp/Components-amd64.xml
(xb-tool:1900889): XbSilo-CRITICAL **: 19:03:14.826: xb_builder_node_unlink: assertion 'XB_IS_BUILDER_NODE (self)' failed
[...]
If somebody want to test and is not running a debian the yaml file can be downloaded at: http://ftp.debian.org/debian/dists/sid/main/dep11/Components-amd64.yml.gz
The original bug has been opened on the gnome-shell project, but the problem seems to be in libxmlb in the end.
This is tricky to fix as xb_string_search is in the fast path and we don't want to allocate memory.
with the recent xz CVE would it be possible to make lzma optional aswell in meson options? without knowing much of the source code it is perhaps to tightly integrated? but never hurts to ask.
I am curious why xb-tool is installed to libexec instead of bin, as README.md suggests it should be callable by the user and thus available in PATH, but typically libexec is not included in PATH, and arguably it shouldn't be. from https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html:
/usr/libexec includes internal binaries that are not intended to be executed directly by users or shell scripts.
Thanks!
Looks like libxmlb is not ready for meson 1.2.x.
+ /usr/bin/meson setup --buildtype=plain --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/libexec --bindir=/usr/bin --sbindir=/usr/sbin --includedir=/usr/include --datadir=/usr/share --mandir=/usr/share/man --infodir=/usr/share/info --localedir=/usr/share/locale --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib --wrap-mode=nodownload --auto-features=enabled . x86_64-redhat-linux-gnu -D gtkdoc=true -D tests=true
The Meson build system
Version: 1.2.1
Source dir: /home/tkloczko/rpmbuild/BUILD/libxmlb-0.3.13
Build dir: /home/tkloczko/rpmbuild/BUILD/libxmlb-0.3.13/x86_64-redhat-linux-gnu
Build type: native build
Project name: libxmlb
Project version: 0.3.13
C compiler for the host machine: /usr/bin/gcc (gcc 13.2.1 "gcc (GCC) 13.2.1 20230728 (Red Hat 13.2.1-1)")
C linker for the host machine: /usr/bin/gcc ld.bfd 2.40-13
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (1.9.5)
Run-time dependency gio-2.0 found: YES 2.77.2
Run-time dependency gio-unix-2.0 found: YES 2.77.2
Run-time dependency liblzma found: YES 5.4.4
Run-time dependency libzstd found: YES 1.5.5
Configuring config.h using configuration
Program python3 found: YES (/usr/bin/python3)
data/meson.build:2: WARNING: Project targets '>=0.47.0' but uses feature introduced in '0.50.0': install arg in configure_file.
Configuring libxmlb.test using configuration
Configuring xb-version.h using configuration
src/meson.build:75:11: ERROR: Unknown variable "release_args".
The autopkgtests for libxmlb in Ubuntu failed a couple of times recently on amd64, and I managed to reproduce the failure by running the test in an infinite loop.
I'm attaching a full log. The test always appears to hang after ok 14 /libxmlb/builder{ensure}
, and it prints Executing: libxmlb/libxmlb.test
every 5 seconds until it times out after 5 minutes.
This is on Ubuntu groovy (amd64).
libxmlb assumes the result of a gzipped file is XML, instead of checking the MIME type of the decompressed data. This means that .yml.gz files can't be handled by the converter.
Hi,
I’m trying to build libxmlb in order to update fwupd to 1.2.0, but I have a failure in tests: https://paste.xinu.at/oWV40/
Any hint?
Currently one must call xb_builder_add_locale()
on an XbBuilder object to add system locales before using xb_builder_compile()
, at least if one is using XB_BUILDER_COMPILE_FLAG_SINGLE_LANG
. @pwithnall proposed an alternative way for it to work here:
Seems a bit odd that most instances of XbBuilder have to have this loop called on them, using the results of g_get_language_names(), before they will work properly.
Looking at the implementation, it basically checks any node which has an xml:lang attribute set. If the attribute value is not in the set of locales, that node is ignored.
Seems like it would be faster and more convenient to have an XbBuilder:use-system-locales property, which tells XbBuilder to check for set inclusion against g_get_language_names() internally. Then you don’t need to set it up, or copy a list of strings.
I'm using xb_node_export()
for a node that I know doesn't have any children, and the XML built is in the following format:
<node attr1="val1" attr2="val2"></node>
Is there any way to export the node so that it looks like this instead?
<node attr1="val1" attr2="val2" />
None of the XbNodeExportFlags
seem to support this?
For some context, I'm using libxmlb to parse and generate XML transferred from/to the bootloader/programmer of a wwan device and it looks like the embedded XML parser is not very robust...
Hi, I am trying to build libxmlb on Windows so that I can build AppStream and upgrade libadwaita to version 1.4. I have zstd, docs, and introspection turned off for the build.
(tar) Exporting libxmlb
Building project libxmlb (0.3.14)
The Meson build system
Version: 1.2.1
Source dir: C:\gtk-build\build\x64\release\libxmlb
Build dir: C:\gtk-build\build\x64\release\libxmlb\_gvsbuild-meson
Build type: native build
Project name: libxmlb
Project version: 0.3.14
C compiler for the host machine: cl (msvc 19.37.32822 "Microsoft (R) C/C++ Optimizing Compiler Version 19.37.32822 for x64")
C linker for the host machine: link link 14.37.32822.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C supports arguments -Wno-aggregate-return: NO
Compiler for C supports arguments -Wunused: NO
Compiler for C supports arguments -Warray-bounds: NO
Compiler for C supports arguments -Wcast-align: NO
Compiler for C supports arguments -Wclobbered: NO
Compiler for C supports arguments -Wdeclaration-after-statement: NO
Compiler for C supports arguments -Wduplicated-branches: NO
Compiler for C supports arguments -Wduplicated-cond: NO
Compiler for C supports arguments -Wempty-body: NO
Compiler for C supports arguments -Wformat=2: NO
Compiler for C supports arguments -Wformat-nonliteral: NO
Compiler for C supports arguments -Wformat-security: NO
Compiler for C supports arguments -Wformat-signedness: NO
Compiler for C supports arguments -Wignored-qualifiers: NO
Compiler for C supports arguments -Wimplicit-function-declaration: NO
Compiler for C supports arguments -Wincompatible-pointer-types-discards-qualifiers: NO
Compiler for C supports arguments -Winit-self: NO
Compiler for C supports arguments -Wlogical-op: NO
Compiler for C supports arguments -Wmissing-declarations: NO
Compiler for C supports arguments -Wmissing-format-attribute: NO
Compiler for C supports arguments -Wmissing-include-dirs: NO
Compiler for C supports arguments -Wmissing-noreturn: NO
Compiler for C supports arguments -Wmissing-parameter-type: NO
Compiler for C supports arguments -Wmissing-prototypes: NO
Compiler for C supports arguments -Wnested-externs: NO
Compiler for C supports arguments -Wno-cast-function-type: NO
Compiler for C supports arguments -Wno-error=cpp: NO
Compiler for C supports arguments -Wno-unknown-pragmas: NO
Compiler for C supports arguments -Wno-discarded-qualifiers: NO
Compiler for C supports arguments -Wno-missing-field-initializers: NO
Compiler for C supports arguments -Wno-strict-aliasing: NO
Compiler for C supports arguments -Wno-suggest-attribute=format: NO
Compiler for C supports arguments -Wno-unused-parameter: NO
Compiler for C supports arguments -Wnull-dereference: NO
Compiler for C supports arguments -Wold-style-definition: NO
Compiler for C supports arguments -Woverride-init: NO
Compiler for C supports arguments -Wpointer-arith: NO
Compiler for C supports arguments -Wredundant-decls: NO
Compiler for C supports arguments -Wreturn-type: NO
Compiler for C supports arguments -Wshadow: NO
Compiler for C supports arguments -Wsign-compare: NO
Compiler for C supports arguments -Wstrict-aliasing: NO
Compiler for C supports arguments -Wstrict-prototypes: NO
Compiler for C supports arguments -Wswitch-default: NO
Compiler for C supports arguments -Wtype-limits: NO
Compiler for C supports arguments -Wundef: NO
Compiler for C supports arguments -Wuninitialized: NO
Compiler for C supports arguments -Wunused-but-set-variable: NO
Compiler for C supports arguments -Wunused-variable: NO
Compiler for C supports arguments -Wwrite-strings: NO
Compiler for C supports link arguments -Wl,-z,relro: NO
Compiler for C supports link arguments -Wl,-z,now: NO
Found pkg-config: C:\gtk-build\gtk\x64\release\bin\pkg-config.EXE (2.0.3)
Run-time dependency gio-2.0 found: YES 2.78.0
Found CMake: C:\gtk-build\tools\cmake-3.27.5-windows-x86_64\bin\cmake.EXE (3.27.5)
Run-time dependency gio-unix-2.0 found: NO (tried pkgconfig and cmake)
Run-time dependency liblzma found: YES 5.4.4
Run-time dependency libzstd found: NO (tried pkgconfig and cmake)
Configuring config.h using configuration
Program python3 found: YES
Configuring xb-version.h using configuration
Compiler for C supports link arguments -Wl,--version-script,C:\gtk-build\build\x64\release\libxmlb\src/libxmlb.map: NO
src\meson.build:105: WARNING: Project targets '>=0.47.0' but uses feature introduced in '0.50.0': install arg in configure_file.
Configuring xb-tool.1 using configuration
src\meson.build:214: WARNING: Project targets '>=0.47.0' but uses feature introduced in '0.56.0': meson.project_source_root.
src\meson.build:249: WARNING: Project targets '>=0.47.0' but uses feature introduced in '0.56.0': meson.project_source_root.
Build targets in project: 3
WARNING: Project specifies a minimum meson_version '>=0.47.0' but uses features which were added in newer versions:
* 0.50.0: {'install arg in configure_file'}
* 0.56.0: {'meson.project_source_root'}
NOTICE: Future-deprecated features used:
* 0.64.0: {'copy arg in configure_file'}
libxmlb 0.3.14
User defined options
buildtype : debugoptimized
prefix : C:\gtk-build\gtk\x64\release
gtkdoc : false
introspection: False
zstd : false
Found ninja-1.11.1 at C:\gtk-build\tools\ninja-1.11.1\ninja.EXE
[1/45] Compiling C object src/xmlb-2.dll.p/xb-builder-fixup.c.obj
FAILED: src/xmlb-2.dll.p/xb-builder-fixup.c.obj
"cl" "-Isrc\xmlb-2.dll.p" "-Isrc" "-I..\src" "-I." "-I.." "-IC:/gtk-build/gtk/x64/release/bin/../include" "-IC:/gtk-build/gtk/x64/release/bin/../include/glib-
2.0" "-IC:/gtk-build/gtk/x64/release/bin/../lib/glib-2.0/include" "-IC:/gtk-build/gtk/x64/release/include" "/MD" "/nologo" "/showIncludes" "/utf-8" "/W3" "/O2
" "/Zi" "-fstack-protector-strong" "-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_46" "-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_58" "/Fdsrc\xmlb-2.dll.p\xb-builder-fixup.c.pdb" /Fosrc/xmlb-2.dll.p/xb-builder-fixup.c.obj "/c" ../src/xb-builder-fixup.c
cl : Command line warning D9002 : ignoring unknown option '-fstack-protector-strong'
../src/xb-builder-fixup.c(96): warning C4013: 'g_autoptr' undefined; assuming extern returning int
../src/xb-builder-fixup.c(96): error C2275: 'GString': expected an expression instead of a type
../src/xb-builder-fixup.c(96): error C2146: syntax error: missing ';' before identifier 'str'
../src/xb-builder-fixup.c(96): error C2065: 'str': undeclared identifier
../src/xb-builder-fixup.c(96): warning C4047: '=': 'int' differs in levels of indirection from 'GString *'
../src/xb-builder-fixup.c(102): error C2065: 'str': undeclared identifier
../src/xb-builder-fixup.c(102): warning C4047: 'function': 'GString *' differs in levels of indirection from 'int'
../src/xb-builder-fixup.c(102): warning C4024: 'g_string_append': different types for formal and actual parameter 1
../src/xb-builder-fixup.c(104): error C2065: 'str': undeclared identifier
../src/xb-builder-fixup.c(104): warning C4047: 'function': 'GString *' differs in levels of indirection from 'int'
../src/xb-builder-fixup.c(104): warning C4024: 'g_string_append_printf': different types for formal and actual parameter 1
../src/xb-builder-fixup.c(105): error C2065: 'str': undeclared identifier
../src/xb-builder-fixup.c(105): warning C4047: ':': 'int' differs in levels of indirection from 'gpointer'
[2/45] Compiling C object src/xmlb-2.dll.p/xb-builder-node.c.obj
FAILED: src/xmlb-2.dll.p/xb-builder-node.c.obj
"cl" "-Isrc\xmlb-2.dll.p" "-Isrc" "-I..\src" "-I." "-I.." "-IC:/gtk-build/gtk/x64/release/bin/../include" "-IC:/gtk-build/gtk/x64/release/bin/../include/glib-
2.0" "-IC:/gtk-build/gtk/x64/release/bin/../lib/glib-2.0/include" "-IC:/gtk-build/gtk/x64/release/include" "/MD" "/nologo" "/showIncludes" "/utf-8" "/W3" "/O2
" "/Zi" "-fstack-protector-strong" "-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_46" "-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_58" "/Fdsrc\xmlb-2.dll.p\xb-builder-node.c.pdb" /Fosrc/xmlb-2.dll.p/xb-builder-node.c.obj "/c" ../src/xb-builder-node.c
cl : Command line warning D9002 : ignoring unknown option '-fstack-protector-strong'
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(93): error C2085: 'xb_machine_parse_full': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(101): error C2085: 'xb_machine_run': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(107): error C2085: 'xb_machine_run_with_bindings': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(115): error C2085: 'xb_machine_add_opcode_fixup': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(121): error C2085: 'xb_machine_add_text_handler': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(126): error C2085: 'xb_machine_add_method': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(133): error C2085: 'xb_machine_add_operator': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(136): error C2085: 'xb_machine_opcode_func_init': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(139): error C2085: 'xb_machine_stack_pop': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(141): error C2085: 'xb_machine_stack_push': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(143): error C2085: 'xb_machine_stack_push_text': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(145): error C2085: 'xb_machine_stack_push_text_static': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(150): error C2085: 'xb_machine_stack_push_text_steal': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(152): error C2085: 'xb_machine_stack_push_integer': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(154): error C2085: 'xb_machine_set_stack_size': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(156): error C2085: 'xb_machine_get_stack_size': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(14): error C2085: 'xb_query_get_type': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(14): error C2085: 'XbQuery': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(14): error C2085: 'XbQueryClass': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(14): error C2143: syntax error: missing ';' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(14): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(14): error C2065: 'XbQueryClass': undeclared identifier
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(14): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(14): warning C4013: 'xb_query_get_type' undefined; assuming extern returning int
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo.h(110): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(50): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(52): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(55): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(55): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(55): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(59): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(59): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(59): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(62): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(62): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(62): warning C4142: 'guint': benign redefinition of type
C:\gtk-build\gtk\x64\release\include\glib-2.0\glib/gtypes.h(61): note: see declaration of 'guint'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(62): error C2370: 'guint': redefinition; different storage class
C:\gtk-build\gtk\x64\release\include\glib-2.0\glib/gtypes.h(61): note: see declaration of 'guint'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(62): error C2146: syntax error: missing ';' before identifier 'limit'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(62): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(66): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(66): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(66): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(69): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(69): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(69): error C2370: 'XbQueryFlags': redefinition; different storage class
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(46): note: see declaration of 'XbQueryFlags'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(69): error C2146: syntax error: missing ';' before identifier 'flags'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(69): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(73): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(73): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(73): warning C4142: 'guint': benign redefinition of type
C:\gtk-build\gtk\x64\release\include\glib-2.0\glib/gtypes.h(61): note: see declaration of 'guint'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(73): error C2370: 'guint': redefinition; different storage class
C:\gtk-build\gtk\x64\release\include\glib-2.0\glib/gtypes.h(61): note: see declaration of 'guint'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(73): error C2146: syntax error: missing ';' before identifier 'idx'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(73): error C2371: 'gchar': redefinition; different basic types
C:\gtk-build\gtk\x64\release\include\glib-2.0\glib/gtypes.h(52): note: see declaration of 'gchar'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(73): warning C4228: nonstandard extension used: qualifiers after comma in declarator list are ignored
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(73): error C2143: syntax error: missing ';' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(73): error C2371: 'GError': redefinition; different basic types
C:\gtk-build\gtk\x64\release\include\glib-2.0\glib/gerror.h(43): note: see declaration of 'GError'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(73): error C2143: syntax error: missing ';' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(73): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(76): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(76): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(76): warning C4142: 'guint': benign redefinition of type
C:\gtk-build\gtk\x64\release\include\glib-2.0\glib/gtypes.h(61): note: see declaration of 'guint'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(76): error C2370: 'guint': redefinition; different storage class
C:\gtk-build\gtk\x64\release\include\glib-2.0\glib/gtypes.h(61): note: see declaration of 'guint'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(76): error C2146: syntax error: missing ';' before identifier 'idx'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(76): warning C4142: 'guint32': benign redefinition of type
C:\gtk-build\gtk\x64\release\lib\glib-2.0\include\glibconfig.h(56): note: see declaration of 'guint32'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(76): error C2370: 'guint32': redefinition; different storage class
C:\gtk-build\gtk\x64\release\lib\glib-2.0\include\glibconfig.h(56): note: see declaration of 'guint32'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(76): error C2146: syntax error: missing ';' before identifier 'val'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(76): error C2371: 'GError': redefinition; different basic types
C:\gtk-build\gtk\x64\release\include\glib-2.0\glib/gerror.h(43): note: see declaration of 'GError'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(76): error C2143: syntax error: missing ';' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-query.h(76): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(19): error C2054: expected '(' to follow 'packed'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(34): error C2059: syntax error: '<parameter-list>'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(41): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(41): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(41): error C2370: 'XbSiloNodeFlag': redefinition; different storage class
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(17): note: see declaration of 'XbSiloNodeFlag'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(41): error C2146: syntax error: missing ';' before identifier 'flag'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(41): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(42): error C2054: expected '(' to follow 'flag'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(47): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(47): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(47): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(48): error C2054: expected '(' to follow 'self'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(62): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(62): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(62): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(63): error C2054: expected '(' to follow 'self'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(69): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(69): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(69): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(70): error C2054: expected '(' to follow 'self'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(76): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(76): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(76): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(77): error C2054: expected '(' to follow 'self'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(83): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(83): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(83): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(84): error C2054: expected '(' to follow 'self'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(89): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(90): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(90): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(90): error C2371: 'guint8': redefinition; different basic types
C:\gtk-build\gtk\x64\release\lib\glib-2.0\include\glibconfig.h(45): note: see declaration of 'guint8'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(90): error C2146: syntax error: missing ';' before identifier 'idx'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(90): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(90): fatal error C1003: error count exceeds 100; stopping compilation
[3/45] Compiling C object src/xmlb-2.dll.p/xb-common.c.obj
FAILED: src/xmlb-2.dll.p/xb-common.c.obj
"cl" "-Isrc\xmlb-2.dll.p" "-Isrc" "-I..\src" "-I." "-I.." "-IC:/gtk-build/gtk/x64/release/bin/../include" "-IC:/gtk-build/gtk/x64/release/bin/../include/glib-
2.0" "-IC:/gtk-build/gtk/x64/release/bin/../lib/glib-2.0/include" "-IC:/gtk-build/gtk/x64/release/include" "/MD" "/nologo" "/showIncludes" "/utf-8" "/W3" "/O2
" "/Zi" "-fstack-protector-strong" "-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_46" "-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_58" "/Fdsrc\xmlb-2.dll.p\xb-common.c.pdb" /Fosrc/xmlb-2.dll.p/xb-common.c.obj "/c" ../src/xb-common.c
cl : Command line warning D9002 : ignoring unknown option '-fstack-protector-strong'
../src/xb-common.c(70): error C2065: 'g_autofree': undeclared identifier
../src/xb-common.c(70): error C2146: syntax error: missing ';' before identifier 'gchar'
../src/xb-common.c(70): error C2275: 'gchar': expected an expression instead of a type
../src/xb-common.c(70): error C2065: 'content_type': undeclared identifier
../src/xb-common.c(73): error C2065: 'content_type': undeclared identifier
../src/xb-common.c(73): warning C4047: '=': 'int' differs in levels of indirection from 'gchar *'
../src/xb-common.c(74): error C2065: 'content_type': undeclared identifier
../src/xb-common.c(74): warning C4047: 'function': 'const gchar *' differs in levels of indirection from 'int'
../src/xb-common.c(74): warning C4024: 'g_strstr_len': different types for formal and actual parameter 1
../src/xb-common.c(75): error C2065: 'content_type': undeclared identifier
../src/xb-common.c(75): warning C4047: 'function': 'const char *' differs in levels of indirection from 'int'
../src/xb-common.c(75): warning C4024: 'g_strcmp0': different types for formal and actual parameter 1
../src/xb-common.c(76): error C2065: 'content_type': undeclared identifier
../src/xb-common.c(76): warning C4047: 'function': 'const char *' differs in levels of indirection from 'int'
../src/xb-common.c(76): warning C4024: 'g_strcmp0': different types for formal and actual parameter 1
../src/xb-common.c(108): error C2065: 'content_type': undeclared identifier
../src/xb-common.c(108): warning C4047: ':': 'int' differs in levels of indirection from 'gpointer'
../src/xb-common.c(132): error C2065: 'g_autofree': undeclared identifier
../src/xb-common.c(132): error C2146: syntax error: missing ';' before identifier 'gchar'
../src/xb-common.c(132): error C2275: 'gchar': expected an expression instead of a type
../src/xb-common.c(132): error C2065: 'fn': undeclared identifier
../src/xb-common.c(142): error C2065: 'fn': undeclared identifier
../src/xb-common.c(142): warning C4047: 'function': 'const gchar *' differs in levels of indirection from 'int'
../src/xb-common.c(142): warning C4024: 'g_file_set_contents_full': different types for formal and actual parameter 1
../src/xb-common.c(142): warning C4996: 'g_file_set_contents_full': is not available before 2.66
[4/45] Compiling C object src/xmlb-2.dll.p/xb-builder-source.c.obj
FAILED: src/xmlb-2.dll.p/xb-builder-source.c.obj
"cl" "-Isrc\xmlb-2.dll.p" "-Isrc" "-I..\src" "-I." "-I.." "-IC:/gtk-build/gtk/x64/release/bin/../include" "-IC:/gtk-build/gtk/x64/release/bin/../include/glib-
2.0" "-IC:/gtk-build/gtk/x64/release/bin/../lib/glib-2.0/include" "-IC:/gtk-build/gtk/x64/release/include" "/MD" "/nologo" "/showIncludes" "/utf-8" "/W3" "/O2
" "/Zi" "-fstack-protector-strong" "-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_46" "-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_58" "/Fdsrc\xmlb-2.dll.p\xb-builder-source.c.pdb" /Fosrc/xmlb-2.dll.p/xb-builder-source.c.obj "/c" ../src/xb-builder-source.c
cl : Command line warning D9002 : ignoring unknown option '-fstack-protector-strong'
../src/xb-builder-source.c(82): error C2065: 'g_autofree': undeclared identifier
../src/xb-builder-source.c(82): error C2146: syntax error: missing ';' before identifier 'gchar'
../src/xb-builder-source.c(82): error C2275: 'gchar': expected an expression instead of a type
../src/xb-builder-source.c(82): error C2065: 'fn': undeclared identifier
../src/xb-builder-source.c(83): warning C4013: 'g_autoptr' undefined; assuming extern returning int
../src/xb-builder-source.c(83): error C2275: 'GFileInfo': expected an expression instead of a type
../src/xb-builder-source.c(83): error C2146: syntax error: missing ';' before identifier 'fileinfo'
../src/xb-builder-source.c(83): error C2065: 'fileinfo': undeclared identifier
../src/xb-builder-source.c(83): warning C4047: '=': 'int' differs in levels of indirection from 'void *'
../src/xb-builder-source.c(84): error C2275: 'GString': expected an expression instead of a type
../src/xb-builder-source.c(84): error C2146: syntax error: missing ';' before identifier 'guid'
../src/xb-builder-source.c(84): error C2065: 'guid': undeclared identifier
../src/xb-builder-source.c(84): warning C4047: '=': 'int' differs in levels of indirection from 'void *'
../src/xb-builder-source.c(93): error C2065: 'fileinfo': undeclared identifier
../src/xb-builder-source.c(93): warning C4047: '=': 'int' differs in levels of indirection from 'GFileInfo *'
../src/xb-builder-source.c(100): error C2065: 'fileinfo': undeclared identifier
../src/xb-builder-source.c(100): warning C4047: '==': 'int' differs in levels of indirection from 'void *'
../src/xb-builder-source.c(104): error C2065: 'fn': undeclared identifier
../src/xb-builder-source.c(104): warning C4047: '=': 'int' differs in levels of indirection from 'char *'
../src/xb-builder-source.c(105): error C2065: 'guid': undeclared identifier
../src/xb-builder-source.c(105): error C2065: 'fn': undeclared identifier
../src/xb-builder-source.c(105): warning C4047: 'function': 'const gchar *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(105): warning C4024: 'g_string_new': different types for formal and actual parameter 1
../src/xb-builder-source.c(105): warning C4047: '=': 'int' differs in levels of indirection from 'GString *'
../src/xb-builder-source.c(106): error C2065: 'fileinfo': undeclared identifier
../src/xb-builder-source.c(106): warning C4047: 'function': 'GFileInfo *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(106): warning C4024: 'g_file_info_get_attribute_uint64': different types for formal and actual parameter 1
../src/xb-builder-source.c(108): error C2065: 'guid': undeclared identifier
../src/xb-builder-source.c(108): warning C4047: 'function': 'GString *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(108): warning C4024: 'g_string_append_printf': different types for formal and actual parameter 1
../src/xb-builder-source.c(109): error C2065: 'fileinfo': undeclared identifier
../src/xb-builder-source.c(109): warning C4047: 'function': 'GFileInfo *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(109): warning C4024: 'g_file_info_get_attribute_uint32': different types for formal and actual parameter 1
../src/xb-builder-source.c(111): error C2065: 'guid': undeclared identifier
../src/xb-builder-source.c(111): warning C4047: 'function': 'GString *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(111): warning C4024: 'g_string_append_printf': different types for formal and actual parameter 1
../src/xb-builder-source.c(112): error C2065: 'guid': undeclared identifier
../src/xb-builder-source.c(112): warning C4047: ':': 'int' differs in levels of indirection from 'gpointer'
../src/xb-builder-source.c(116): error C2065: 'fileinfo': undeclared identifier
../src/xb-builder-source.c(116): warning C4047: 'function': 'GFileInfo *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(116): warning C4024: 'g_file_info_get_attribute_string': different types for formal and actual parameter 1
../src/xb-builder-source.c(187): error C2275: 'GBytes': expected an expression instead of a type
../src/xb-builder-source.c(187): error C2146: syntax error: missing ';' before identifier 'blob'
../src/xb-builder-source.c(187): error C2065: 'blob': undeclared identifier
../src/xb-builder-source.c(187): warning C4047: '=': 'int' differs in levels of indirection from 'void *'
../src/xb-builder-source.c(188): error C2275: 'GChecksum': expected an expression instead of a type
../src/xb-builder-source.c(188): error C2146: syntax error: missing ';' before identifier 'csum'
../src/xb-builder-source.c(188): error C2065: 'csum': undeclared identifier
../src/xb-builder-source.c(188): warning C4047: '=': 'int' differs in levels of indirection from 'GChecksum *'
../src/xb-builder-source.c(196): error C2065: 'csum': undeclared identifier
../src/xb-builder-source.c(196): warning C4047: 'function': 'GChecksum *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(196): warning C4024: 'g_checksum_update': different types for formal and actual parameter 1
../src/xb-builder-source.c(197): error C2065: 'csum': undeclared identifier
../src/xb-builder-source.c(197): warning C4047: 'function': 'GChecksum *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(197): warning C4024: 'g_checksum_get_string': different types for formal and actual parameter 1
../src/xb-builder-source.c(200): error C2065: 'blob': undeclared identifier
../src/xb-builder-source.c(200): warning C4047: '=': 'int' differs in levels of indirection from 'GBytes *'
../src/xb-builder-source.c(201): error C2065: 'blob': undeclared identifier
../src/xb-builder-source.c(201): warning C4047: 'function': 'GBytes *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(201): warning C4024: 'g_memory_input_stream_new_from_bytes': different types for formal and actual parameter 1
../src/xb-builder-source.c(230): error C2275: 'GChecksum': expected an expression instead of a type
../src/xb-builder-source.c(230): error C2146: syntax error: missing ';' before identifier 'csum'
../src/xb-builder-source.c(230): error C2065: 'csum': undeclared identifier
../src/xb-builder-source.c(230): warning C4047: '=': 'int' differs in levels of indirection from 'GChecksum *'
../src/xb-builder-source.c(237): error C2065: 'csum': undeclared identifier
../src/xb-builder-source.c(237): warning C4047: 'function': 'GChecksum *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(237): warning C4024: 'g_checksum_update': different types for formal and actual parameter 1
../src/xb-builder-source.c(240): error C2065: 'csum': undeclared identifier
../src/xb-builder-source.c(240): warning C4047: 'function': 'GChecksum *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(240): warning C4024: 'g_checksum_get_string': different types for formal and actual parameter 1
../src/xb-builder-source.c(280): warning C4013: 'g_auto' undefined; assuming extern returning int
../src/xb-builder-source.c(280): error C2275: 'GStrv': expected an expression instead of a type
../src/xb-builder-source.c(280): error C2146: syntax error: missing ';' before identifier 'split'
../src/xb-builder-source.c(280): error C2065: 'split': undeclared identifier
../src/xb-builder-source.c(280): warning C4047: '=': 'int' differs in levels of indirection from 'void *'
../src/xb-builder-source.c(287): error C2065: 'split': undeclared identifier
../src/xb-builder-source.c(287): warning C4047: '=': 'int' differs in levels of indirection from 'gchar **'
../src/xb-builder-source.c(288): error C2065: 'split': undeclared identifier
../src/xb-builder-source.c(288): error C2109: subscript requires array or pointer type
../src/xb-builder-source.c(291): error C2065: 'split': undeclared identifier
../src/xb-builder-source.c(291): error C2109: subscript requires array or pointer type
../src/xb-builder-source.c(291): error C2198: 'g_strdup': too few arguments for call
../src/xb-builder-source.c(383): error C2275: 'GString': expected an expression instead of a type
../src/xb-builder-source.c(383): error C2146: syntax error: missing ';' before identifier 'str'
../src/xb-builder-source.c(383): error C2065: 'str': undeclared identifier
../src/xb-builder-source.c(383): warning C4047: '=': 'int' differs in levels of indirection from 'GString *'
../src/xb-builder-source.c(390): error C2065: 'g_autofree': undeclared identifier
../src/xb-builder-source.c(390): error C2146: syntax error: missing ';' before identifier 'gchar'
../src/xb-builder-source.c(390): error C2275: 'gchar': expected an expression instead of a type
../src/xb-builder-source.c(390): error C2065: 'tmp': undeclared identifier
../src/xb-builder-source.c(391): error C2065: 'str': undeclared identifier
../src/xb-builder-source.c(391): warning C4047: 'function': 'GString *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(391): warning C4024: 'g_string_append_printf': different types for formal and actual parameter 1
../src/xb-builder-source.c(391): error C2065: 'tmp': undeclared identifier
../src/xb-builder-source.c(401): error C2065: 'str': undeclared identifier
../src/xb-builder-source.c(401): warning C4022: 'xb_builder_node_traverse': pointer mismatch for actual parameter 6
../src/xb-builder-source.c(406): error C2065: 'str': undeclared identifier
../src/xb-builder-source.c(406): warning C4047: 'function': 'GString *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(406): warning C4024: 'g_string_append_printf': different types for formal and actual parameter 1
../src/xb-builder-source.c(407): error C2065: 'str': undeclared identifier
../src/xb-builder-source.c(407): warning C4047: ':': 'int' differs in levels of indirection from 'gpointer'
../src/xb-builder-source.c(439): error C2065: 'g_autofree': undeclared identifier
../src/xb-builder-source.c(439): error C2146: syntax error: missing ';' before identifier 'gchar'
../src/xb-builder-source.c(439): error C2275: 'gchar': expected an expression instead of a type
../src/xb-builder-source.c(439): error C2065: 'basename': undeclared identifier
../src/xb-builder-source.c(454): error C2065: 'basename': undeclared identifier
../src/xb-builder-source.c(454): warning C4047: '=': 'int' differs in levels of indirection from 'char *'
../src/xb-builder-source.c(459): error C2065: 'g_autofree': undeclared identifier
../src/xb-builder-source.c(459): error C2146: syntax error: missing ';' before identifier 'gchar'
../src/xb-builder-source.c(459): error C2275: 'gchar': expected an expression instead of a type
../src/xb-builder-source.c(459): error C2065: 'content_type': undeclared identifier
../src/xb-builder-source.c(460): error C2275: 'GInputStream': expected an expression instead of a type
../src/xb-builder-source.c(460): error C2146: syntax error: missing ';' before identifier 'istream_tmp'
../src/xb-builder-source.c(460): error C2065: 'istream_tmp': undeclared identifier
../src/xb-builder-source.c(460): warning C4047: '=': 'int' differs in levels of indirection from 'void *'
../src/xb-builder-source.c(461): error C2275: 'XbBuilderSourceCtx': expected an expression instead of a type
../src/xb-builder-source.c(461): error C2146: syntax error: missing ';' before identifier 'ctx'
../src/xb-builder-source.c(461): error C2065: 'ctx': undeclared identifier
../src/xb-builder-source.c(461): warning C4047: '=': 'int' differs in levels of indirection from 'XbBuilderSourceCtx *'
../src/xb-builder-source.c(464): error C2065: 'ctx': undeclared identifier
../src/xb-builder-source.c(464): warning C4047: 'function': 'XbBuilderSourceCtx *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(464): warning C4024: 'xb_builder_source_ctx_set_filename': different types for formal and actual parameter 1
../src/xb-builder-source.c(464): error C2065: 'basename': undeclared identifier
../src/xb-builder-source.c(464): warning C4047: 'function': 'const gchar *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(464): warning C4024: 'xb_builder_source_ctx_set_filename': different types for formal and actual parameter 2
../src/xb-builder-source.c(465): error C2065: 'content_type': undeclared identifier
../src/xb-builder-source.c(465): error C2065: 'ctx': undeclared identifier
../src/xb-builder-source.c(465): warning C4047: 'function': 'XbBuilderSourceCtx *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(465): warning C4024: 'xb_builder_source_ctx_get_content_type': different types for formal and actual parameter 1
../src/xb-builder-source.c(465): warning C4047: '=': 'int' differs in levels of indirection from 'gchar *'
../src/xb-builder-source.c(466): error C2065: 'content_type': undeclared identifier
../src/xb-builder-source.c(466): warning C4047: '==': 'int' differs in levels of indirection from 'void *'
../src/xb-builder-source.c(468): error C2065: 'content_type': undeclared identifier
../src/xb-builder-source.c(468): warning C4047: 'function': 'const char *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(468): warning C4024: 'g_strcmp0': different types for formal and actual parameter 1
../src/xb-builder-source.c(472): error C2065: 'content_type': undeclared identifier
../src/xb-builder-source.c(472): warning C4047: 'function': 'const gchar *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(472): warning C4024: 'xb_builder_source_get_adapter_by_mime': different types for formal and actual parameter 2
../src/xb-builder-source.c(478): error C2065: 'content_type': undeclared identifier
../src/xb-builder-source.c(481): error C2065: 'istream_tmp': undeclared identifier
../src/xb-builder-source.c(481): error C2065: 'ctx': undeclared identifier
../src/xb-builder-source.c(481): warning C4047: 'function': 'XbBuilderSourceCtx *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(481): warning C4024: 'function through pointer': different types for formal and actual parameter 2
../src/xb-builder-source.c(481): warning C4047: '=': 'int' differs in levels of indirection from 'GInputStream *'
../src/xb-builder-source.c(482): error C2065: 'istream_tmp': undeclared identifier
../src/xb-builder-source.c(482): warning C4047: '==': 'int' differs in levels of indirection from 'void *'
../src/xb-builder-source.c(484): error C2065: 'basename': undeclared identifier
../src/xb-builder-source.c(484): warning C4047: 'function': 'gchar *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(484): warning C4024: 'xb_builder_source_remove_last_extension': different types for formal and actual parameter 1
../src/xb-builder-source.c(485): error C2065: 'istream_tmp': undeclared identifier
../src/xb-builder-source.c(485): warning C4047: '=': 'GInputStream *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(485): warning C4312: 'type cast': conversion from 'int' to 'GObject *' of greater size
../src/xb-builder-source.c(523): error C2275: 'GConverter': expected an expression instead of a type
../src/xb-builder-source.c(523): error C2146: syntax error: missing ';' before identifier 'conv'
../src/xb-builder-source.c(523): error C2065: 'conv': undeclared identifier
../src/xb-builder-source.c(523): warning C4047: '=': 'int' differs in levels of indirection from 'void *'
../src/xb-builder-source.c(524): error C2065: 'conv': undeclared identifier
../src/xb-builder-source.c(524): warning C4047: '=': 'int' differs in levels of indirection from 'GConverter *'
../src/xb-builder-source.c(525): error C2065: 'conv': undeclared identifier
../src/xb-builder-source.c(525): warning C4047: 'function': 'GConverter *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(525): warning C4024: 'g_converter_input_stream_new': different types for formal and actual parameter 2
../src/xb-builder-source.c(536): error C2275: 'GConverter': expected an expression instead of a type
../src/xb-builder-source.c(536): error C2146: syntax error: missing ';' before identifier 'conv'
../src/xb-builder-source.c(536): error C2065: 'conv': undeclared identifier
../src/xb-builder-source.c(536): warning C4047: '=': 'int' differs in levels of indirection from 'GConverter *'
../src/xb-builder-source.c(537): error C2065: 'conv': undeclared identifier
../src/xb-builder-source.c(537): warning C4047: 'function': 'GConverter *' differs in levels of indirection from 'int'
../src/xb-builder-source.c(537): warning C4024: 'g_converter_input_stream_new': different types for formal and actual parameter 2
[5/45] Compiling C object src/xmlb-2.dll.p/xb-builder-source-ctx.c.obj
FAILED: src/xmlb-2.dll.p/xb-builder-source-ctx.c.obj
"cl" "-Isrc\xmlb-2.dll.p" "-Isrc" "-I..\src" "-I." "-I.." "-IC:/gtk-build/gtk/x64/release/bin/../include" "-IC:/gtk-build/gtk/x64/release/bin/../include/glib-
2.0" "-IC:/gtk-build/gtk/x64/release/bin/../lib/glib-2.0/include" "-IC:/gtk-build/gtk/x64/release/include" "/MD" "/nologo" "/showIncludes" "/utf-8" "/W3" "/O2
" "/Zi" "-fstack-protector-strong" "-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_46" "-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_58" "/Fdsrc\xmlb-2.dll.p\xb-builder-source-ctx.c.pdb" /Fosrc/xmlb-2.dll.p/xb-builder-source-ctx.c.obj "/c" ../src/xb-builder-source-ctx.c
cl : Command line warning D9002 : ignoring unknown option '-fstack-protector-strong'
../src/xb-builder-source-ctx.c(51): error C2065: 'g_autofree': undeclared identifier
../src/xb-builder-source-ctx.c(51): error C2146: syntax error: missing ';' before identifier 'guint8'
../src/xb-builder-source-ctx.c(51): error C2275: 'guint8': expected an expression instead of a type
../src/xb-builder-source-ctx.c(51): error C2065: 'tmp': undeclared identifier
../src/xb-builder-source-ctx.c(52): warning C4013: 'g_autoptr' undefined; assuming extern returning int
../src/xb-builder-source-ctx.c(52): error C2275: 'GByteArray': expected an expression instead of a type
../src/xb-builder-source-ctx.c(52): error C2146: syntax error: missing ';' before identifier 'buf'
../src/xb-builder-source-ctx.c(52): error C2065: 'buf': undeclared identifier
../src/xb-builder-source-ctx.c(52): warning C4047: '=': 'int' differs in levels of indirection from 'GByteArray *'
../src/xb-builder-source-ctx.c(60): error C2065: 'tmp': undeclared identifier
../src/xb-builder-source-ctx.c(60): warning C4047: '=': 'int' differs in levels of indirection from 'gpointer'
../src/xb-builder-source-ctx.c(63): error C2065: 'tmp': undeclared identifier
../src/xb-builder-source-ctx.c(63): warning C4022: 'g_input_stream_read': pointer mismatch for actual parameter 2
../src/xb-builder-source-ctx.c(68): error C2065: 'buf': undeclared identifier
../src/xb-builder-source-ctx.c(68): warning C4047: 'function': 'GByteArray *' differs in levels of indirection from 'int'
../src/xb-builder-source-ctx.c(68): warning C4024: 'g_byte_array_append': different types for formal and actual parameter 1
../src/xb-builder-source-ctx.c(68): error C2065: 'tmp': undeclared identifier
../src/xb-builder-source-ctx.c(68): warning C4047: 'function': 'const guint8 *' differs in levels of indirection from 'int'
../src/xb-builder-source-ctx.c(68): warning C4024: 'g_byte_array_append': different types for formal and actual parameter 2
../src/xb-builder-source-ctx.c(68): warning C4244: 'function': conversion from 'gssize' to 'guint', possible loss of data
../src/xb-builder-source-ctx.c(69): error C2065: 'buf': undeclared identifier
../src/xb-builder-source-ctx.c(69): error C2223: left of '->len' must point to struct/union
../src/xb-builder-source-ctx.c(74): error C2065: 'buf': undeclared identifier
../src/xb-builder-source-ctx.c(74): error C2223: left of '->len' must point to struct/union
../src/xb-builder-source-ctx.c(79): error C2065: 'buf': undeclared identifier
../src/xb-builder-source-ctx.c(79): warning C4047: ':': 'int' differs in levels of indirection from 'gpointer'
../src/xb-builder-source-ctx.c(110): error C2275: 'GMappedFile': expected an expression instead of a type
../src/xb-builder-source-ctx.c(110): error C2146: syntax error: missing ';' before identifier 'mapped_file'
../src/xb-builder-source-ctx.c(110): error C2065: 'mapped_file': undeclared identifier
../src/xb-builder-source-ctx.c(110): warning C4047: '=': 'int' differs in levels of indirection from 'void *'
../src/xb-builder-source-ctx.c(111): error C2065: 'g_autofree': undeclared identifier
../src/xb-builder-source-ctx.c(111): error C2146: syntax error: missing ';' before identifier 'gchar'
../src/xb-builder-source-ctx.c(111): error C2275: 'gchar': expected an expression instead of a type
../src/xb-builder-source-ctx.c(111): error C2065: 'filename': undeclared identifier
../src/xb-builder-source-ctx.c(113): error C2065: 'mapped_file': undeclared identifier
../src/xb-builder-source-ctx.c(113): error C2065: 'filename': undeclared identifier
../src/xb-builder-source-ctx.c(113): warning C4047: 'function': 'const gchar *' differs in levels of indirection from 'int'
../src/xb-builder-source-ctx.c(113): warning C4024: 'g_mapped_file_new': different types for formal and actual parameter 1
../src/xb-builder-source-ctx.c(113): warning C4047: '=': 'int' differs in levels of indirection from 'GMappedFile *'
../src/xb-builder-source-ctx.c(114): error C2065: 'mapped_file': undeclared identifier
../src/xb-builder-source-ctx.c(114): warning C4047: '!=': 'int' differs in levels of indirection from 'void *'
../src/xb-builder-source-ctx.c(115): error C2065: 'mapped_file': undeclared identifier
../src/xb-builder-source-ctx.c(115): warning C4047: 'function': 'GMappedFile *' differs in levels of indirection from 'int'
../src/xb-builder-source-ctx.c(115): warning C4024: 'g_mapped_file_get_bytes': different types for formal and actual parameter 1
[6/45] Compiling C object src/xmlb-2.dll.p/xb-builder.c.obj
FAILED: src/xmlb-2.dll.p/xb-builder.c.obj
"cl" "-Isrc\xmlb-2.dll.p" "-Isrc" "-I..\src" "-I." "-I.." "-IC:/gtk-build/gtk/x64/release/bin/../include" "-IC:/gtk-build/gtk/x64/release/bin/../include/glib-
2.0" "-IC:/gtk-build/gtk/x64/release/bin/../lib/glib-2.0/include" "-IC:/gtk-build/gtk/x64/release/include" "/MD" "/nologo" "/showIncludes" "/utf-8" "/W3" "/O2
" "/Zi" "-fstack-protector-strong" "-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_46" "-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_58" "/Fdsrc\xmlb-2.dll.p\xb-builder.c.pdb" /Fosrc/xmlb-2.dll.p/xb-builder.c.obj "/c" ../src/xb-builder.c
cl : Command line warning D9002 : ignoring unknown option '-fstack-protector-strong'
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(93): error C2085: 'xb_machine_parse_full': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(101): error C2085: 'xb_machine_run': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(107): error C2085: 'xb_machine_run_with_bindings': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(115): error C2085: 'xb_machine_add_opcode_fixup': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(121): error C2085: 'xb_machine_add_text_handler': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(126): error C2085: 'xb_machine_add_method': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(133): error C2085: 'xb_machine_add_operator': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(136): error C2085: 'xb_machine_opcode_func_init': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(139): error C2085: 'xb_machine_stack_pop': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(141): error C2085: 'xb_machine_stack_push': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(143): error C2085: 'xb_machine_stack_push_text': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(145): error C2085: 'xb_machine_stack_push_text_static': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(150): error C2085: 'xb_machine_stack_push_text_steal': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(152): error C2085: 'xb_machine_stack_push_integer': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(154): error C2085: 'xb_machine_set_stack_size': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-machine.h(156): error C2085: 'xb_machine_get_stack_size': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(17): error C2085: 'XbSiloNodeFlag': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(19): error C2085: 'packed': not in formal parameter list
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(19): error C2143: syntax error: missing ';' before '{'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(20): error C2143: syntax error: missing ';' before ':'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(21): error C2143: syntax error: missing ';' before ':'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(26): error C2082: redefinition of formal parameter 'text'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(34): error C2054: expected '(' to follow 'packed'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(41): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(41): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(41): error C2146: syntax error: missing ';' before identifier 'flag'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(41): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(42): error C2054: expected '(' to follow 'flag'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(47): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(47): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(47): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(48): error C2054: expected '(' to follow 'self'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(62): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(62): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(62): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(63): error C2054: expected '(' to follow 'self'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(69): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(69): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(69): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(70): error C2054: expected '(' to follow 'self'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(76): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(76): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(76): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(77): error C2054: expected '(' to follow 'self'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(83): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(83): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(83): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(84): error C2054: expected '(' to follow 'self'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(89): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(90): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(90): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(90): error C2371: 'guint8': redefinition; different basic types
C:\gtk-build\gtk\x64\release\lib\glib-2.0\include\glibconfig.h(45): note: see declaration of 'guint8'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(90): error C2146: syntax error: missing ';' before identifier 'idx'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(90): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(91): error C2054: expected '(' to follow 'idx'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(99): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(99): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(99): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(100): error C2054: expected '(' to follow 'self'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(106): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(106): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(106): warning C4142: 'guint': benign redefinition of type
C:\gtk-build\gtk\x64\release\include\glib-2.0\glib/gtypes.h(61): note: see declaration of 'guint'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(106): error C2370: 'guint': redefinition; different storage class
C:\gtk-build\gtk\x64\release\include\glib-2.0\glib/gtypes.h(61): note: see declaration of 'guint'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(106): error C2146: syntax error: missing ';' before identifier 'idx'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(106): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-node.h(107): error C2054: expected '(' to follow 'idx'
C:\gtk-build\build\x64\release\libxmlb\src\xb-string-private.h(30): error C2059: syntax error: '<parameter-list>'
C:\gtk-build\build\x64\release\libxmlb\src\xb-string-private.h(39): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-string-private.h(39): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-string-private.h(39): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-string-private.h(41): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-string-private.h(41): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-string-private.h(41): error C2371: 'guint8': redefinition; different basic types
C:\gtk-build\gtk\x64\release\lib\glib-2.0\include\glibconfig.h(45): note: see declaration of 'guint8'
C:\gtk-build\build\x64\release\libxmlb\src\xb-string-private.h(41): warning C4228: nonstandard extension used: qualifiers after comma in declarator list are ignored
C:\gtk-build\build\x64\release\libxmlb\src\xb-string-private.h(41): error C2143: syntax error: missing ';' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-string-private.h(41): error C2371: 'gsize': redefinition; different basic types
C:\gtk-build\gtk\x64\release\lib\glib-2.0\include\glibconfig.h(82): note: see declaration of 'gsize'
C:\gtk-build\build\x64\release\libxmlb\src\xb-string-private.h(41): error C2146: syntax error: missing ';' before identifier 'bufsz'
C:\gtk-build\build\x64\release\libxmlb\src\xb-string-private.h(41): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(19): error C2059: syntax error: '<parameter-list>'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(33): error C2061: syntax error: identifier 'XbSiloNode'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(35): error C2059: syntax error: '}'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(43): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(52): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(52): error C2081: 'XbSiloNode': name in formal parameter list illegal
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(52): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(52): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(53): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(55): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(56): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(56): error C2081: 'XbSiloNode': name in formal parameter list illegal
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(56): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(56): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(57): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(58): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(58): error C2081: 'XbSiloNode': name in formal parameter list illegal
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(58): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(58): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(59): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(60): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(60): error C2081: 'XbSiloNode': name in formal parameter list illegal
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(60): error C2143: syntax error: missing '{' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(60): error C2059: syntax error: ')'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(62): error C2143: syntax error: missing ')' before '*'
C:\gtk-build\build\x64\release\libxmlb\src\xb-silo-private.h(62): fatal error C1003: error count exceeds 100; stopping compilation
ninja: build stopped: subcommand failed.
Please mention meson build -Dintrospection=false -Dgtkdoc=false -Dcli=false
prominently in the README, because they significantly decrease the dependencies needed.
Thanks!
Reference:
Would you mind tagging a new release? I'd like to get 04e88ac into Debian/Ubuntu to unblock https://bugs.launchpad.net/ubuntu/+source/gnome-software/+bug/1817223 but rather not just cherry-pick the the fix if possible.
Since libxmlb was recently uploaded to Debian it gets tested on a variety of weird ports.
sparc64, riscv64, hppa and hurd-i386 are all failing.
sparc64 and risv64 are failing like this:
query[last]: 33.236ms
query[all]: 21.513ms
query[x5000]: 6421.991ms
query[x5000]: 7262.447ms
(/<<PKGBUILDDIR>>/obj-riscv64-linux-gnu/src/xb-self-test:19570): XbSilo-DEBUG: 03:12:44.900: ignoring index: no results for XPath query 'components/component/id[text()='dave']'
(/<<PKGBUILDDIR>>/obj-riscv64-linux-gnu/src/xb-self-test:19570): XbSilo-DEBUG: 03:12:44.901: ignoring index: failed to process components/component/DAVE: element name DAVE is unknown in silo
create index: 81.751ms
-------
Full log written to /<<PKGBUILDDIR>>/obj-riscv64-linux-gnu/meson-logs/testlog.txt
FAILED: meson-test
/usr/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.
dh_auto_test: cd obj-riscv64-linux-gnu && LC_ALL=C.UTF-8 MESON_TESTTHREADS=1 ninja test returned exit code 1
make: *** [debian/rules:4: build-arch] Error 1
Full log riscv64: https://buildd.debian.org/status/fetch.php?pkg=libxmlb&arch=riscv64&ver=0.1.6-1&stamp=1549509209&raw=0
Full log sparc64: https://buildd.debian.org/status/fetch.php?pkg=libxmlb&arch=sparc64&ver=0.1.6-1&stamp=1549495495&raw=0
hurd-i386 fails like this:
(/<<PKGBUILDDIR>>/obj-i686-gnu/src/xb-self-test:4512): XbSilo-DEBUG: 22:50:43.845: 0.00ms save file
(/<<PKGBUILDDIR>>/obj-i686-gnu/src/xb-self-test:4512): XbSilo-DEBUG: 22:50:43.845: 0.00ms parse blob
(/<<PKGBUILDDIR>>/obj-i686-gnu/src/xb-self-test:4512): XbSilo-DEBUG: 22:50:43.845: 0.00ms loaded file
--- stderr ---
**
ERROR:../src/xb-self-test.c:546:xb_builder_ensure_func: 'xb_silo_is_valid (silo)' should be FALSE
-------
Full log written to /<<PKGBUILDDIR>>/obj-i686-gnu/meson-logs/testlog.txt
FAILED: meson-test
/usr/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.
dh_auto_test: cd obj-i686-gnu && LC_ALL=C.UTF-8 MESON_TESTTHREADS=1 ninja test returned exit code 1
debian/rules:4: recipe for target 'build-arch' failed
make: *** [build-arch] Error 1
hppa failed by the build process dying (might not be relevant)
/libxmlb/speed: (/<<PKGBUILDDIR>>/obj-hppa-linux-gnu/src/xb-self-test:23444): XbSilo-DEBUG: 04:31:36.218: compiling a83a3acf09667acb3caa53256b43e8cf308c4d1c?
import+save: 7747.216ms
mmap load: 0.820ms
query[first]: 0.194ms
query[last]: 34.237ms
query[all]: 35.710ms
query[x5000]: 5974.778ms
-------
Full log written to /<<PKGBUILDDIR>>/obj-hppa-linux-gnu/meson-logs/testlog.txt
FAILED: meson-test
/usr/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.
dh_auto_test: cd obj-hppa-linux-gnu && LC_ALL=C.UTF-8 MESON_TESTTHREADS=1 ninja test returned exit code 1
make: *** [debian/rules:4: build-arch] Error 1
Full log: https://buildd.debian.org/status/fetch.php?pkg=libxmlb&arch=hppa&ver=0.1.6-1&stamp=1549513937&raw=0
Currently, libxmlb queries will set the error G_IO_ERROR_NOT_FOUND
if they find no matching elements. A lot of queries will often return no results (that’s just the way XML is), so this code path is hit often. If a lot of queries are run quickly (for example, when loading gnome-software), the cost of allocating a GError
to indicate an empty resultset becomes measurable.
It would be nice if libxmlb would provide an alternate codepath which indicates an empty resultset some other way, without needing an allocation.
This might be possible without any new API: the documentation for the xb_silo_query()
functions already says they return NULL if unfound
, so callers should already be handling that. If that’s acceptable, we could just basically remove the g_set_error (G_IO_ERROR_NOT_FOUND)
calls.
See https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/1749 for some more context.
Hey! Looks like libxmlb is failing to process an XML file that contains some initial comments in the following format:
<?xml version="1.0" ?>
<data>
<!--NOTE: This is an ** Autogenerated file **-->
<!--BlockSize = 256 KB-->
<!--PageSize = 4 KB-->
<!--NUM_PARTITION_SECTORS = 131072-->
<program />
</data>
Not sure if this is because the XML comments are malformed, or because the parser cannot process them correctly.
I'm attaching here a simple tester program attempting to process the previous XML contents, which gves this output:
$ ./test-xmlb test.xml
** Message: 22:57:24.135: loading bytes in builder source
** (process:261125): WARNING **: 23:03:13.864: builder compile failed: failed to compile 635684fc0f341ab67d8aee0176bea5d9d9104dc2: Mismatched XML
In an AppStream query I was writing today, it would have been useful to have support for the XPath and
operator. Is that likely to be added?
The query was:
custom/value[@key='SomeKey' and text()='true']
$ /usr/lib/xb-self-test
[...]
/libxmlb/builder{node-vfunc-remove}: (/usr/lib/xb-self-test:2914): XbSilo-DEBUG: 20:24:26.992: compiling a5d360ee37015a0ebc788bab978631ad3579da71:func-id=RemoveGimp?
** (/usr/lib/xb-self-test:2914): DEBUG: 20:24:26.992: ignoring (null)
** (/usr/lib/xb-self-test:2914): DEBUG: 20:24:26.992: ignoring components
** (/usr/lib/xb-self-test:2914): DEBUG: 20:24:26.992: ignoring id
** (/usr/lib/xb-self-test:2914): DEBUG: 20:24:26.992: ignoring id
<components><component><id>inkscape.desktop</id></component></components>
OK
/libxmlb/builder{node-vfunc-depth}: (/usr/lib/xb-self-test:2914): XbSilo-DEBUG: 20:24:26.992: compiling 46392a15166065fccfec86a39694f0bdc26ea8e5:func-id=OnlyRoot@0?
** (/usr/lib/xb-self-test:2914): DEBUG: 20:24:26.992: >(null)<
OK
/libxmlb/builder{node-vfunc-error}: (/usr/lib/xb-self-test:2914): XbSilo-DEBUG: 20:24:26.993: compiling 952396367660d09d8b00ec3baf7fa8100269a169:func-id=AlwaysError?
OK
/libxmlb/builder{ignore-invalid}: (/usr/lib/xb-self-test:2914): XbSilo-DEBUG: 20:24:26.993: compiling e446bd1c5b6c26283409df9eadafeb4463415f94?
(/usr/lib/xb-self-test:2914): XbSilo-DEBUG: 20:24:26.993: compiling 0bb31de2141de8d7e4b888bd4a11d2a60c32bcd7?
(/usr/lib/xb-self-test:2914): XbSilo-DEBUG: 20:24:26.993: ignoring invalid file 0bb31de2141de8d7e4b888bd4a11d2a60c32bcd7: Mismatched XML
<book><id>foobar</id></book>
OK
/libxmlb/builder{custom-mime}: (/usr/lib/xb-self-test:2914): XbSilo-DEBUG: 20:24:26.993: attempting to load /tmp/temp.xmlb
(/usr/lib/xb-self-test:2914): XbSilo-DEBUG: 20:24:26.993: file: bd626763-6d72-51a4-aa94-6f72287379a0, current:22f17b3c-5012-5a2f-9650-c5db4a57c0ef, cached: (null)
(/usr/lib/xb-self-test:2914): XbSilo-DEBUG: 20:24:26.993: compiling /tmp/temp.desktop:ctime=1557771866.991790?
<component type="desktop"><id>temp.desktop</id></component>OK
/libxmlb/builder{chained-adapters}: **
ERROR:../libxmlb-0.1.9/src/xb-self-test.c:462:xb_builder_chained_adapters_func: assertion failed (error == NULL): Error when getting information for file ?/build/libxmlb/src/libxmlb-0.1.9/data/test.xml.gz.gz.gz?: No such file or directory (g-io-error-quark, 1)
[1] 2914 abort (core dumped) /usr/lib/xb-self-test
While debugging GNOME Software and doing upgrades of packages in alpine linux, I get (lots of) repeated debug messages of invalidation of hidden files. Similar to those below:
XbSilo /usr/share/applications/.mimeinfo.cache.DLPXG1 changed, invalidating
XbSilo /usr/share/metainfo/.apk.$long_hash changed, invalidating
Looks like alpine's package manager, apk, is creating temporary files during upgrades. Looking at the MR that introduced the flag and the corresponding one in Software, it looks like that was never the intention.
The small snippet below would probably fix it, but I am not sure if this is something desirable, or if the current behavior is the intended. So I thought I would open an issue before creating a MR.
diff --git i/src/xb-silo.c w/src/xb-silo.c
index 288f6b8..6fae596 100644
--- i/src/xb-silo.c
+++ w/src/xb-silo.c
@@ -878,6 +878,8 @@ xb_silo_watch_file_cb(GFileMonitor *monitor,
g_autofree gchar *basename = g_file_get_basename(file);
if (g_str_has_prefix(basename, ".goutputstream"))
return;
+ if (g_str_has_prefix(basename, "."))
+ return;
g_debug("%s changed, invalidating", fn);
xb_silo_invalidate(silo);
}
Hi!
I was debugging some strange behavior in AppStream which may actually be an issue with libxmlb (or at the very least I need some guidance on what the correct approach is here).
AppStream performs its own stemming, so a term like strategy
is stemmed to strategi
(making it no longer a fulltext search match). AppStream adds the stemmed terms to a node using xb_builder_node_add_token ();
.
I have verified that the tokens are actually added, they show up in xb-tool dump
output in the correct places.
Now, I first perform a query to get all component nodes in the XML, like this: cpt_nodes = xb_silo_query (csec->silo, "components/component", 0, &tmp_error);
A new query is constructed like this:
query = xb_query_new (csec->silo,
queries[j].xpath,
&error_query);
With XPath summary[text()~=?]
Then I iterate over all component nodes cpt_node
with search term term
(a single, stemmed word):
g_auto(XbQueryContext) context = XB_QUERY_CONTEXT_INIT ();
xb_value_bindings_bind_str (xb_query_context_get_bindings (&context),
0,
term,
NULL);
n = xb_node_query_with_context (cpt_node, query, &context, NULL);
So, the stemmed strategi
does not show up in the full text of summary
, "A strategy game"
, it has however been added to the node as token before. So I would expect this code to find the node and yield a result. This is not what happens though.
In XbSilo's xb_silo_machine_func_search_cb
, only op2
has XB_OPCODE_FLAG_TOKENIZED
set, so we do not perform the fast TOKEN/TOKEN search: https://github.com/hughsie/libxmlb/blob/main/src/xb-silo.c#L1520
Instead, the code always falls back to the slower full-text search below, which in this case does not yield any result.
Why does op1
(containing the "strategi" string) not have that one as token, and why does this inevitably always fall back to the slower search path? Am I supposed to bind the query value differently? Dirty hacks like just adding the string as a token as well to the opcode do not seem to work, so I think I am missing something here / do not understand how tokens relate to text search in libxmlb in concept.
I'm glad for any help :-)
If I run the two queries:
languages/lang[(text()='en_GB.UTF-8') and (@percentage>50)]|languages/lang[(text()='en_GB') and (@percentage>50)]|languages/lang[(text()='en.UTF-8') and (@percentage>50)]|languages/lang[(text()='en') and (@percentage>50)]
languages/lang[text()='en_GB.UTF-8'][@percentage>50]|languages/lang[text()='en_GB'][@percentage>50]|languages/lang[text()='en.UTF-8'][@percentage>50]|languages/lang[text()='en'][@percentage>50]
on the XML below, they should return the same results. In the second query, the second predicate should filter the results of the first. However, they don’t: the first query returns no results, whereas the second returns the <lang percentage="100">es</lang>
element.
I suspect the unions above and most of the XML in the reproducer below are irrelevant, but I’m filing this quickly while working on something else, so haven’t taken the time to trim the reproducer down.
The straightforward workaround is to combine the predicates (as in query 1), and that’s what I’ll do in gnome-software, so I apologise but I don’t plan to come back to this issue. There should be enough information here for someone else to pick it up at some point though.
XML:
<component type="desktop">
<id>ar.com.softwareperonista.Rockarrolla.desktop</id>
<translation type="gettext">rockarrolla</translation>
<name>Rockarrolla</name>
<summary>A jukebox-like music player</summary>
<summary xml:lang="es">Un reproductor de música similar a una rockola</summary>
<description><p>A simple music player with a jukebox-like UI. It shows the albums and their songs in albums and can be added to the playlist with a coin-like system.</p></description>
<description xml:lang="es"><p>Un reproductor de música con una interfaz similar a una rockola. Muestra los álbumes, las canciones de los álbumes y pueden ser agregadas a la lista de reproducción mediante un sistema similar al de las fichas de una rockola.</p></description>
<icon type="cached" height="64" width="64">ar.com.softwareperonista.Rockarrolla.png</icon>
<icon type="cached" height="128" width="128">ar.com.softwareperonista.Rockarrolla.png</icon>
<categories>
<category>Audio</category>
<category>AudioVideo</category>
<category>Jukebox</category>
<category>Music</category>
</categories>
<kudos>
<kudo>HiDpiIcon</kudo>
</kudos>
<project_license>GPL-3.0</project_license>
<url type="homepage">https://gitlab.com/softwareperonista/rockarrolla</url>
<screenshots>
<screenshot type="default">
<image type="source">https://gitlab.com/softwareperonista/rockarrolla/-/raw/master/screenshots/main-interface.png</image>
<image type="thumbnail" height="351" width="624">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/624x351/ar.com.softwareperonista.Rockarrolla-1a8555201ce6fc65aab81df975848fb6.png</image>
<image type="thumbnail" height="702" width="1248">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/1248x702/ar.com.softwareperonista.Rockarrolla-1a8555201ce6fc65aab81df975848fb6.png</image>
<image type="thumbnail" height="63" width="112">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/112x63/ar.com.softwareperonista.Rockarrolla-1a8555201ce6fc65aab81df975848fb6.png</image>
<image type="thumbnail" height="126" width="224">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/224x126/ar.com.softwareperonista.Rockarrolla-1a8555201ce6fc65aab81df975848fb6.png</image>
<image type="thumbnail" height="423" width="752">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/752x423/ar.com.softwareperonista.Rockarrolla-1a8555201ce6fc65aab81df975848fb6.png</image>
<image type="thumbnail" height="846" width="1504">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/1504x846/ar.com.softwareperonista.Rockarrolla-1a8555201ce6fc65aab81df975848fb6.png</image>
</screenshot>
<screenshot>
<image type="source">https://gitlab.com/softwareperonista/rockarrolla/-/raw/master/screenshots/stand-by.png</image>
<image type="thumbnail" height="351" width="624">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/624x351/ar.com.softwareperonista.Rockarrolla-221b531c4dc5481dc7b01e5c21c693ca.png</image>
<image type="thumbnail" height="702" width="1248">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/1248x702/ar.com.softwareperonista.Rockarrolla-221b531c4dc5481dc7b01e5c21c693ca.png</image>
<image type="thumbnail" height="63" width="112">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/112x63/ar.com.softwareperonista.Rockarrolla-221b531c4dc5481dc7b01e5c21c693ca.png</image>
<image type="thumbnail" height="126" width="224">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/224x126/ar.com.softwareperonista.Rockarrolla-221b531c4dc5481dc7b01e5c21c693ca.png</image>
<image type="thumbnail" height="423" width="752">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/752x423/ar.com.softwareperonista.Rockarrolla-221b531c4dc5481dc7b01e5c21c693ca.png</image>
<image type="thumbnail" height="846" width="1504">https://dl.flathub.org/repo/screenshots/ar.com.softwareperonista.Rockarrolla-stable/1504x846/ar.com.softwareperonista.Rockarrolla-221b531c4dc5481dc7b01e5c21c693ca.png</image>
</screenshot>
</screenshots>
<content_rating type="oars-1.1"/>
<releases>
<release timestamp="1625616000" version="1.0"/>
</releases>
<launchable type="desktop-id">ar.com.softwareperonista.Rockarrolla.desktop</launchable>
<languages>
<lang percentage="100">es</lang>
</languages>
<bundle type="flatpak" runtime="org.gnome.Platform/x86_64/40" sdk="org.gnome.Sdk/x86_64/40">app/ar.com.softwareperonista.Rockarrolla/x86_64/stable</bundle>
</component>
I'm partly upstreaming this from a gnome-software bug:
https://gitlab.gnome.org/GNOME/gnome-software/-/issues/2443
This is on Fedora 39 with libxmlb 0.3.15-1. Downgrade to the 0.3.14-1 doesn't seem to change anything.
where the user doesn't see Flatpak apps when runs gnome-software in some locales, while they are shown with for example en_US.utf8
locale.
We did some investigation in the bug and the xb-tool
is able to reproduce the problem with failed queries, even though the query itself does not contain anything locale-specific.
You can fast-forward to this comment, though it would be good to read the whole bug, maybe. The user did not change the locale in the system, thus the things should just work, right?
Do you think there is a reason why the queries can fail, depending with which locale the gnome-software generates the xmlb blobs/files?
The documentation is exactly the same as xb_builder_source_add_adapter()
* @self: a #XbBuilderSource
* @content_types: mimetypes, e.g. `application/x-desktop,application/gzip`
* @func: a callback, or %NULL
* @user_data: user pointer to pass to @func, or %NULL
* @user_data_free: a function which gets called to free @user_data, or %NULL
*
* Adds a function that can be used to convert streams loaded with
* xb_builder_source_load_xml().
Now that they differ in a flag arg (is_simple
), both descriptions should be updated to reflect this.
Hello Richard Hughes,
While working on the “reproducible builds” effort 1, I have noticed that the content of the GUID field of the converted, compressed XML files cannot be recreated in any way.
The function xb_builder_import_node
(which is called by as_cache_components_to_internal_xb
in appstream) uses the address of a pointer for the creation of the GUID field 2.
See the currents tests 3 for Debian, and the investigations I previously did 4.
Steps to reproduce:
appstreamcli refresh-cache
/var/cache/app-info/cache/C-os-catalog.xb
changes only in the GUID field (using xb-tool
)C-local-metainfo.xb
is deleted before running appstreamcli refresh-cache
, it will also differ only in the GUID field.The tool xb-tool
does not call xb_builder_import_node
, so I cannot give an example that only uses libxmlb.
My goal:
Proposal:
uuid_generate_random
from libuuid (which I can de-randomize using my LD_PRELOAD-hack)With kind regards,
Roland Clobus
Hi,
I'm trying to build this project in Windows, with MSVC, but the code disabled it.
Lines 89 to 91 in 4393955
I checked the code and found that __attribute__((cleanup))
is not used in the source code, so why disable msvc
?
I do not know what I've missing here, but I surely do something miss here. When I:
mkdir -p /tmp/share/app-info/xmls
cp /usr/share/app-info/xmls/fedora-popular.xml /tmp/share/app-info/xmls
process:66515): XbSilo-CRITICAL **: 18:03:12.609: strtab+offset is outside the data range for 12
** (process:66515): WARNING **: 18:03:12.609: Failed to compile data: strtab_ntags incorrect
I do not know why it does that, but when I comment out the "RemoveNonMergeComponents"
fixup (beginning at line 142), then it is happy.
This is with the current sources, at commit 3f25c84.
When I keep the /tmp/share/app-info/xmls
empty, then I get a crash:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7fa952a in xb_silo_get_node_element (self=0x4178e0, n=0x0) at ../src/xb-silo.c:438
438 return xb_silo_from_strtab(self, n->element_name);
#0 0x00007ffff7fa952a in xb_silo_get_node_element (self=0x4178e0, n=0x0) at ../src/xb-silo.c:438
#1 0x00007ffff7fa525c in xb_node_get_element (self=0x419020) at ../src/xb-node.c:488
#2 0x0000000000402efa in gs_appstream_traverse_silo_for_index (node=0x419020, index=0x409b00, depth=0) at xml-parse.c:190
#3 0x00000000004030f1 in gs_appstream_create_silo_index (silo=0x4178e0) at xml-parse.c:220
#4 0x0000000000403232 in main (argc=1, argv=0x7fffffffda98) at xml-parse.c:248
An interesting observation, when I change the path, like to /tmp/xxx
, then the runtime warning has a different number.
For the code itself: I want to read all components, which have the merge
attribute and discard (ignore) everything else. I want also the opposite, read only components without the merge
attribute. Maybe I do something wrong, or the XB_BUILDER_NODE_FLAG_IGNORE
flag misbehaves, or anything else.
I would like to point out that identifiers like “__LIBXMLB_H_INSIDE__
” and “_XbBuilderClass
” do eventually not fit to the expected naming convention of the C language standard.
💭 Would you like to adjust your selection for unique names?
As reported in fwupd/fwupd#914 it isn't obvious that the steps to build are:
# meson build
# ninja -C build
# ninja -C build install
# ldconfig
These should be included in README.md
to make it clearer when installing from a non-packaged version how to use this project.
It looks like LTO isn't doing such a great job of interning a number of things that I think are worth seeing inlined. Not because these functions themselves show up on profiles a whole lot (but they do show up) but instead that the reduce the amount of optimization that can surround them in tight loops.
These aren't any panacea or anything, but it does help ensure that the compiler knows what is going on across the function call and perhaps reorder things a bit more.
And of course bunch of that can be const
and G_GNUC_PURE
in the process.
The structures here are already exposed in the private headers and so static inline
ing the helpers that are used everywhere makes sense to me.
While I'm here, I also wondered about perhaps changing how xb_machine does GError
. Turns out we hit the failure path in xb_machine_check_two_args()
quite a bit. Is it essential to propagate opcode level error tracking?
Anyway, wanted to get your thoughts before I spend too much time on it.
A downstream bug report in Ubuntu indicated that silos were failing to compile. After debugging the issue it came down to the user installing the gwyddion
package.
fwupd[920251]: 11:13:34:0743 FuQuirks failed to build silo: failed to compile /usr/share/fwupd/quirks.d/tpm.quirk:ctime=1601481168.750206: cannot process content type application/x-stmprg-spm
This package, gwyddion
installs a mime type specifically:
<!-- From module stmprg.c -->
<mime-type type="application/x-stmprg-spm">
<comment>Omicron STMPRG data parameters</comment>
<magic priority="80">
<match type="string" offset="0" value="MPAR"/>
</magic>
<glob pattern="tp*"/>
<glob pattern="TP*"/>
</mime-type>
This code comes from:
https://sourceforge.net/p/gwyddion/code/HEAD/tree/trunk/gwyddion/modules/file/stmprg.c
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.