compiling gettext on mac os x 10.5

View: New views
4 Messages — Rating Filter:   Alert me  

compiling gettext on mac os x 10.5

by Aaron Simmons-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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

Re: compiling gettext on mac os x 10.5

by Ralf Wildenhues :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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



Parent Message unknown Re: compiling gettext on mac os x 10.5

by Ralf Wildenhues :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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



Re: compiling gettext on mac os x 10.5

by Bruno Haible :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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