Problem with compiling ea-utils on Mac OS 10.9

1,380 views
Skip to first unread message

Mike R

unread,
Dec 20, 2013, 11:22:51 AM12/20/13
to ea-u...@googlegroups.com
Attempts at building 'ea-utils.1.1.2-537' on Mac OS 10.9 fails. I get the following error when running the make command:

 make

g++ -O3 -I.  fastq-lib.cpp -o fastq-mcf fastq-mcf.c

clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated

In file included from fastq-mcf.c:29:

In file included from ./google/sparse_hash_map:34:

./sparsehash/sparse_hash_map:94:10: fatal error: 'tr1/functional' file not found

#include HASH_FUN_H                 // for hash<>

         ^

./sparsehash/internal/sparseconfig.h:10:20: note: expanded from macro 'HASH_FUN_H'

#define HASH_FUN_H <tr1/functional>

                   ^

1 error generated.

make: *** [fastq-mcf] Error 1


 I do have the latest developer tools installed. Any ideas?

-Thanks
-Mike

Erik Aronesty

unread,
Dec 20, 2013, 11:58:35 AM12/20/13
to ea-u...@googlegroups.com
well, the error is in compiling google's sparse_hash_map

I would suggest trying to download the latest version and putting it in the google dir there:

Mike R

unread,
Dec 20, 2013, 12:14:12 PM12/20/13
to ea-u...@googlegroups.com
Okay, I'll give this a try. Though this issue did not occur under Mac OS 10.8 if I remember correctly.

-Mike

Mike R

unread,
Dec 20, 2013, 12:31:48 PM12/20/13
to ea-u...@googlegroups.com
It worked, thanks!

To help others, here is what I did:

I downloaded sparsehash-2.0.2 and then ran './configure' and then 'make'. I copied the resulting 'sparsehash' folder located within 'sparsehash-2.0.2/src/' to the  'ea-utils.1.1.2-537' folder. This essentially overwrites the existing 'sparsehash' folder within the ea-utils folder. 

On a similar note: I think the ea-utils.1.1.2-537.tar.gz package should be updated with the new sparsehash folder. fastq-join has become the default program to join paired-ends in QIIME and there are many Mac users that will try to install the ea-utils package.

-Mike

jgregg

unread,
Jan 26, 2014, 6:37:20 PM1/26/14
to ea-u...@googlegroups.com
I am encountering a similar problem that results in a slightly different error:

jlg:ea-utils.1.1.2-537 jgregg$ make
g++ -O3 -I.  fastq-lib.cpp -o fastq-mcf fastq-mcf.c
In file included from ./google/sparse_hash_map:34:0,
                 from fastq-mcf.c:29:
./sparsehash/sparse_hash_map:88:67: fatal error: algorithm: No such file or directory
 #include <algorithm>                        // needed by stl_alloc
                                                                   ^
compilation terminated.
make: *** [fastq-mcf] Error 1
jlg:ea-utils.1.1.2-537 jgregg$ make
g++ -O3 -I.  fastq-lib.cpp -o fastq-mcf fastq-mcf.c
In file included from ./google/sparse_hash_map:34:0,
                 from fastq-mcf.c:29:
./sparsehash/sparse_hash_map:88:67: fatal error: algorithm: No such file or directory
 #include <algorithm>                        // needed by stl_alloc
                                                                   ^
compilation terminated.
make: *** [fastq-mcf] Error 1

I followed the instructions in your fix and get the exact same result. Any other advice on this problem?

John Chase

unread,
Jun 26, 2014, 9:14:21 PM6/26/14
to ea-u...@googlegroups.com
In regards to Mike R's comment I was unfortunately not able to get this to work. When running make I get this error:

fatal error: too many errors emitted, stopping now [-ferror-limit=]
3 warnings and 20 errors generated.
make[1]: *** [hashtable_test.o] Error 1
make: *** [all] Error 2

I realize this is likely an issue with my environment and not with the solution that was provided, thank you for posting your help regardless. In terms of Mike's other comment I was trying to do this in order to use fastq-join with QIIME. The solution that got it working for me was to follow the instructions on the Werner lab page here and then add ea-utils to my PATH variable. I'm not using macqiime, but it worked anyways.

John


working for me was to download the macqiime 

Erik Aronesty

unread,
Jul 9, 2014, 9:41:47 AM7/9/14
to ea-u...@googlegroups.com
I would be happy to fix the current build on anyone's Mac/OS if I can get a login.   Also I could create a Fink or Homebrew packages for it.   Unfortunately I don't have access to a Mac.

Erik Aronesty

unread,
Jul 9, 2014, 2:32:27 PM7/9/14
to ea-u...@googlegroups.com
Of course fastq-join doesn't use sparse-hash... so if you ran "make fastq-join" ... it would work, even on a Mac.

Colleen Kellogg

unread,
Dec 3, 2014, 2:01:45 PM12/3/14
to ea-u...@googlegroups.com
I posted on the Mavericks thread about a related issue.  I cannot get ea-utils to compile on my Mavericks machine.  All I really need at this point is fastq-join so I tried running "make fastq-join" but I still get the same errors listed here (https://groups.google.com/d/msg/ea-utils/Q75kA1zM1Cc/5WBZRw2MFyAJ), with the summary below. 

fatal error: too many errors emitted, stopping now [-ferror-limit=]
3 warnings and 20 errors generated.
make[2]: *** [hashtable_test.o] Error 1
make[1]: *** [all] Error 2
make: *** [sparsehash] Error 2

Sigh. I just want this to work.  i can use an older version of fastq-join but when I run it on a mac it puts in a bunch of extra '+' signs.  I read in another thread that if I use this newer version of ea-utils (v. 806), that this should no longer be an issue, hence the motivation to overcome this compile errors.

Thank you,
Colleen

Erik Aronesty

unread,
Feb 24, 2015, 8:53:27 AM2/24/15
to ea-u...@googlegroups.com
I think this solution is the best:

make sparsehash
make

Probablly the makefile is not correct for MAC, not sure why.
Reply all
Reply to author
Forward
0 new messages