Ticket #663 (closed bug: fixed)

Opened 5 months ago

Last modified 5 months ago

Hydra configure problem

Reported by: gropp Owned by: gropp
Priority: major Milestone:
Component: mpich2 Keywords:
Cc:

Description (last modified by gropp) (diff)

When I run maint/updatefiles , the configure.in in hydra doesn't have the AM_xxx macros replaced, leaving them in the generated configure. Configure then chokes at the AM_INIT_AUTOMAKE line.

Attachments

Change History

  Changed 5 months ago by gropp

  • description modified (diff)

  Changed 5 months ago by goodell

I already hassled Pavan about this. It ought to be fixed by r4764 (I'm still rebuilding, so I can't tell you for sure).

-Dave

  Changed 5 months ago by goodell

  • status changed from new to closed
  • resolution set to fixed

It now builds for me. I'm going to resolve this. If it's still broken for you, Bill, reopen this and we'll take a look.

-Dave

  Changed 5 months ago by gropp

  • status changed from closed to reopened
  • resolution fixed deleted

Now the autoconf step fails:

autoreconf: running: aclocal --force -I confdb configure.in:82: warning: macro `AM_SUBST_NOTMAKE' not found in library configure.in:120: warning: macro `AM_SUBST_NOTMAKE' not found in library configure.in:121: warning: macro `AM_SUBST_NOTMAKE' not found in library configure.in:122: warning: macro `AM_SUBST_NOTMAKE' not found in library configure.in:140: warning: macro `AM_SUBST_NOTMAKE' not found in library configure.in:166: warning: macro `AM_SUBST_NOTMAKE' not found in library configure.in:167: warning: macro `AM_SUBST_NOTMAKE' not found in library configure.in:168: warning: macro `AM_SUBST_NOTMAKE' not found in library configure.in:183: warning: macro `AM_SUBST_NOTMAKE' not found in library configure.in:209: warning: macro `AM_SUBST_NOTMAKE' not found in library configure.in:210: warning: macro `AM_SUBST_NOTMAKE' not found in library configure.in:211: warning: macro `AM_SUBST_NOTMAKE' not found in library

Bill

  Changed 5 months ago by goodell

Do you have an old aclocal? Unfortunately, because of this exact AM_SUBST_NOTMAKE feature "old" is anything before 1.11.

  Changed 5 months ago by gropp

Yes, my Mac came with aclocal et al installed in /usr/local/bin , and it is version 1.10 . Given the lack of backward compatibility in the autotools, I'd rather not install an update, lest something different break. It also appears that maint/updatefiles will no longer complete, failing because I don't have automake 1.11 (which appears to be only a month old). Is there some way I can continue to build the rest of MPICH2 without having to mess around with a brand new automake?

  Changed 5 months ago by balaji

There's no easy way to roll back to an older version without reverting in the svn. Can you install automake-1.11 in an alternate path (in your home directory) and use the --with-automake option to maint/updatefiles?

  Changed 5 months ago by gropp

That seems to work. I recommend adding something like AUTOMAKE_1_11_DIR so that I can set that location in my login script and forget about it. I expect a lot of developers will run into the same trouble. The lack of backward compatibility between minor versions of the autotools means that there isn't any such thing as "upgrading" for them (I don't know if 1.10 and 1.11 are compatible or not, but given past history and the large gap in time between 1.10 and 1.11, I wouldn't want to count on it).

  Changed 5 months ago by goodell

You can also set the environment variables for specific autotools in order to specify their location if you don't want to put them in your path.

Something like:

export AUTOMAKE=/path/to/automake-1.11 export ACLOCAL=/path/to/aclocal-1.11

or the equivalent tcsh statements, since IIRC that's the shell you prefer. However, be aware that some tools, such as autoreconf, will use these variables as well, so you will have to unset them when using autoreconf on other projects if you want to use the system-installed automake for them instead for some reason.

There is an alternative implementation that we can use to avoid the need for AM_SUBST_NOTMAKE. We are using AM_SUBST_NOTMAKE instead of AC_SUBST wherever a configure substitution might contain embedded newlines, usually for code snippets that are generated by configure. We could instead dump these values into a file to be included at config.status time via AC_OUTPUT_COMMANDS (or whatever the updated version of that is, I think AC_CONFIG_COMMANDS). This was my original proposal for fixing this since it doesn't require any particularly modern version of automake, although it does require a bit more effort to implement.

-Dave

  Changed 5 months ago by gropp

Thanks - the reason that I asked for AUTOMAKE_1_11_DIR was exactly to avoid having the tools pick up the "wrong" versions - I don't want to override the defaults. If I have the option of saying where a particular version of AUTOMAKE is, I don't have to remember to do anything when running updatefiles (It sounds like I may also need an ACLOCAL_1_11_DIR as well?)

  Changed 5 months ago by gropp

Perhaps the following environment variables would be less ugly:

MPICH2_AUTOTOOLS_DIR MPICH2_AUTOMAKE_DIR MPICH2_ACLOCAL_DIR MPICH2_AUTOCONF_DIR

each could be set to the directory containing whatever versions of these are required for MPICH2. These would be inferior to the command line but take precedence over AUTOMAKE etc. They have the advantage of solving the next problem, requiring autoconf-2.63 to get a correct version of the bigendian test :)

follow-ups: ↓ 14 ↓ 15   Changed 5 months ago by gropp

Let me rephrase my last note - would there be any objection if I implemented what I proposed? That would let me (and other nervous developers) setup their environment for maint/updatefiles without needing to make use of special options/env variables just for that step.

  Changed 5 months ago by Rajeev Thakur

It's ok with me.

Rajeev

> Comment (by gropp):
>
>  Let me rephrase my last note - would there be any objection
> if I  implemented what I proposed?  That would let me (and
> other nervous
>  developers) setup their environment for maint/updatefiles
> without needing  to make use of special options/env variables
> just for that step.

in reply to: ↑ 12   Changed 5 months ago by chan

It is OK with me. I will update MPE's maint/updatefiles to read the MPICH2_AUTO*_DIR variables.

A.Chan

in reply to: ↑ 12   Changed 5 months ago by balaji

Replying to gropp:

Let me rephrase my last note - would there be any objection if I implemented what I proposed? That would let me (and other nervous developers) setup their environment for maint/updatefiles without needing to make use of special options/env variables just for that step.

Sorry, didn't mean to ignore it. I wanted to do this once I get back from travel. But if you have some spare cycles and can fix it before that, that'll be great too.

  Changed 5 months ago by gropp

  • owner set to gropp
  • status changed from reopened to new

I'll add it today.

  Changed 5 months ago by gropp

  • status changed from new to closed
  • resolution set to fixed

trac discarded my text again - fixed, MPICH2_ACLOCAL_DIR was dropped and replaced with MPICH2_AUTOTOOLS_DIR

WARNING! You need to either login using OpenID here or enter your email address here before you can create or edit tickets. Otherwise the ticket will get treated as spam. More information on creating tickets can be found here.

Don't forget to add your email address to the cc list to make sure that you get updated of the ticket status.

Add/Change #663 (Hydra configure problem)

Author



Change Properties
Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.