[MacPorts] #39246: glib2 @2.36.2: build fails with automake 1.13.2

MacPorts noreply at macports.org
Tue May 28 03:15:29 PDT 2013


#39246: glib2 @2.36.2: build fails with automake 1.13.2
---------------------------------+--------------------------
  Reporter:  md14-macports@…     |      Owner:  ryandesign@…
      Type:  defect              |     Status:  reopened
  Priority:  Normal              |  Milestone:
 Component:  ports               |    Version:  2.1.3
Resolution:                      |   Keywords:
      Port:  glib2, glib2-devel  |
---------------------------------+--------------------------
Changes (by ryandesign@…):

 * status:  closed => reopened
 * resolution:  fixed =>


Comment:

 Replying to [comment:5 jmr@…]:
 > Does running autoreconf help?

 Replying to [comment:16 jmr@…]:
 > r106494

 Thank you for trying to fix this, but I have a number of concerns with
 this fix.

 First, any change you make to glib2 should also be made to glib2-devel.

 I had considered using `autoreconf` to solve this. But the last time we
 did this, it caused the build to fail if pkgconfig was not installed
 (#32185), and I've verified this still happens today:

 {{{
 configure.ac:2650: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not
 m4_defun'd
 m4macros/gtk-doc.m4:7: GTK_DOC_CHECK is expanded from...
 configure.ac:2650: the top level
 configure.ac:88: error: possibly undefined macro: AC_DEFINE
       If this token and others are legitimate, please use
 m4_pattern_allow.
       See the Autoconf documentation.
 autoreconf: /opt/local/bin/autoconf failed with exit status: 1
 }}}

 We could add a pkgconfig build dependency to solve this. We had previously
 not been able to do this, because pkgconfig depended on glib2, but it no
 longer does (it now includes a bundled copy of glib2).

 Most problematic though, running `autoreconf` blows away the patches we're
 applying to the configure script, which I suspect caused #39258; the error
 there is:

 {{{
 :info:build girepository/girparser.c:462:11: error: duplicate case value
 '4'
 :info:build             case sizeof(guint64):
 :info:build                  ^
 :info:build girepository/girparser.c:456:11: note: previous case defined
 here
 :info:build             case sizeof(guint32):
 :info:build                  ^
 :info:build 1 error generated.
 }}}

 And the patch we want to apply relates to properly defining guint64,
 guint32 and related values.

 Instead of patching configure, we could patch configure.ac, like we were
 doing before r87503. The patch has changed slightly since that time, so if
 we copy that old patch we would need to adjust it.

 Whatever we do, we'll have to increase the revision of the glib2 port so
 that anyone who built it with the unpatched configure script will get it
 rebuilt properly.


 Replying to [comment:14 md14-macports@…]:
 > I did a `port clean glib2`, made a local copy of the Portfile and added
 this to the end of the post-patch step, and was then able to successfully
 build glib2.
 >
 > {{{
 > system "cd ${worksrcpath} && aclocal && automake"
 > }}}
 >
 > Replying to [comment:11 missourian55@…]:
 > > Now glib2 upgrade was successful but "gobject-introspection" failed
 >
 > gobject-introspection built successfully for me.

 Having the port manually run `aclocal` and `automake` would be another
 solution, since that would not regenerate the configure script. I think I
 like this solution best since it doesn't involve rewriting the patchfile,
 doesn't involve adding a pkgconfig dependency, and doesn't involve the
 time spent running `autoconf`. I'll look into it.

 The real cause of the problem is the upstream bug I mentioned in comment:1
 that they're using `automake` here at all. They shouldn't be using it
 here.


 Replying to [comment:7 egall@…]:
 > I think it would be worth it to run `autoreconf` anyway; there's a patch
 for glib2's `configure.ac` file that I've been meaning to write... but
 that's another topic...

 We don't ever just "run `autoreconf` anyway". We run it if there's a
 reason to run it, and we don't if there isn't.

-- 
Ticket URL: <https://trac.macports.org/ticket/39246#comment:17>
MacPorts <http://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list