From Genome Analysis Wiki
Jump to navigationJump to search
1,261 bytes added
, 09:49, 25 March 2014
Line 1: |
Line 1: |
| __TOC__ | | __TOC__ |
| + | |
| + | For problems with libStatGen, see [[LibStatGen Troubleshooting]] |
| | | |
| = Compile Problems = | | = Compile Problems = |
Line 17: |
Line 19: |
| # Set CXX11_AVAIL = 0 in your environment | | # Set CXX11_AVAIL = 0 in your environment |
| By making one of these changes, the code should compile and use map instead of unordered_map. | | By making one of these changes, the code should compile and use map instead of unordered_map. |
| + | |
| + | ==ld: lto: could not merge in ../obj/BamExecutable.o because Unknown instruction for architecture x86_64== |
| + | : ERROR: |
| + | <pre> |
| + | ld: lto: could not merge in ../obj/BamExecutable.o because Unknown instruction for architecture x86_64 |
| + | collect2: ld returned 1 exit status |
| + | make[2]: *** [../bin/bam] Error 1 |
| + | make[1]: *** [src] Error 2 |
| + | make: *** [bamUtil/] Error 2 |
| + | </pre> |
| + | : This error was seen when running on Mac OS X 10.7.5 on a 64-bit kernel with gcc/g++: i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00) |
| + | : The error appears to be due to the default build optimization: -O4 |
| + | : If you see this error, try compiling for debug (optimization -O0): <code>'''make debug'''</code> |
| + | : The debug executable is: <code>'''bamUtil/bin/debug/bam'''</code> |
| + | : If the debug compile worked and you would prefer an optimized executable (runs a little faster), then update the optimization flag to -O3: |
| + | :# Open '''libStatGen/Makefiles/Makefile.include''' |
| + | :# Change <code>OPTFLAG_OPT?=-O4</code> to <code>'''OPTFLAG_OPT?=-O3'''</code> |
| + | :# Run <code>'''make clean; make'''</code> in both libStatGen and bamUtil |
| + | :# The optimized executable is <code>'''bamUtil/bin/bam'''</code> |