=============== Compiling STIDE =============== There were binary executables for STIDE in earlier time at the official Web site (http://www.cs.unm.edu/~immsec/software/), but I don't find them now. I needed to compile STIDE and found that it was not compiled on current Linux systems (at least, popeye). Instead, g++ complained with several errors. It is hard to find the fixes on the Web. So, I made this document for those who want to compile STIDE. To compile the source codes, you gotta do two following simple things (I hope UNM guys fix them sometime.): 1. In stide_v1.1/Seq-code directory, open opt_info.h. In line 3 and 4: #include #include "../Utils/arrays.h" Insert "using std::string;" between line 3 and line 4 like this to specity that you are using a string class in C++ STL: #include using std::string; #include "../Utils/arrays.h" 2. And do these. These are from http://www.xcf.berkeley.edu/~paolo/ids-res/status.txt. > Fixes for compilation of stide code under gcc 2.95.2 > ibm:~/stide/stide_v1.1>gcc -v > Reading specs from /usr/lib/gcc-lib/i386-linux/2.95.2/specs > gcc version 2.95.2 20000220 (Debian GNU/Linux) > > error: > seq_config.cc:284: ANSI C++ forbids using pointer to a function in arithmetic > fix: > exit -1 should be exit (-1) > > error: > In file included from template.cc:1: > ../Utils/arrays.cc: In method `void CompSortableArray::Sort()': > ../Utils/arrays.cc:113: name lookup of `i' changed for new ANSI `for' scoping > ../Utils/arrays.cc:109: using obsolete binding at `i' > fix: > (line 113 should be:) > for (int i = sz-1; i >= 1; i--) { > > error: > flexitree.cc:318: ANSI C++ forbids declaration `IsSeqInForest' with no type > fix: > since this returns 0, it should have int as its type for return value. > int SeqForest::IsSeqInForest(const Array &seq, int seq_len) const >