Bug 65506 - generates broken configure
generates broken configure
Status: CLOSED DEFERRED
Product: Red Hat Linux
Classification: Retired
Component: autoconf (Show other bugs)
7.3
All Linux
medium Severity high
: ---
: ---
Assigned To: Jens Petersen
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2002-05-26 01:50 EDT by Olivier Crête
Modified: 2007-04-18 12:42 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2002-05-31 07:58:58 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
broken configure script... (209.38 KB, text/plain)
2002-05-29 20:38 EDT, Olivier Crête
no flags Details

  None (edit)
Description Olivier Crête 2002-05-26 01:50:09 EDT
Description of Problem:

Generates configure scrits that try to run config.sub ($ac_config_sub) before
having defined the $ac_config_sub variable... 

Version-Release number of selected component (if applicable):
2.13-17

2.53 is also installed in parallel..
automake 1.4 and 1.5 are installed too...

I believe I'm using automake1.4 and autoconf2.13 by default...

How Reproducible:

every time

Steps to Reproduce:
1. cvs -d :pserver:anonymous@anoncvs.gnome.org:/cvs/gnome checkout gnomeicu
2. cd gnomeicu
3. ./autogen

Actual Results:

Running ./configure --enable-maintainer-mode --enable-compile-warnings ...
loading cache ./config.cache
configure: error: can not run 


Expected Results:

Running ./configure --enable-maintainer-mode --enable-compile-warnings ...
loading cache ./config.cache
(RUN config.sub HERE)


Additional Information:
	
It used top work on 7.2.. It works with other distributions (debian woody, etc..)
Comment 1 Olivier Crête 2002-05-26 01:56:44 EDT
I can also add that I'm one of the maintainers of gnomeicu...
and that it also tried to use $ac_config_guess before defining it...
and that just copying the relevant detection code before the use does the job....
Comment 2 Enrico Scholz 2002-05-29 18:31:31 EDT
Can you please call the auto* commands manually to see which one fails? It may
be a temporary issue, but currently I get:

| [ensc@kosh gnomeicu]$ aclocal-1.4 -I macros
| aclocal: configure.in: 34: macro `AM_PATH_GNET' not found in library

which indicates an error in configure.in (AM_PATH_GNET is not documented in
automake.info so it is properly a typo).
Comment 3 Olivier Crête 2002-05-29 20:38:07 EDT
Created attachment 58905 [details]
broken configure script...
Comment 4 Olivier Crête 2002-05-29 20:40:45 EDT
missing AM_PATH_GNET probably means that you need libgnet (www.gnetlibrary.org)...

Currently all of the auto's run correctly.. The problem is when I run configure
I get...

Running ./configure --enable-maintainer-mode --enable-compile-warnings ...
loading cache ./config.cache
configure: error: can not run 

and there is stops... and this is the line where it is supposed to run
$ac_config_sub
but $ac_config_sub is defined later.... 

I've attached an example of broken configure script...
Comment 5 Enrico Scholz 2002-05-29 21:35:35 EDT
Yes; can reproduce it with a minimal example of

----
AC_INIT(src/gnomeicu.c)
AM_INIT_AUTOMAKE(gnomeicu, 0.98.2.7)
AM_ICONV
AC_OUTPUT()
----

A workaround will be

| AC_REQUIRE([AC_LIB_RPATH])

somewhere before the AM_ICONV. Because these iconv-stuff is defined by gettext,
it seems to be bad interaction between gettext and autoconf.

More recent versions of autoconf do not show the error.
Comment 6 Enrico Scholz 2002-05-29 22:13:52 EDT
A more general and plain autoconf example is

---- configure.in -----
AC_DEFUN([FOO],
[AC_REQUIRE([AC_PROG_INSTALL])])


AC_INIT(X)
FOO
AC_REQUIRE([AC_CANONICAL_HOST])
AC_OUTPUT([])
---------
Comment 7 Olivier Crête 2002-05-29 23:03:29 EDT
adding AC_REQUIRE([AC_LIB_RPATH]) does make it work...

but then po/Makevars is not included in po/Makefile

And it does that even if I use autoconf-2.53....
I think that's a gettext bug not autoconf... but.. you may know better than I do...

Comment 8 Enrico Scholz 2002-05-30 08:26:34 EDT
Please remove the AC_REQUIRE([]) and use the plain AC_LIB_RPATH statement only;
AC_REQUIRE should not be used in configure.in... (sorry, when I wrote my
comments above it was late and the coffee ran out).

You are right; the shipped gettext is borken (e.g. $(top_builddir) in
po/Makefile.in.in is undefined, MSGMERGE_UPDATE has a strange definition,
intltoolize from intltool-0.18-2 does not work).
Comment 9 Enrico Scholz 2002-05-30 08:54:44 EDT
Mmmh, I must correct me again... gettext is not guilty. AM_GNOME_GETTEXT is 
responsible for the missing Makevars.

When using 'AM_GNU_GETTEXT' *after* AM_GNOME_GETTEXT the po/Makefile will be
genereated correctly
Comment 10 Jens Petersen 2002-05-30 22:08:54 EDT
Is there anything that autoconf213 should do to help out here?
Comment 11 Olivier Crête 2002-05-30 22:52:23 EDT
adding
AC_LIB_RPATH
and replacing AM_GNOME_GETTEXT with AM_GNU_GETTEXT in configure.in
and adding the intl dir and adding intl to subdirs
seems to make it work... 
But I suppose that would break older gettexts.....?
Comment 12 Enrico Scholz 2002-05-31 07:58:52 EDT
The "broken" AM_ICONV macro is an autoconf213 issue but I am not sure if
gettext-0.11.2 is indented to be used with this old version and what there can
be done. Well, somebody can spend energy into tracing the exact reason of the
misbehavior, but autoconf-2.13 is old and it would be wasted time IMHO.

autoconf-2.13 is the standard autoconf in RH 7.3 because of backward
compatibility. IMO, people should use autoconf-2.53 in new projects which can be
used in RH by calling 'autoconf-2.53' instead of 'autoconf'. When the GNOME
people would make their autogen.sh scripts more general and simple (e.g. the
GnomeICU macros/autogen.sh can be replaced entirely with

| intltoolize
| autoreconf -i

(you will need to add 'ACLOCAL_AMFLAGS = -I macros' to Makefile.am also))

then the developer can choose the used autoconf executable by specifying it on
the cmdline:

| AUTOCONF=autoconf-2.53 ./autogen.sh

When using the 'autoreconf' way, advanced automake techniques like 'make
distcheck' will be possible which are helping to generate better packages.



About AM_GNOME_GETTEXT vs. AM_GNU_GETTEXT: on the first glance, AM_GNOME_GETTEXT
*looks* like a rewrite of an elder AM_GNU_GETTEXT. This is bad  and
preprogrammes brokeness. I do not know enough about Gnome-developing so I can
miss important things, but adding some directories manually seems to be a low
price for gaining compatibility. 

If AM_GNU_GETTEXT works for you and the other developers of GnomeICU I would use
it instead of the AM_GNOME_GETTEXT variant. The user who compiles GnomeICU and
has an older gettext version will not be affected because he does not need to
rebuild the build-system.
Comment 13 Jens Petersen 2002-11-22 21:07:35 EST
Ok, I'm deferring this for now.

Note You need to log in before you can comment on or make changes to this bug.