Out automate build process reported fails in building Thunar from GIT. This may be due to this recent change: https://git.xfce.org/xfce/thunar/commit/?id=77358656225e1fa7a431cffa5da0f4db49b7993d Which causes this error to happen: make[2]: Entering directory '/home/aakcaagac/Downloads/Thunar-1.7.0/thunarx' CC libthunarx_3_la-thunarx-config.lo CC libthunarx_3_la-thunarx-file-info.lo CC libthunarx_3_la-thunarx-menu.lo CC libthunarx_3_la-thunarx-menu-item.lo CC libthunarx_3_la-thunarx-menu-provider.lo CC libthunarx_3_la-thunarx-preferences-provider.lo CC libthunarx_3_la-thunarx-private.lo CC libthunarx_3_la-thunarx-property-page.lo CC libthunarx_3_la-thunarx-property-page-provider.lo CC libthunarx_3_la-thunarx-provider-factory.lo thunarx-provider-factory.c:29:10: fatal error: thunarx/thunarx-provider-module.h: No such file or directory #include <thunarx/thunarx-provider-module.h> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [Makefile:951: libthunarx_3_la-thunarx-provider-factory.lo] Error 1 make[2]: Leaving directory '/home/aakcaagac/Downloads/Thunar-1.7.0/thunarx' make[1]: *** [Makefile:771: all-recursive] Error 1 make[1]: Leaving directory '/home/aakcaagac/Downloads/Thunar-1.7.0' make: *** [Makefile:584: all] Error 2 [aakcaagac@localhost Thunar-1.7.0]$ Please explain how said include can be found on a system that yet doesn't have any thunarx includes installed or existing. The includes only show up, once Thunar has been build and installed. But to build Thunar, thunarx has to find its own includes. Looks like a circular dependency issue to me...
What I figured out now is, that thunarx-provider-module.h is not being placed inside a tar.bz2 file that was created by "make dist". While the GIT repo offers said file, it's then entirely missing once a make dist has been issued and a final Thunar-1.7.0.tar.bz2 file has been created. Inside that file the header file is missing.
Created attachment 7478 Fix: Include headers into "make dist" packages The attached patch has been tested.
Ali Akcaagac referenced this bugreport in commit 878555a56f0b90b4ff3b9ce98cfa59d48205a710 thunarx-provider-module.h missing inside tar.bz2 file created by "make dist" (Bug #14070) https://git.xfce.org/xfce/thunar/commit?id=878555a56f0b90b4ff3b9ce98cfa59d48205a710
Thanks for the patch! Will check if we can tag 1.7.1 soon.
Gna, looks like this fix broke the gobject-introspection build :X ... further investigating
To reproduce: install package libgirepository1.0-dev ./autogen.sh --enable-introspection make
The introspection issue might be related to something different. I've been running an automate build process here, that permanently downloads Xfce Git (core components, apps and a few plugins) and builds them. Said system runs on Fedora 27 and executes every night. The above patch added the missing thunarx-provider-module.h file to the list of headers within the Makefile.am, which, after "./autogen --prefix=/usr ; make dist" includes that file into the resulting tar.bz2 file. Without that headerfile you end up getting the issue as mentioned in the first bugreport. Thunar can't be compiled without that headerfile, once you release a release tarball by issuing "make dist", which doesn't include said headerfile. There is no way around it without that patch. But I've seen other Xfce packages that received some introspection fixes recently:
Sorry, I was a bit fast on posting here ...j ust found a fix :) G_GNUC_INTERNAL needs to be removed from thunarx_provider_module_get_type to make gobject-introspection link again. .. will later on test if at well runs fine and than push.
I confirm that the build is broken ;) http://li604-44.members.linode.com/job/thunar/ @ali : is your automated build process available anywhere ? :)
(In reply to Skunnyk from comment #9) > I confirm that the build is broken ;) > http://li604-44.members.linode.com/job/thunar/ I wonder if there is a "make dist" target within Jenkins. This might have caught issues related to generating release tarballs. Since I never worked with Jenkins, I found myself a bit lost there. But it might make sense to test not just building Git, but also follow the entire process from building, testing and delivering (the release tarball). This might have caught broken builds starting from 05-12-2017. > @ali : is your automated build process available anywhere ? :) In the facility I work for.
(In reply to Ali Akcaagac from comment #10) > (In reply to Skunnyk from comment #9) > > I confirm that the build is broken ;) > > http://li604-44.members.linode.com/job/thunar/ > > I wonder if there is a "make dist" target within Jenkins. This might have > caught issues related to generating release tarballs. > > Since I never worked with Jenkins, I found myself a bit lost there. But it > might make sense to test not just building Git, but also follow the entire > process from building, testing and delivering (the release tarball). This > might have caught broken builds starting from 05-12-2017. > Yes, for now it only run basic make / make install. Running a full make dist / make distcheck is on the todo for… one day. > > @ali : is your automated build process available anywhere ? :) > > In the facility I work for. Oh, ok :)
Alexander Schwinn referenced this bugreport in commit 929fb3c4b196ff4b7f1b20d66c27435187647aad Fix for failing GObject introspection build. Followup of (Bug #14070) https://git.xfce.org/xfce/thunar/commit?id=929fb3c4b196ff4b7f1b20d66c27435187647aad
Ok, hope it can stay closed this time ;)