Difference between revisions of "LibStatGen Troubleshooting"

From Genome Analysis Wiki
Jump to navigationJump to search
Line 3: Line 3:
 
The following are a list of compile errors that have been encountered with recommendations on what they mean and how to fix them.
 
The following are a list of compile errors that have been encountered with recommendations on what they mean and how to fix them.
  
==== GenomeSequence.h:30:57: error: openssl/md5.h: No such file or directory ====
+
== GenomeSequence.cpp:161: error: explicit instantiation... ==
 +
If you are compiling on OSX and encounter this error:
 +
;GenomeSequence.cpp<nowiki>:</nowiki> In instantiation of ‘std<nowiki>::</nowiki>basic_ostream<_CharT, _Traits>& std<nowiki>::</nowiki>operator<<(std<nowiki>::</nowiki>basic_ostream<_CharT, _Traits>&, const std<nowiki>::</nowiki>basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std<nowiki>::</nowiki>char_traits<char>, _Alloc = std<nowiki>::</nowiki>allocator<char>]’<nowiki>:</nowiki><br />GenomeSequence.cpp<nowiki>:</nowiki>161<nowiki>:</nowiki>  instantiated from here<br />GenomeSequence.cpp<nowiki>:</nowiki>161<nowiki>:</nowiki> error<nowiki>:</nowiki> explicit instantiation of ‘std<nowiki>::</nowiki>basic_ostream<_CharT, _Traits>& std<nowiki>::</nowiki>operator<<(std<nowiki>::</nowiki>basic_ostream<_CharT, _Traits>&, const std<nowiki>::</nowiki>basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std<nowiki>::</nowiki>char_traits<char>, _Alloc = std<nowiki>::</nowiki>allocator<char>]’ but no definition available
 +
: Try compiling with:
 +
make USER_COMPILE_VARS=-mmacosx-version-min=10.8
  
GenomeSequence requires md5 logic and makes calls to methods defined in md5.h which is found in the openssl library.
 
  
The header files are included in the development version of the package.
+
== error: Sam[filename].h: No such file or directory or "'Sam[classname]' has not been declared" ==
 
 
The package may be called something like: openssl-devel or libssl-dev (on ubuntu).
 
 
 
 
 
==== error: Sam[filename].h: No such file or directory or "'Sam[classname]' has not been declared" ====
 
 
This error and other, similar errors with "Sam....h: No such file or directory" or "'Sam...' has not been declared" typically means that the library build failed.  Check for a previous error in your compile.
 
This error and other, similar errors with "Sam....h: No such file or directory" or "'Sam...' has not been declared" typically means that the library build failed.  Check for a previous error in your compile.
  
A successful compile of the library will publish SamFile.h and all the other header files from the library into samtools/lib/include.  If one of the programs within the statgen repository fails to compile with one of these errors, then the library did not successfully publish the header files and did not successfully byild.
+
A successful compile of the library will publish SamFile.h and all the other header files from the library into libStatGen/include.  If one of the programs within the statgen repository fails to compile with one of these errors, then the library did not successfully publish the header files and did not successfully build.
 
 
 
 
==== GenomeSequence.cpp:552: warning: converting to `int' from `double' ====
 
This has been fixed in versions after 3/1/11.
 
 
 
Update statgen/lib/general/GenomeSequence.cpp line 552 to the following:
 
<pre>
 
            newPercent = (int) (1.0 * fastaIndex / fastaDataSize) * 100;
 
</pre>
 
  
  
==== Complaints about unknown -Wno-unused-result option in lib/general/Makefile ====
+
== InputFile.h (or any other library file): No such file or directory ==
This has been fixed in versions after 3/1/11.
 
 
 
Update stagen/lib/general/Makefile line 17 to the following:
 
<pre>
 
WARNINGS+=$(shell if [ X$(CCVERSION) \> X4.2.0 ] ; then echo " -Wno-unused-result" ; fi)
 
</pre>
 
 
 
 
 
==== InputFile.h (or any other library file): No such file or directory ====
 
 
Errors like the following:
 
Errors like the following:
 
<pre>
 
<pre>
Line 43: Line 23:
 
FastQFile.h:23:26: StringBasics.h: No such file or directory
 
FastQFile.h:23:26: StringBasics.h: No such file or directory
 
</pre>
 
</pre>
Tend to occur if the library directory containing the file has not yet been compiled.  Either compile the entire library by typing make in statgen/ or statgen/lib or compile the subdirectories in the correct order.  lib/general is required for most other library directories.
+
Tend to occur if the library directory containing the file has not yet been compiled.  Try recompiling the entire library by typing make in libStatGen.
  
  
=== Old Errors That Should No Longer Exist ===
+
== Compile Error on first time building ==
==== Compile Error on first time building ====
 
 
Record the error.
 
Record the error.
  
 
Try to recompile and see if that fixes the problem.  If it does fix the compile error, let me know what the original error was so I can fix the dependency so it compiles in the correct order.
 
Try to recompile and see if that fixes the problem.  If it does fix the compile error, let me know what the original error was so I can fix the dependency so it compiles in the correct order.
  
'''NOTE: In the latest version (in development, after 0.1.4), I think I have this fixed.'''
+
'''NOTE: In the latest version, this should be fixed.'''
 
 
 
 
==== make test produces messages like "ERROR: Missing required tag: LN." and "Can't modify the key tag, ID from pid to pid1" ====
 
These messages are currently expected.  Some of the tests run by 'make test' test error conditions to make sure they are handled properly.  These error conditions print messages to the screen about the errors.  These messages are expected and are not a failure of 'make test'.
 

Revision as of 16:20, 19 February 2015

Possible Compile Errors

The following are a list of compile errors that have been encountered with recommendations on what they mean and how to fix them.

GenomeSequence.cpp:161: error: explicit instantiation...

If you are compiling on OSX and encounter this error:

GenomeSequence.cpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’:
GenomeSequence.cpp:161: instantiated from here
GenomeSequence.cpp:161: error: explicit instantiation of ‘std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]’ but no definition available
Try compiling with:
make USER_COMPILE_VARS=-mmacosx-version-min=10.8


error: Sam[filename].h: No such file or directory or "'Sam[classname]' has not been declared"

This error and other, similar errors with "Sam....h: No such file or directory" or "'Sam...' has not been declared" typically means that the library build failed. Check for a previous error in your compile.

A successful compile of the library will publish SamFile.h and all the other header files from the library into libStatGen/include. If one of the programs within the statgen repository fails to compile with one of these errors, then the library did not successfully publish the header files and did not successfully build.


InputFile.h (or any other library file): No such file or directory

Errors like the following:

FastQFile.cpp:20:23: InputFile.h: No such file or directory
In file included from FastQFile.cpp:21:
FastQFile.h:23:26: StringBasics.h: No such file or directory

Tend to occur if the library directory containing the file has not yet been compiled. Try recompiling the entire library by typing make in libStatGen.


Compile Error on first time building

Record the error.

Try to recompile and see if that fixes the problem. If it does fix the compile error, let me know what the original error was so I can fix the dependency so it compiles in the correct order.

NOTE: In the latest version, this should be fixed.