! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Thunar GIT fails to compile because of a recent change inside thunarx
Status:
RESOLVED: FIXED

Comments

Description Ali Akcaagac 2017-12-08 08:44:15 CET
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...
Comment 1 Ali Akcaagac 2017-12-08 09:44:10 CET
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.
Comment 2 Ali Akcaagac 2017-12-08 12:33:45 CET
Created attachment 7478 
Fix: Include headers into "make dist" packages

The attached patch has been tested.
Comment 3 Git Bot editbugs 2017-12-10 23:08:44 CET
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
Comment 4 alexxcons editbugs 2017-12-10 23:11:17 CET
Thanks for the patch! Will check if we can tag 1.7.1 soon.
Comment 5 alexxcons editbugs 2017-12-11 11:05:07 CET
Gna, looks like this fix broke the gobject-introspection build :X ... further investigating
Comment 6 alexxcons editbugs 2017-12-11 11:06:38 CET
To reproduce: 
install package libgirepository1.0-dev
./autogen.sh --enable-introspection
make
Comment 7 Ali Akcaagac 2017-12-11 11:23:57 CET
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:
Comment 8 alexxcons editbugs 2017-12-11 11:42:05 CET
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.
Comment 9 Skunnyk editbugs 2017-12-11 16:46:39 CET
I confirm that the build is broken ;) http://li604-44.members.linode.com/job/thunar/

@ali : is your automated build process available anywhere ? :)
Comment 10 Ali Akcaagac 2017-12-11 17:52:37 CET
(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.
Comment 11 Skunnyk editbugs 2017-12-11 18:33:17 CET
(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 :)
Comment 12 Git Bot editbugs 2017-12-11 21:25:21 CET
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
Comment 13 alexxcons editbugs 2017-12-11 21:47:31 CET
Ok, hope it can stay closed this time ;)

Bug #14070

Reported by:
Ali Akcaagac
Reported on: 2017-12-08
Last modified on: 2017-12-11

People

Assignee:
Xfce Bug Triage
CC List:
4 users

Version

Version:
unspecified

Attachments

Additional information