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

Can't Bootstrap even after attempts to compile with cmake #382

Open
sikayler opened this issue Jun 1, 2023 · 7 comments
Open

Can't Bootstrap even after attempts to compile with cmake #382

sikayler opened this issue Jun 1, 2023 · 7 comments

Comments

@sikayler
Copy link

sikayler commented Jun 1, 2023

kallisto version 48.0
OS: macOS Monterey Version 12.6.5

Issue: Unable to compile kallisto with -DUSE_HDF5=ON, kallisto ignores bootstrap option.

kallisto returns:

Warning: kallisto was not compiled with HDF5 support so no bootstrapping
will be performed. Run quant with --plaintext option or recompile with
HDF5 support to obtain bootstrap estimates.

And attempting to compile kallisto without brew returns:

build % make                                                               
[  3%] Creating directories for 'htslib'
[  6%] No download step for 'htslib'
[ 10%] No update step for 'htslib'
[ 13%] No patch step for 'htslib'
[ 17%] Performing configure step for 'htslib'
autoheader: error: 'configure.ac' is required
make[2]: *** [/usr/local/bin/kallisto/ext/htslib/src/htslib-stamp/htslib-configure] Error 1
make[1]: *** [CMakeFiles/htslib.dir/all] Error 2
make: *** [all] Error 2

Attempting to compile CMake:

The Fortran compiler

    "/usr/local/Cellar/gcc/13.1.0/bin/gfortran"

  is not able to compile a simple test program.

I also followed along with the instructions listed in Issue #303 and:

aclocal: warning: couldn't open directory '../m4': No such file or directory
Can't exec "libtoolize": No such file or directory at /usr/local/share/autoconf/Autom4te/FileUtils.pm line 345, <GEN3> line 6.
autoreconf: failed to run libtoolize: No such file or directory
autoreconf: libtoolize is needed because this package uses Libtool

At this point, I am at a loss for how to get bootstrapping done for my files so I can pass them to sleuth. I do realize that hdf5 is being phased out, but don't we still require this capability to pass to sleuth?

@mschilli87
Copy link

What does brew info libtool say? Just guessing based on your error message and this.

@sikayler
Copy link
Author

sikayler commented Jun 1, 2023

% brew info libtool
Generic library support script
https://www.gnu.org/software/libtool/
/usr/local/Cellar/libtool/2.4.7 (75 files, 3.8MB) *
  Poured from bottle using the formulae.brew.sh API on 2023-06-01 at 13:09:23
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/libtool.rb
License: GPL-2.0-or-later
==> Dependencies
Required: m4 ✔
==> Caveats
All commands have been installed with the prefix "g".
If you need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:
  PATH="/usr/local/opt/libtool/libexec/gnubin:$PATH"
==> Analytics
install: 47,491 (30 days), 18,552 (90 days), 2,123,808 (365 days)
install-on-request: 7,148 (30 days), 4,674 (90 days), 267,586 (365 days)
build-error: 0 (30 days)

@Yenaled
Copy link
Collaborator

Yenaled commented Jun 2, 2023

HDF5 is not really being phased out -- it's just a pain to deal with that file structure and all the issues (including compilation issues) associated with it, but I don't think we'll deal with that problem anytime soon since it still works and I still use it all the time for sleuth analysis. It's kinda a pain to spend time rewriting parts of kallisto and sleuth for something that already works.

But yeah, you need to get libtoolize working otherwise you cannot install kallisto from source. I haven't personally dealt with libtoolize so I'm not sure how to solve it.

@mschilli87
Copy link

I guess you have your solution right there:

==> Caveats
All commands have been installed with the prefix "g".
If you need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:
  PATH="/usr/local/opt/libtool/libexec/gnubin:$PATH"

@sikayler
Copy link
Author

sikayler commented Jun 2, 2023

I wanted to make sure I noted what "fixed" my problem; first I followed this:

     wget http://ftp.gnu.org/gnu/m4/m4-1.4.14.tar.gz
     wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.64.tar.gz
     wget http://ftp.gnu.org/gnu/automake/automake-1.11.1.tar.gz
     wget http://ftp.gnu.org/gnu/libtool/libtool-2.4.tar.gz

Note I tried to run the next lines listed from that link, but those did not run in my terminal.
I then deleted the kallisto file from Homebrew Cellar (I triple checked and it did not have ext/htslib)

git clone https://github.com/pachterlab/kallisto.git

These gave me:

[100%] Built target kallisto

You still have to follow the instructions for ext/htslib to give HDF5 file capabilities.

Sources:
https://github.com/pachterlab/kallisto/blob/master/ext/htslib/INSTALL
https://github.com/pachterlab/kallisto/blob/master/INSTALL.md

@Yenaled
Copy link
Collaborator

Yenaled commented Jun 2, 2023

Amazing! Thanks for your contribution toward installing kallisto from source -- for htslib, I'm planning/hoping to make it an optional cmake option in the future, since it's been giving trouble (in part because the code base is based on an old version of HTSLIB; and honestly speaking, HTSLIB isn't really necessary for almost all use cases of kallisto anyway).

@mschilli87
Copy link

@Yenaled: That's great news. Shameless plug: Don't forget to close my FR from seven years ago once you do so. 😜

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

3 participants