Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

compiling gettext on mac os x 10.5

9 views
Skip to first unread message

Simmons, Aaron

unread,
Oct 23, 2009, 1:56:16 PM10/23/09
to bug-gnu...@gnu.org
I'm trying to build gettext on mac os x 10.5. After running configure (with no args) I run make and after a while get this error:

Making all in gettext-tools
cd . && /bin/sh /Users/asimmons/Development/glib2/gettext-0.17/build-aux/missing --run autoconf
gnulib-m4/openmp.m4:29: error: m4_copy: won't overwrite defined macro: _AC_LANG_OPENMP(C++)
gnulib-m4/openmp.m4:29: the top level
autom4te: /opt/local/bin/gm4 failed with exit status: 1
make[1]: *** [configure] Error 1
make: *** [all-recursive] Error 1


I'm sure gettext needs some version of a tool that I don't have, but I'm not sure what. Any ideas?


Thanks,
aaron

Ralf Wildenhues

unread,
Oct 23, 2009, 3:12:57 PM10/23/09
to Simmons, Aaron, bug-gnu...@gnu.org
Hello Aaron,

* Simmons, Aaron wrote on Fri, Oct 23, 2009 at 07:56:16PM CEST:
> I'm trying to build gettext on mac os x 10.5. After running configure
> (with no args) I run make and after a while get this error:
>
> Making all in gettext-tools
> cd . && /bin/sh /Users/asimmons/Development/glib2/gettext-0.17/build-aux/missing --run autoconf
> gnulib-m4/openmp.m4:29: error: m4_copy: won't overwrite defined macro: _AC_LANG_OPENMP(C++)
> gnulib-m4/openmp.m4:29: the top level
> autom4te: /opt/local/bin/gm4 failed with exit status: 1
> make[1]: *** [configure] Error 1
> make: *** [all-recursive] Error 1

The first thing that's weird is that building from a tarball shouldn't
cause autoconf to be run at all. Did your system somehow mess up time
stamps when extracting the package?

Then, the error comes from a semantic change of the (formerly
undocumented) m4_copy macro in Autoconf 2.64. If you can't get the time
stamps fixed, then replacing all instances of m4_copy with m4_copy_force
in said macro file should fix this error for Autoconf 2.64. (A fix
portable to older Autoconf versions as well would be to prepend a
m4_copy([MACRO]) with m4_undefine([MACRO])

Hope that helps.

Cheers,
Ralf


Ralf Wildenhues

unread,
Oct 23, 2009, 3:37:03 PM10/23/09
to Simmons, Aaron, bug-gnu...@gnu.org
Hello Aaron,

please don't top-post, and please keep the mailing list in Cc:, thanks.

* Simmons, Aaron wrote on Fri, Oct 23, 2009 at 09:25:16PM CEST:
> I have the gettext 0.17 source in our svn. When it gets checked out
> the files get today's date, which are of course different than the
> dates of the file inside the tarball...
>
> Since you mentioned it, I tried building it directly from the tarball
> and its working. But my svn copy isn't!

Good.

> Does this mean that the build checks for a specific hard-coded date
> for a file and triggers autoconf if the date is past that? Surely not!

No. autoconf is triggered for example if the date of the configure
script is older than the date of one of the files that the script is
generated from: configure.ac, aclocal.m4, possibly other macro files.

This is all documented in the manuals:
<http://www.gnu.org/software/autoconf/manual/html_node/Making-configure-Scripts.html>
<http://www.gnu.org/software/automake/manual/html_node/Rebuilding.html>

Cheers,
Ralf


Bruno Haible

unread,
Oct 24, 2009, 9:06:39 AM10/24/09
to Ralf Wildenhues, Simmons, Aaron, bug-gnu...@gnu.org
Hello Aaron,

Ralf Wildenhues wrote:
> Then, the error comes from a semantic change of the (formerly
> undocumented) m4_copy macro in Autoconf 2.64.

openmp.m4 has been changed to account for this:
http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=2d4d59aaea5da3c4f1466055c44881ed82833ee5
but of course this change was not contained in gettext 0.17 when that
was released.

> > I have the gettext 0.17 source in our svn. When it gets checked out
> > the files get today's date, which are of course different than the
> > dates of the file inside the tarball...
>

> No. autoconf is triggered for example if the date of the configure
> script is older than the date of one of the files that the script is
> generated from: configure.ac, aclocal.m4, possibly other macro files.
>
> This is all documented in the manuals:
> <http://www.gnu.org/software/autoconf/manual/html_node/Making-configure-Scripts.html>
> <http://www.gnu.org/software/automake/manual/html_node/Rebuilding.html>

Yes, and that's the reason why
- we distribute tarballs,
- when offering the sources through a versioning system, we have an
'autogen.sh' or 'bootstrap' script that you are meant to execute
after doing the checkout.

If you put the tarball's contents into a versioning system of your own,
you are in the middle between both situations. Write an autogen.sh script
for yourself that will 'touch' the generated files in the right order...

Bruno


0 new messages