protonscr

glib fails to compile with subcommand failure

protonclosed
ValveSoftware/Proton#3503 · opened 2020-02-09 by GloriousEggroll · updated 2020-12-04 · 8 comments · github
GGloriousEggroll 2020-02-09 github

glib is failing to compile within vagrant with:

[302/1015] Generating gdbus-example-objectmanager-generated with a custom command.
FAILED: gio/tests/gdbus-object-manager-example/gdbus-example-objectmanager-generated.h gio/tests/gdbus-object-manager-example/gdbus-example-objectmanager-generated.c gio/tests/gdbus-object-manager-example/gdbus-example-objectmanager-generated-org.gtk.GDBus.Example.ObjectManager.Animal.xml gio/tests/gdbus-object-manager-example/gdbus-example-objectmanager-generated-org.gtk.GDBus.Example.ObjectManager.Cat.xml 
/usr/bin/python3 gio/gdbus-2.0/codegen/gdbus-codegen --interface-prefix org.gtk.GDBus.Example.ObjectManager. --c-namespace Example --c-generate-object-manager --output-directory gio/tests/gdbus-object-manager-example --generate-c-code gdbus-example-objectmanager-generated --generate-docbook gdbus-example-objectmanager-generated ../../proton/glib/gio/tests/gdbus-object-manager-example/gdbus-example-objectmanager.xml
Traceback (most recent call last):
  File "gio/gdbus-2.0/codegen/gdbus-codegen", line 53, in <module>
    from codegen import codegen_main
  File "/home/vagrant/build-Proton-5.1-GE-1/obj-glib32/gio/gdbus-2.0/codegen/codegen_main.py", line 29, in <module>
    from . import dbustypes
  File "/home/vagrant/build-Proton-5.1-GE-1/obj-glib32/gio/gdbus-2.0/codegen/dbustypes.py", line 22, in <module>
    from . import utils
EOFError: EOF read where not expected
[331/1015] Generating gioenumtypes_h with a meson_exe.py custom command.
ninja: build stopped: subcommand failed.
make[1]: *** [../proton/build/makefile_base.mak:576: glib32] Error 1
GGloriousEggroll 2020-02-09 github

Looks like I was able to get around it by disabling glib tests in makefile_base.mak:

GLIB_MESON_ARGS := -Dlibmount=false -Denable_tests=no
Aaeikum 2020-02-10 github

I've seen this sporadically, too. Re-running the make command would get around it, so I didn't look further into it. I'm fine with disabling tests. Are you sure that fixes it (as opposed to just re-running make)?

GGloriousEggroll 2020-02-12 github

I have not had a single failure regarding glib since adding it. It was happening consistently every time before I added it.

Aaeikum 2020-02-13 github

Cool, thanks for looking into this. I'll add the change to my local tree for next release.

GGloriousEggroll 2020-02-16 github

welp. surprise surprise. it decided to rear its ugly head again today. seems the option doesn't work after all or is invalid.

[299/1015] Generating gdbus-example-objectmanager-generated with a custom command.
FAILED: gio/tests/gdbus-object-manager-example/gdbus-example-objectmanager-generated.h gio/tests/gdbus-object-manager-example/gdbus-example-objectmanager-generated.c gio/tests/gdbus-object-manager-example/gdbus-example-objectmanager-generated-org.gtk.GDBus.Example.ObjectManager.Animal.xml gio/tests/gdbus-object-manager-example/gdbus-example-objectmanager-generated-org.gtk.GDBus.Example.ObjectManager.Cat.xml 
/usr/bin/python3 gio/gdbus-2.0/codegen/gdbus-codegen --interface-prefix org.gtk.GDBus.Example.ObjectManager. --c-namespace Example --c-generate-object-manager --output-directory gio/tests/gdbus-object-manager-example --generate-c-code gdbus-example-objectmanager-generated --generate-docbook gdbus-example-objectmanager-generated ../../proton/glib/gio/tests/gdbus-object-manager-example/gdbus-example-objectmanager.xml
Traceback (most recent call last):
  File "gio/gdbus-2.0/codegen/gdbus-codegen", line 53, in <module>
    from codegen import codegen_main
  File "/home/vagrant/build-Proton-5.1-GE-2/obj-glib64/gio/gdbus-2.0/codegen/codegen_main.py", line 29, in <module>
    from . import dbustypes
  File "/home/vagrant/build-Proton-5.1-GE-2/obj-glib64/gio/gdbus-2.0/codegen/dbustypes.py", line 22, in <module>
    from . import utils
EOFError: EOF read where not expected

It seems rebooting the VM works. Maybe some kind of cache issue?

Ppchome 2020-02-16 github

No option to disable tests there, see meson_options.txt

Gentoo-style -Denable_tests=no:

# Don't build tests, also prevents extra deps, bug [#512022](/issue/ValveSoftware/Proton/512022)
sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die

Whole if-else block

Aaeikum 2020-10-29 github

We no longer build glib in Proton 5.13. It's still technically an issue on the 5.0 series, but, well, there's only so many hours in the day. OK to close this?

Kkisak-valve maintainer 2020-12-04 github

Closing per the last comment.

Proton versions