Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug in ext/htslib/configure.ac #257

Open
nadyawilliams opened this issue Mar 26, 2020 · 0 comments
Open

bug in ext/htslib/configure.ac #257

nadyawilliams opened this issue Mar 26, 2020 · 0 comments

Comments

@nadyawilliams
Copy link

The configuration file configure.ac is problematic due to the use of "make" on the AC_INIT line.
This works only in limited number of cases, specifically, when one runs configure by hand
outside of the automated build system. I need to run compilation automatically which involves
a few levels of instructions and executing make, cmake etc. For this, a verbose option of make
is enabled and is passed to sub-makes, which means lines "make1: Entering directory..." and
"make1: Leaving directory" and printed on stdout at each level of make.

When per your cmake configuration one gets to executing "autoeader && autoconf"" for htslib
the result of "make print-version" is not an expected string for version but 3 lines as below (directory name shortened for readability):

make7: Entering directory /export/...cut...//kallisto-0.46.2/ext/htslib' 1.4.1 make7: Leaving directory /export/...cut.../kallisto-0.46.2/ext/htslib'.

This happens because the output of "make print-version" is wrapped with entering/leaving
directory lines per top level Makefile because the stdout for target print-version is combined
now with the top level makes verbosity output.

The fix:
To prevent the erroneous stdout to be inserted in the output of autoconf one would need
to change AC_INIT line to use a command other than make. One can put PACKAGE_VERSION
definition from Makefile into the shell script and call the execution of this shell script in
place of "make print-version":
m4_esyscmd_s([./getVersion.sh 2>/dev/null])

This would avoid any verbosity from the makefiles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant