GNOME Bugzilla – Bug 774069
unable to build devhelp by jhbuild
Last modified: 2017-03-02 14:17:54 UTC
Created attachment 339261 [details] complete result of "jhbuild build devhelp" command I am unable to build devhelp using jhbuild, please check the attachment for the complete command result. I was building gnome-builder and all modules has been built fine except devhelp, then I tried to build alone and the same problem. I tried to wipe the directory but no luck also. PC info: Pavilion dv6 8GB RAM Linux localhost.localdomain 4.8.4-200.fc24.x86_64 #1 SMP Tue Oct 25 13:06:04 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux Error message: *** Configuring devhelp *** [36/36] /home/mohhso/jhbuild/checkout/devhelp/autogen.sh --prefix /home/mohhso/jhbuild/install --disable-Werror --disable-static --disable-gtk-doc /home/mohhso/jhbuild/install/bin/gnome-autogen.sh fatal: Not a git repository (or any parent up to mount point /home) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). gtkdocize: neither configure.ac nor configure.in exist *** Error during phase configure of devhelp: ########## Error running /home/mohhso/jhbuild/checkout/devhelp/autogen.sh --prefix /home/mohhso/jhbuild/install --disable-Werror --disable-static --disable-gtk-doc *** [36/36] [1] Rerun phase configure [2] Ignore error and continue to build [3] Give up on module [4] Start shell [5] Reload configuration [6] Go to phase "wipe directory and start over" [7] Go to phase "clean" [8] Go to phase "distclean" choice:
Update your jhbuild and try again, I've added more dependencies to the devhelp module: https://git.gnome.org/browse/jhbuild/commit/?id=1e8a99f793ddf248011dfa429c084e0d5f60d3d6
still unable to build, I removed jhbuild, then build it again, also wiped the directory of devhelp but no luck. I tried to build devhelp on another fedora 24 machine and the same problem. I did the following to remove and install jhbuild: [mohhso@localhost checkout]$ rm -r jhbuild [mohhso@localhost checkout]$ git clone git://git.gnome.org/jhbuild [mohhso@localhost checkout]$ cd jhbuild [mohhso@localhost jhbuild]$ ./autogen.sh [mohhso@localhost jhbuild]$ make [mohhso@localhost jhbuild]$ make install check result2.txt for "jhbuild build devhelp" result
Created attachment 339318 [details] "jhbuild build devhelp" result
This is not a jhbuild support forum.
*** Bug 774233 has been marked as a duplicate of this bug. ***
It's good to add the missing dependencies, but actually you can see from the build log that they were built anyway due to some transitive dependency. The problem is that devhelp's autogen.sh is broken, it tries to run 'git submodule update' is the build directory instead of the source directory. Anyway, gnome-common is deprecated so it's time to move away from that. https://wiki.gnome.org/Projects/GnomeCommon/Migration shows how to write autogen.sh properly.
I'm going to post a bunch of patches to modernize the build system. They're overkill to fix this bug -- we only need to add a cd in autogen.sh really -- but I've got time to kill while building Chromium so why not fix it up nicely.
Created attachment 339552 [details] [review] build: don't use PKG_PROG_PKG_CONFIG The first use of PKG_CHECK_MODULES is unconditional and we don't call it manually anywhere, so it's useless to call PKG_PROG_PKG_CONFIG.
Created attachment 339553 [details] [review] build: Use LT_LIB_M
Created attachment 339554 [details] [review] build: Require Automake 1.14 and drop AC_PROG_CC_C_O Everyone building Devhelp from git master surely has Automake 1.14, there's no way to build GNOME without it. Require it so that we can drop this useless macro.
Created attachment 339555 [details] [review] build: Stop using AC_PROG_CPP We don't use $(CPP) anywhere so this doesn't belong.
Created attachment 339556 [details] [review] build: Stop setting ACLOCAL_AMFLAGS This is deprecated and will break with a future version of Automake. Also, we already call AC_CONFIG_MACRO_DIR([m4]) in configure.ac, so it's also useless. The downside is that it will introduce a nag warning from libtool, but that's a libtool bug.
Created attachment 339557 [details] [review] build: Use AX_IS_RELEASE and AX_COMPILER_FLAGS GNOME_COMPILER_FLAGS is deprecated and should not be used. Its replacement is AX_COMPILER_FLAGS. That expects AX_IS_RELEASE to be called first.
Created attachment 339558 [details] [review] build: Stop using deprecated gnome-common in autogen.sh Follow recommended practice for writing an autogen.sh instead of using deprecated gnome-common. In particular, note that this makes it possible to build devhelp in jhbuild again. Apparently nobody has tested this since jhbuild switched to using builddir != srcdir, as it was trying to run git inside the build directory rather than the source directory.
Created attachment 339559 [details] [review] build: Use more AX_REQUIRE_DEFINED Now that we depend on autoconf-archive, give some better error messages in the case autoconf-archive is available but other required macros are not.
Created attachment 339560 [details] [review] build: Use APPSTREAM_XML Surprising that devhelp is manually handling appdata files still. This would be a good time to start validating that the file is actually good.
Created attachment 339561 [details] [review] build: Use CLEANFILES for files built by make Best practice is to use CLEANFILES to clean stuff build by make, and DISTCLEANFILES only for stuff built by configure. Everyone has to run make and it's very unexpected for 'make clean' to not clean things it builds....
Created attachment 339562 [details] [review] build: Stop using intltool intltool is deprecated.
Created attachment 339563 [details] [review] build: Do not EXTRA_DIST autogen.sh It serves no purpose in tarballs. autoreconf is easy enough to use directly.
Unfortunately it doesn't pass distcheck because -Werror is appearing for some reason I haven't been able to figure out. :( My best guess is a bug in AX_COMPILER_FLAGS, but I really don't know. I've wasted too much time on this now so don't plan to debug it more, sorry. Best workaround would be to just fix the compiler warnings....
I already started doing some cleanups in the build system, in bug #773900. So I have now pushed those patches, and started pushing yours. Now the jhbuild problem should be fixed with the new autogen.sh.
Review of attachment 339554 [details] [review]: I did the same patch, now pushed as commit 9d588c27b89.
Review of attachment 339553 [details] [review]: $(LIBM) is present in src/Makefile.am. Will it still work? The commit message doesn't explain the details.
(In reply to Sébastien Wilmet from comment #23) > Review of attachment 339553 [details] [review] [review]: > > $(LIBM) is present in src/Makefile.am. Will it still work? The commit > message doesn't explain the details. Yeah, LT_LIB_M defines $(LIBM).
Comment on attachment 339557 [details] [review] build: Use AX_IS_RELEASE and AX_COMPILER_FLAGS Pushed, with another commit to add --disable-Werror to AM_DISTCHECK_CONFIGURE_FLAGS.
Comment on attachment 339553 [details] [review] build: Use LT_LIB_M Ok, pushed with a more detailed commit message.
Thanks a lot for all those commits, Michael! make distcheck now still passes, but with --disable-Werror. The AppData was also not valid (missing update_contact), which is now fixed.
For some reason Description in misc/gedit-plugin/devhelp.plugin.desktop.in doesn't get extracted to pot/po files.
(In reply to Piotr Drąg from comment #28) > For some reason Description in misc/gedit-plugin/devhelp.plugin.desktop.in > doesn't get extracted to pot/po files. I have filed bug #774338 about this problem and commented on it, because this bug can become difficult to follow.
Hm, I actually tried --disable-Werror without any luck... strange.
(In reply to Michael Catanzaro from comment #20) > Unfortunately it doesn't pass distcheck because -Werror is appearing for > some reason I haven't been able to figure out. :( Fixed properly: https://git.gnome.org/browse/devhelp/commit/?id=3a53909ca3869005aeceb3f13c88da930b818a3a "build: move AX_IS_RELEASE after AC_INIT"