Closed kibaekkim closed 4 years ago
Can you post the output of the command you actually ran? Make sure that the version of autoconf you installed is the one found by which autoconf
.
I think it should be COIN_AUTOTOOLS_DIR=$HOME
Oh, sorry, I missed that you had actually posted output!
I think it should be
COIN_AUTOTOOLS_DIR=$HOME
No, that does not work either.
kibaekkim@Kibaeks-MacBook-Pro [13:51:41] [~/Documents/REPOS/BuildTools] [master]
-> % COIN_AUTOTOOLS_DIR=$HOME ./run_autotools -h
Using COIN_AUTOTOOLS_DIR=/Users/kibaekkim
usage: run_autotools [-h] [-[n]r] [-ni] [-f] [ directory directory ... ]
-h | --help print help message and exit
-r | --recursion do recursive search for configure.ac files
-nr | --no-recursion do not do recursive search for configure.ac files
-ni | --dependent do not install scripts necessary for an independent unit
-f | --foreign process foreign configuration files (configure.ac
does not contain COIN configuration macros).
-d | --dryrun exit immediately after determining the list of
directories to be processed
Default is no recursion, install scripts for an independent unit.
If no directories and -r are specified, the tree rooted at the current
directory is searched recursively for directories with configure.ac
files containing COIN configuration macros (AC_COIN_*) and autotools
is run in those directories. Directories listed in COIN_SKIP_PROJECTS
are skipped. If directories are specified on the command line, the
search for configure.ac files is restricted to the specified directories.
In each directory where a configure.ac file is found, this script will
refresh a set of autotools scripts (listed below) necessary for a unit that
will be installed independently.
The -ni (--dependent) option will suppress refresh of the autotools scripts
(but will not delete existing scripts). This will be suppressed in *all*
directories processed.
The most common scenario for run_autotools is to process a project with a
configure.ac file in the top-level directory of the project and no nested
configure.ac files. Hence the default of no recursion and install autotools
scripts. The -r option is useful if you have multiple COIN projects in
sibling directories and want to do a batch run of autotools on all of them.
The -f (--foreign) option causes run_autotools to process any configure.ac,
even if it contains no COIN macros. Occasionally useful for adapting
ThirdParty native configuration for COIN. Be sure you know what you're
doing.
The environment variable COIN_AUTOTOOLS_DIR can be used to point to an alternate
installation of the autotools (current location /Users/kibaekkim)
Default autotools versions:
autoconf: 2.69
automake: 1.16.2
libtool: 2.4.6
Autotools scripts: config.guess config.sub depcomp install-sh ltmain.sh missing compile ar-lib
Hmm, I guess I still don't really understand what you're doing and what you're expecting to happen. When you run it with -h
, all it's ever going to do is to dump out the help. If you want it to do something, you need to give the directory in which you want it to run as an argument. I usually just run it from the directory I want to generate the configure file in, as follows
cd <dir/where/proj/lives>
COIN_AUTOTOOLS_DIR=$HOME ./run_autotools .
It should also work to do
PATH=$HOME/bin:$PATH ./run_autotools .
as all it does with that variable is just to prepend the PATH with the directory per here.
Sorry, I was not clear about the description of my issue report.
I was expecting that run_autotools
detected the correct (and also required) versions of autotools
: 2.59, 1.9.6, and 1.5.22, resp., as described here. But, run_autotools
finds other versions (probably somewhere in my machine) as:
Default autotools versions:
autoconf: 2.69
automake: 1.16.2
libtool: 2.4.6
So, running ./run_autotools
in my project directory complains this:
kibaekkim@Kibaeks-MacBook-Pro [17:13:41] [~/Documents/REPOS/Osi] [master *]
-> % COIN_AUTOTOOLS_DIR=$HOME ../BuildTools/run_autotools .
Using COIN_AUTOTOOLS_DIR=/Users/kibaekkim
You are not using the required version 2.69 of autoconf ( /Users/kibaekkim/bin/autoconf )
kibaekkim@Kibaeks-MacBook-Pro [17:13:47] [~/Documents/REPOS/Osi] [master *]
-> % COIN_AUTOTOOLS_DIR=$HOME/bin ../BuildTools/run_autotools .
Using COIN_AUTOTOOLS_DIR=/Users/kibaekkim/bin
You are not using the required version 2.69 of autoconf ( /Users/kibaekkim/bin/autoconf )
Ah, OK, I see. The problem is that you are using run_autotools
from the master
branch of BuildTools, but the versions of the autotools you've installed are the ones compatible with the stable/0.8
branch of BuildTools. We have just rolled out the version of BuildTools in the master
branch and the documentation is not up-to-date yet, as only the master
branches of a subset of the projects have so far been migrated to the new version of the BuildTools (which should eventually finally be a 1.0
version).
So... since the master
branch of Osi
(which I think is what you're playing with) is one of the projects that has been migrated already, you need to install the later versions of the autotools that are used by the master
branch of BuildTools. Fortunately, there is a script (install_autotools.sh
) that just downloads and installs all the correct versions in a specified directory ($COIN_AUTOTOOLS_DIR
) in one go. I would actually install those to another directory (not $HOME) and leave the older versions installed in $HOME, since you will need them if you want to execute the version of run_autotools
in BuildTools stable/0.8
, which is used by Osi stable/0.108
later.
Yes, that works. Thanks!
I have installed
autotools
with the recommended versions. The installed location is added toPATH
. But,run_autotools
still finds the wrong version. I am on mac.