Hi Lars,

Thanks for the information.  You are right - I was confusing 'make' and
'automake'.   Adding the build dependency and the preconfigopts got me
to the next error :-)

Cheers,

Loris

Lars Viklund <[email protected]> writes:

> Hi!
>
> The easyblock does not pull in any build dependencies, so unless specified 
> you do not have any other tools than the ones that may happen to be installed 
> on your system.
>
> Please note that (GNU) Make and Automake are two completely different pieces 
> of software. In EasyBuild there's an Autotools bundle of Autoconf and 
> Automake. Make is typically provided by your operating system packages.
>
> You should probably pull in a build dependency like `('Autotools', 
> '20200321'),` to have a good Autotools installation available.
>
> A common pattern in existing easyconfigs is to use `preconfigopts` to inject 
> things to run before the configure command, like:
>
>   preconfigopts = 'make && '
>
> With kind regards,
>
> Lars
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> From: [email protected] <[email protected]> on 
> behalf of Loris Bennett <[email protected]>
> Sent: Monday, March 15, 2021 11:34:59 AM
> To: easybuild
> Subject: [easybuild] 'make' required before 'configure/make' 
>  
> Hi,
>
> I'm looking the installation instructions for Macaulay2
>
>   https://github.com/Macaulay2/M2/blob/release-1.17/M2/INSTALL
>
> in which is says
>
>   Begin with this command:
>
>           make
>
>   The "make" command above runs the commands "autoconf" and "autoheader", 
> which
>   create the "configure" script and the "include/config.h.in" file, needed in 
> the
>   next steps.  Once those files are created, it is not necessary to make them
>   again.  The "make" command on your system should be a recent version of GNU
>   make.
>
>   Now continue building the program this way:
>
>           ./configure --enable-download --prefix=/foo/bar
>           make
>           make check                      # optional
>           make install
>
> My naive approach was use 
>
>   easyblock = 'ConfigureMake'
>
> with
>
>   configure_cmd = 'make && ./configure' 
>
> but this results in the error
>
>   error: the automake program installed on your system (automake is 
> /usr/bin/automake) is too old.
>
>   Please install or update automake: the version (1.13.4) should be at least 
> 1.16.
>   make[2]: Entering directory 
> `/trinity/shared/easybuild/build/Macaulay2/1.17/foss-2020b/M2-release-1.17/M2'
>
> So it seems that the system 'make' is being used rather than the one
> from the EB toolchain.
>
> How should I deal with this pre-configure 'make'?
>
> Cheers,
>
> Loris
-- 
Dr. Loris Bennett (Hr./Mr.)
ZEDAT, Freie Universität Berlin         Email [email protected]

Reply via email to