[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: I am missing something, but don't know what
From: |
Roberto Bagnara |
Subject: |
Re: I am missing something, but don't know what |
Date: |
Tue, 03 Feb 2004 18:23:38 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040116 |
Bruno Haible wrote:
# Declare the version number of the Gettext infrastructure we are using.
AM_GNU_GETTEXT_VERSION
The last thing I did was to add `po' to SUBDIRS in the
top-level Makefile.am (we also use automake).
That should be all that's is needed. (OK, the AM_GNU_GETTEXT_VERSION should
be invoked with an argument, like 0.14.1, but this cannot be a problem
at this point.)
Fixed, thanks.
Of course something is missing, isn't it?
As a result of configure we end up with
`Makefile.in' in the builddir/po directory,
but who is supposed to create `Makefile' in
that directory?
The po/Makefile is created by config.status just after creating
po/Makefile.in. It's a special code inside the AM_PO_SUBDIRS
macros which implements this.
So here is the problem: config.status is creating only
po/Makefile.in but not Makefile. Here is the relevant
output:
[...]
config.status: creating src/Makefile
config.status: creating src/version.hh
config.status: creating tests/Makefile
config.status: creating m4/Makefile
config.status: creating po/Makefile.in
config.status: creating doc/Makefile
config.status: creating doc/user-browse.doxyconf-latex
[...]
and in fact
$ ls -l po
total 16
-rw-rw-r-- 1 roberto roberto 12528 Feb 3 17:43 Makefile.in
$
If you end up with a po/Makefile.in but no po/Makefile, the likely
reason is that your 'configure' script is using a wrong version of the
AM_GNU_GETTEXT or AM_PO_SUBDIRS macro. I'd make sure that:
- The package's m4/ directory contains the gettext.m4 and po.m4
files that come from the right gettext version,
$ cd m4
$ diff gettext.m4
/usr/local/distrib/gettext-0.14.1/gettext-runtime/m4/gettext.m4
$ diff po.m4 /usr/local/distrib/gettext-0.14.1/gettext-runtime/m4/po.m4
- You have generated aclocal.m4 with the right -I argument pointing
into this directory, (Attention: If you're using automake, take a look at
the ACLOCAL_AMFLAGS variable.)
At the beginning of Makefile.am in the top srcdir there is
# Tell aclocal where to find `.m4' files.
ACLOCAL_AMFLAGS = -I m4
Moreover, judging from the trace files in autom4te.cache
it seems these are indeed the files that have been used.
- You have generated 'configure' using this aclocal.m4.
I am pretty sure about that.
A sample program with all the automake/autoconf machinery is found in the
examples/hello-c/ directory that GNU gettext installs.
That works as expected. However it is a bit strange. Running ./autogen.sh
materialized in the m4 directory a version of po.m4 that begins with
# po.m4 serial 2 (gettext-0.13)
which is strange, because gettext 0.13 is not installed on my system
and running a `find / -name po.m4' yields only 3 identical po.m4
that begin with
# po.m4 serial 3 (gettext-0.14)
What can I do to investigate things further?
Thanks a lot,
Roberto
--
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:address@hidden