After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 774069 - unable to build devhelp by jhbuild
unable to build devhelp by jhbuild
Status: RESOLVED FIXED
Product: devhelp
Classification: Applications
Component: General
git master
Other Linux
: Normal normal
: ---
Assigned To: devhelp-maint
devhelp-maint
: 774233 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2016-11-07 17:09 UTC by mohhso
Modified: 2017-03-02 14:17 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
complete result of "jhbuild build devhelp" command (10.90 KB, text/plain)
2016-11-07 17:09 UTC, mohhso
  Details
"jhbuild build devhelp" result (10.62 KB, text/plain)
2016-11-08 14:16 UTC, mohhso
  Details
build: don't use PKG_PROG_PKG_CONFIG (738 bytes, patch)
2016-11-11 00:13 UTC, Michael Catanzaro
committed Details | Review
build: Use LT_LIB_M (630 bytes, patch)
2016-11-11 00:13 UTC, Michael Catanzaro
committed Details | Review
build: Require Automake 1.14 and drop AC_PROG_CC_C_O (1.20 KB, patch)
2016-11-11 00:13 UTC, Michael Catanzaro
committed Details | Review
build: Stop using AC_PROG_CPP (614 bytes, patch)
2016-11-11 00:13 UTC, Michael Catanzaro
committed Details | Review
build: Stop setting ACLOCAL_AMFLAGS (835 bytes, patch)
2016-11-11 00:13 UTC, Michael Catanzaro
committed Details | Review
build: Use AX_IS_RELEASE and AX_COMPILER_FLAGS (2.01 KB, patch)
2016-11-11 00:13 UTC, Michael Catanzaro
committed Details | Review
build: Stop using deprecated gnome-common in autogen.sh (2.35 KB, patch)
2016-11-11 00:13 UTC, Michael Catanzaro
committed Details | Review
build: Use more AX_REQUIRE_DEFINED (1.10 KB, patch)
2016-11-11 00:13 UTC, Michael Catanzaro
committed Details | Review
build: Use APPSTREAM_XML (2.04 KB, patch)
2016-11-11 00:13 UTC, Michael Catanzaro
committed Details | Review
build: Use CLEANFILES for files built by make (1.72 KB, patch)
2016-11-11 00:13 UTC, Michael Catanzaro
committed Details | Review
build: Stop using intltool (10.27 KB, patch)
2016-11-11 00:13 UTC, Michael Catanzaro
committed Details | Review
build: Do not EXTRA_DIST autogen.sh (654 bytes, patch)
2016-11-11 00:13 UTC, Michael Catanzaro
committed Details | Review

Description mohhso 2016-11-07 17:09:57 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:
Comment 1 Sébastien Wilmet 2016-11-07 19:24:52 UTC
Update your jhbuild and try again, I've added more dependencies to the devhelp module:
https://git.gnome.org/browse/jhbuild/commit/?id=1e8a99f793ddf248011dfa429c084e0d5f60d3d6
Comment 2 mohhso 2016-11-08 14:15:37 UTC
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
Comment 3 mohhso 2016-11-08 14:16:54 UTC
Created attachment 339318 [details]
"jhbuild build devhelp" result
Comment 4 Sébastien Wilmet 2016-11-08 19:22:07 UTC
This is not a jhbuild support forum.
Comment 5 Michael Catanzaro 2016-11-10 22:15:00 UTC
*** Bug 774233 has been marked as a duplicate of this bug. ***
Comment 6 Michael Catanzaro 2016-11-10 22:17:36 UTC
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.
Comment 7 Michael Catanzaro 2016-11-10 22:48:31 UTC
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.
Comment 8 Michael Catanzaro 2016-11-11 00:13:09 UTC
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.
Comment 9 Michael Catanzaro 2016-11-11 00:13:12 UTC
Created attachment 339553 [details] [review]
build: Use LT_LIB_M
Comment 10 Michael Catanzaro 2016-11-11 00:13:16 UTC
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.
Comment 11 Michael Catanzaro 2016-11-11 00:13:19 UTC
Created attachment 339555 [details] [review]
build: Stop using AC_PROG_CPP

We don't use $(CPP) anywhere so this doesn't belong.
Comment 12 Michael Catanzaro 2016-11-11 00:13:23 UTC
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.
Comment 13 Michael Catanzaro 2016-11-11 00:13:27 UTC
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.
Comment 14 Michael Catanzaro 2016-11-11 00:13:30 UTC
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.
Comment 15 Michael Catanzaro 2016-11-11 00:13:34 UTC
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.
Comment 16 Michael Catanzaro 2016-11-11 00:13:37 UTC
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.
Comment 17 Michael Catanzaro 2016-11-11 00:13:41 UTC
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....
Comment 18 Michael Catanzaro 2016-11-11 00:13:45 UTC
Created attachment 339562 [details] [review]
build: Stop using intltool

intltool is deprecated.
Comment 19 Michael Catanzaro 2016-11-11 00:13:49 UTC
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.
Comment 20 Michael Catanzaro 2016-11-11 00:16:31 UTC
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....
Comment 21 Sébastien Wilmet 2016-11-12 10:49:31 UTC
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.
Comment 22 Sébastien Wilmet 2016-11-12 10:51:43 UTC
Review of attachment 339554 [details] [review]:

I did the same patch, now pushed as commit 9d588c27b89.
Comment 23 Sébastien Wilmet 2016-11-12 10:54:03 UTC
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.
Comment 24 Michael Catanzaro 2016-11-12 17:15:32 UTC
(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 25 Sébastien Wilmet 2016-11-12 17:31:37 UTC
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 26 Sébastien Wilmet 2016-11-12 17:37:02 UTC
Comment on attachment 339553 [details] [review]
build: Use LT_LIB_M

Ok, pushed with a more detailed commit message.
Comment 27 Sébastien Wilmet 2016-11-12 17:53:25 UTC
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.
Comment 28 Piotr Drąg 2016-11-12 18:25:35 UTC
For some reason Description in misc/gedit-plugin/devhelp.plugin.desktop.in doesn't get extracted to pot/po files.
Comment 29 Sébastien Wilmet 2016-11-12 19:37:23 UTC
(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.
Comment 30 Michael Catanzaro 2016-11-12 19:38:16 UTC
Hm, I actually tried --disable-Werror without any luck... strange.
Comment 31 Sébastien Wilmet 2017-03-02 14:17:54 UTC
(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"