[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