gmarcais / Jellyfish

A fast multi-threaded k-mer counter
Other
471 stars 136 forks source link

Unclear error message if yaggo is missing #37

Open lynxoid opened 9 years ago

lynxoid commented 9 years ago

I was compiling Jellyfish with autoreconf, ./configure and make, and yaggo was not installed -- neither of these commands indicated a missing dependency. make gave me this ambiguous error:

make: *** No rule to make targetfalse', needed by sub_commands/count_main_cmdline.hpp'. Stop.

I went through configure's output and saw that yaggo was missing. Installing it solved the problem, but maybe configure could instead report a missing dependency?

gmarcais commented 9 years ago

This is a good point, but here is my dilemma. If you get Jellyfish from github, then you need yaggo to generate the _cmdline.hpp files. On the other hand, if you get a release tarball, the _cmdline.hpp files are already included and yaggo is not necessary. This is similar to autoconf/automake being required from github, but not from the release (the configure scripts and Makefile.in are included already).

The configure script would have to check for both the presence of the generated files (*_cmdline.hpp) and of yaggo, and then generate potentially throw an error.

In other words, how does configure tells whether it is in a development tree or a distribution tree? Not sure what is the easiest / most logical way to achieve this.

lynxoid commented 9 years ago

I see the dilemma now. Well, maybe then a simple "Dependencies" section would help the poor souls with installation :) Thanks!

gmarcais commented 9 years ago

Well, under the Installation section, the text says:

To get an easier to compiled packaged tar ball of the source code, download a release from home page of Jellyfish at the University of Maryland or from the github release.

To compile from the git tree, you will need autoconf/automake, make, g++ 4.4 or newer and yaggo.

I need to make it more visible I presume. Really, my intent is to push people to download the release tarball, which is easier to use.

lynxoid commented 9 years ago

That sounds like a good solution (making the release download / yaggo more visible). Thanks!