Bug#650683: Fix for !linux architectures
Package: mothur
Version: 1.22.2-1
Severity: important
Tags: patch
User: debian-bsd@lists.debian.org
Usertags: kfreebsd
Hi!
Seems mothur doesn't build on !linux debian architectures because
it's authors believed everything thyat isn't linux or a mac is
windows. The patch below should fix that for the *debian*
architectures. For upstream a different patch might be more suiteable
to e.g. include plain FreeBSD.
Regards
Christoph
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: kfreebsd-amd64 (x86_64)
Kernel: kFreeBSD 8.2-1-amd64
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
--- mothur-1.22.2.orig/classifyseqscommand.h
+++ mothur-1.22.2/classifyseqscommand.h
@@ -128,7 +128,7 @@ typedef struct classifyData {
};
/**************************************************************************************************/
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#else
static DWORD WINAPI MyClassThreadFunction(LPVOID lpParam){
classifyData* pDataArray;
--- mothur-1.22.2.orig/parsimony.cpp
+++ mothur-1.22.2/parsimony.cpp
@@ -54,7 +54,7 @@ EstOutput Parsimony::getValues(Tree* t,
}
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
data = driver(t, namesOfGroupCombos, 0, namesOfGroupCombos.size());
}else{
@@ -91,7 +91,7 @@ EstOutput Parsimony::getValues(Tree* t,
EstOutput Parsimony::createProcesses(Tree* t, vector< vector<string> > namesOfGroupCombos) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
vector<int> processIDS;
--- mothur-1.22.2.orig/classifyseqscommand.cpp
+++ mothur-1.22.2/classifyseqscommand.cpp
@@ -383,7 +383,7 @@ ClassifySeqsCommand::ClassifySeqsCommand
temp = validParameter.validFile(parameters, "save", false); if (temp == "not found"){ temp = "f"; }
save = m->isTrue(temp);
//this is so the threads can quickly load the reference data
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#else
if ((processors != 1) && (rdb->referenceSeqs.size() == 0)) { save = true; }
#endif
@@ -599,7 +599,7 @@ int ClassifySeqsCommand::execute(){
#else
vector<unsigned long long> positions;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
positions = m->divideFile(fastaFileNames[s], processors);
for (int i = 0; i < (positions.size()-1); i++) { lines.push_back(new linePair(positions[i], positions[(i+1)])); }
#else
@@ -796,7 +796,7 @@ int ClassifySeqsCommand::createProcesses
int num = 0;
processIDS.clear();
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
//loop through and create all the processes you want
@@ -965,7 +965,7 @@ int ClassifySeqsCommand::driver(linePair
}
delete candidateSeq;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = inFASTA.tellg();
if ((pos == -1) || (pos >= filePos->end)) { break; }
#else
--- mothur-1.22.2.orig/chimerauchimecommand.cpp
+++ mothur-1.22.2/chimerauchimecommand.cpp
@@ -461,7 +461,7 @@ ChimeraUchimeCommand::ChimeraUchimeComma
path = path.substr(0, (tempPath.find_last_of('m')));
string uchimeCommand;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
uchimeCommand = path + "uchime"; // format the database, -o option gives us the ability
#else
uchimeCommand = path + "uchime.exe";
@@ -543,7 +543,7 @@ int ChimeraUchimeCommand::execute(){
if (chimealns) { m->openOutputFile(alnsFileName, out2); out2.close(); }
int totalSeqs = 0;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1) { totalSeqs = driverGroups(parser, outputFileName, newFasta, accnosFileName, alnsFileName, 0, groups.size(), groups); }
else { totalSeqs = createProcessesGroups(parser, outputFileName, newFasta, accnosFileName, alnsFileName, groups); }
#else
@@ -563,7 +563,7 @@ int ChimeraUchimeCommand::execute(){
int numSeqs = 0;
int numChimeras = 0;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){ numSeqs = driver(outputFileName, fastaFileNames[s], accnosFileName, alnsFileName, numChimeras); }
else{ numSeqs = createProcesses(outputFileName, fastaFileNames[s], accnosFileName, alnsFileName, numChimeras); }
#else
@@ -990,7 +990,7 @@ int ChimeraUchimeCommand::driver(string
vector<char*> cPara;
char* tempUchime;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
tempUchime= new char[10];
*tempUchime = '\0';
strncat(tempUchime, "./uchime ", 9);
@@ -1286,7 +1286,7 @@ int ChimeraUchimeCommand::createProcesse
processIDS.clear();
int process = 1;
int num = 0;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
//break up file into multiple files
vector<string> files;
m->divideFile(filename, processors, files);
@@ -1389,7 +1389,7 @@ int ChimeraUchimeCommand::createProcesse
lines.push_back(linePair(startIndex, endIndex));
}
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
//loop through and create all the processes you want
while (process != processors) {
--- mothur-1.22.2.orig/trimseqscommand.cpp
+++ mothur-1.22.2/trimseqscommand.cpp
@@ -363,7 +363,7 @@ int TrimSeqsCommand::execute(){
}
if(qFileName == "") { qLines = lines; } //files with duds
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
driverCreateTrim(fastaFile, qFileName, trimSeqFile, scrapSeqFile, trimQualFile, scrapQualFile, trimNameFile, scrapNameFile, outputGroupFileName, fastaFileNames, qualFileNames, nameFileNames, lines[0], qLines[0]);
}else{
@@ -723,7 +723,7 @@ int TrimSeqsCommand::driverCreateTrim(st
count++;
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = inFASTA.tellg();
if ((pos == -1) || (pos >= line->end)) { break; }
@@ -758,7 +758,7 @@ int TrimSeqsCommand::driverCreateTrim(st
int TrimSeqsCommand::createProcessesCreateTrim(string filename, string qFileName, string trimFASTAFileName, string scrapFASTAFileName, string trimQualFileName, string scrapQualFileName, string trimNameFileName, string scrapNameFileName, string groupFile, vector<vector<string> > fastaFileNames, vector<vector<string> > qualFileNames, vector<vector<string> > nameFileNames) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
int exitCommand = 1;
processIDS.clear();
@@ -942,7 +942,7 @@ int TrimSeqsCommand::createProcessesCrea
int TrimSeqsCommand::setLines(string filename, string qfilename, vector<unsigned long long>& fastaFilePos, vector<unsigned long long>& qfileFilePos) {
try {
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
//set file positions for fasta file
fastaFilePos = m->divideFile(filename, processors);
--- mothur-1.22.2.orig/mothurout.cpp
+++ mothur-1.22.2/mothurout.cpp
@@ -143,7 +143,7 @@ void MothurOut::setDefaultPath(string pa
//add / to name if needed
string lastChar = pathname.substr(pathname.length()-1);
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if (lastChar != "/") { pathname += "/"; }
#else
if (lastChar != "\\") { pathname += "\\"; }
@@ -332,7 +332,7 @@ void MothurOut::errorOut(exception& e, s
//
// On failure, returns 0.0, 0.0
int MothurOut::mem_usage(double& vm_usage, double& resident_set) {
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
vm_usage = 0.0;
resident_set = 0.0;
@@ -504,7 +504,7 @@ string MothurOut::getline(ifstream& file
}
/***********************************************************************/
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#ifdef USE_COMPRESSION
inline bool endsWith(string s, const char * suffix){
size_t suffixLength = strlen(suffix);
@@ -518,7 +518,7 @@ string MothurOut::getRootName(string lon
string rootName = longName;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#ifdef USE_COMPRESSION
if (endsWith(rootName, ".gz") || endsWith(rootName, ".bz2")) {
int pos = rootName.find_last_of('.');
@@ -673,7 +673,7 @@ string MothurOut::getFullPathName(string
string cwd;
//get current working directory
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if (path.find("~") != -1) { //go to home directory
string homeDir;
@@ -796,7 +796,7 @@ int MothurOut::openInputFile(string file
try {
//get full path name
string completeFileName = getFullPathName(fileName);
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#ifdef USE_COMPRESSION
// check for gzipped or bzipped file
if (endsWith(completeFileName, ".gz") || endsWith(completeFileName, ".bz2")) {
@@ -842,7 +842,7 @@ int MothurOut::openInputFile(string file
//get full path name
string completeFileName = getFullPathName(fileName);
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#ifdef USE_COMPRESSION
// check for gzipped or bzipped file
if (endsWith(completeFileName, ".gz") || endsWith(completeFileName, ".bz2")) {
@@ -893,7 +893,7 @@ int MothurOut::renameFile(string oldName
int exist = openInputFile(newName, inTest, "");
inTest.close();
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if (exist == 0) { //you could open it so you want to delete it
string command = "rm " + newName;
system(command.c_str());
@@ -920,7 +920,7 @@ int MothurOut::openOutputFile(string fil
try {
string completeFileName = getFullPathName(fileName);
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#ifdef USE_COMPRESSION
// check for gzipped file
if (endsWith(completeFileName, ".gz") || endsWith(completeFileName, ".bz2")) {
@@ -996,7 +996,7 @@ string MothurOut::sortFile(string distFi
//if you can, use the unix sort since its been optimized for years
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
string command = "sort -n -k +3 " + distFile + " -o " + outfile;
system(command.c_str());
#else //you are stuck with my best attempt...
--- mothur-1.22.2.orig/setdircommand.cpp
+++ mothur-1.22.2/setdircommand.cpp
@@ -114,7 +114,7 @@ int SetDirectoryCommand::execute(){
}else {
//add / to name if needed
string lastChar = output.substr(output.length()-1);
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if (lastChar != "/") { output += "/"; }
#else
if (lastChar != "\\") { output += "\\"; }
@@ -146,7 +146,7 @@ int SetDirectoryCommand::execute(){
}else {
//add / to name if needed
string lastChar = input.substr(input.length()-1);
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if (lastChar != "/") { input += "/"; }
#else
if (lastChar != "\\") { input += "\\"; }
@@ -188,7 +188,7 @@ int SetDirectoryCommand::execute(){
}else {
//add / to name if needed
string lastChar = tempdefault.substr(tempdefault.length()-1);
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if (lastChar != "/") { tempdefault += "/"; }
#else
if (lastChar != "\\") { tempdefault += "\\"; }
--- mothur-1.22.2.orig/pintail.cpp
+++ mothur-1.22.2/pintail.cpp
@@ -74,7 +74,7 @@ int Pintail::doPrep() {
#ifdef USE_MPI
//do nothing
#else
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
//find breakup of templatefile for quantiles
if (processors == 1) { templateLines.push_back(new linePair(0, templateSeqs.size())); }
else {
@@ -529,7 +529,7 @@ Sequence* Pintail::findPairs(Sequence* q
//**************************************************************************************************
void Pintail::createProcessesQuan() {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
vector<int> processIDS;
--- mothur-1.22.2.orig/chimeraccodecommand.cpp
+++ mothur-1.22.2/chimeraccodecommand.cpp
@@ -397,7 +397,7 @@ int ChimeraCcodeCommand::execute(){
}
//break up file
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
numSeqs = driver(lines[0], outputFileName, fastaFileNames[s], accnosFileName);
@@ -521,7 +521,7 @@ int ChimeraCcodeCommand::driver(linePair
}
delete candidateSeq;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = inFASTA.tellg();
if ((pos == -1) || (pos >= filePos->end)) { break; }
#else
@@ -608,7 +608,7 @@ int ChimeraCcodeCommand::driverMPI(int s
int ChimeraCcodeCommand::createProcesses(string outputFileName, string filename, string accnos) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 0;
int num = 0;
--- mothur-1.22.2.orig/seqerrorcommand.cpp
+++ mothur-1.22.2/seqerrorcommand.cpp
@@ -293,7 +293,7 @@ int SeqErrorCommand::execute(){
if(qualFileName == "") { qLines = lines; rLines = lines; } //fills with duds
int numSeqs = 0;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
numSeqs = driver(queryFileName, qualFileName, reportFileName, errorSummaryFileName, errorSeqFileName, errorChimeraFileName, lines[0], qLines[0], rLines[0]);
}else{
@@ -361,7 +361,7 @@ int SeqErrorCommand::createProcesses(str
processIDS.clear();
map<char, vector<int> >::iterator it;
int num = 0;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
//loop through and create all the processes you want
while (process != processors) {
@@ -734,7 +734,7 @@ int SeqErrorCommand::driver(string filen
index++;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = queryFile.tellg();
if ((pos == -1) || (pos >= line.end)) { break; }
#else
@@ -1210,7 +1210,7 @@ void SeqErrorCommand::printQualityFR(vec
int SeqErrorCommand::setLines(string filename, string qfilename, string rfilename, vector<unsigned long long>& fastaFilePos, vector<unsigned long long>& qfileFilePos, vector<unsigned long long>& rfileFilePos) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
//set file positions for fasta file
fastaFilePos = m->divideFile(filename, processors);
--- mothur-1.22.2.orig/filterseqscommand.cpp
+++ mothur-1.22.2/filterseqscommand.cpp
@@ -425,7 +425,7 @@ int FilterSeqsCommand::filterSequences()
for (int i = 0; i < (positions.size()-1); i++) {
lines.push_back(new linePair(positions[i], positions[(i+1)]));
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
int numFastaSeqs = driverRunFilter(filter, filteredFasta, fastafileNames[s], lines[0]);
numSeqs += numFastaSeqs;
@@ -567,7 +567,7 @@ int FilterSeqsCommand::driverRunFilter(s
count++;
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = in.tellg();
if ((pos == -1) || (pos >= filePos->end)) { break; }
#else
@@ -595,7 +595,7 @@ int FilterSeqsCommand::driverRunFilter(s
int FilterSeqsCommand::createProcessesRunFilter(string F, string filename) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 0;
int num = 0;
processIDS.clear();
@@ -741,7 +741,7 @@ string FilterSeqsCommand::createFilter()
for (int i = 0; i < (positions.size()-1); i++) {
lines.push_back(new linePair(positions[i], positions[(i+1)]));
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
int numFastaSeqs = driverCreateFilter(F, fastafileNames[s], lines[0]);
numSeqs += numFastaSeqs;
@@ -876,7 +876,7 @@ int FilterSeqsCommand::driverCreateFilte
count++;
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = in.tellg();
if ((pos == -1) || (pos >= filePos->end)) { break; }
#else
@@ -948,7 +948,7 @@ int FilterSeqsCommand::MPICreateFilter(i
int FilterSeqsCommand::createProcessesCreateFilter(Filters& F, string filename) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
int num = 0;
processIDS.clear();
--- mothur-1.22.2.orig/trimflowscommand.h
+++ mothur-1.22.2/trimflowscommand.h
@@ -130,7 +130,7 @@ typedef struct trimFlowData {
};
/**************************************************************************************************/
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#else
static DWORD WINAPI MyTrimFlowThreadFunction(LPVOID lpParam){
trimFlowData* pDataArray;
--- mothur-1.22.2.orig/distancecommand.h
+++ mothur-1.22.2/distancecommand.h
@@ -53,7 +53,7 @@ typedef struct distanceData {
};
/**************************************************************************************************/
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#else
static DWORD WINAPI MyDistThreadFunction(LPVOID lpParam){
distanceData* pDataArray;
--- mothur-1.22.2.orig/indicatorcommand.cpp
+++ mothur-1.22.2/indicatorcommand.cpp
@@ -1120,7 +1120,7 @@ vector<float> IndicatorCommand::getPValu
try {
vector<float> pvalues;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
pvalues = driver(groupings, groupingsMap, num, indicatorValues, iters);
for (int i = 0; i < pvalues.size(); i++) { pvalues[i] /= (double)iters; }
@@ -1234,7 +1234,7 @@ vector<float> IndicatorCommand::getPValu
try {
vector<float> pvalues;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
pvalues = driver(groupings, groupingsMap, num, indicatorValues, iters);
for (int i = 0; i < pvalues.size(); i++) { pvalues[i] /= (double)iters; }
--- mothur-1.22.2.orig/seqsummarycommand.cpp
+++ mothur-1.22.2/seqsummarycommand.cpp
@@ -282,7 +282,7 @@ int SeqSummaryCommand::execute(){
MPI_Barrier(MPI_COMM_WORLD); //make everyone wait - just in case
#else
vector<unsigned long long> positions;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
positions = m->divideFile(fastafile, processors);
for (int i = 0; i < (positions.size()-1); i++) { lines.push_back(new linePair(positions[i], positions[(i+1)])); }
#else
@@ -429,7 +429,7 @@ int SeqSummaryCommand::driverCreateSumma
outSummary << current.getLongHomoPolymer() << '\t' << num << endl;
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = in.tellg();
if ((pos == -1) || (pos >= filePos->end)) { break; }
#else
@@ -525,7 +525,7 @@ int SeqSummaryCommand::createProcessesCr
int num = 0;
processIDS.clear();
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
//loop through and create all the processes you want
while (process != processors) {
--- mothur-1.22.2.orig/clustersplitcommand.cpp
+++ mothur-1.22.2/clustersplitcommand.cpp
@@ -559,7 +559,7 @@ int ClusterSplitCommand::execute(){
//sanity check
if (processors > distName.size()) { processors = distName.size(); }
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
listFileNames = cluster(distName, labels); //clusters individual files and returns names of list files
}else{
@@ -907,7 +907,7 @@ void ClusterSplitCommand::printData(List
int ClusterSplitCommand::createProcesses(vector < vector < map<string, string> > > dividedNames){
try {
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 0;
int exitCommand = 1;
processIDS.clear();
--- mothur-1.22.2.orig/formatphylip.cpp
+++ mothur-1.22.2/formatphylip.cpp
@@ -96,7 +96,7 @@ int FormatPhylipMatrix::read(NameAssignm
string outfile = m->getRootName(tempFile) + "sorted.dist.temp";
//use the unix sort
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
string command = "sort -n " + tempFile + " -o " + outfile;
system(command.c_str());
#else //sort using windows sort
--- mothur-1.22.2.orig/mothur.h
+++ mothur-1.22.2/mothur.h
@@ -53,7 +53,7 @@
#endif
/***********************************************************************/
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#include <sys/wait.h>
#include <sys/time.h>
#include <sys/resource.h>
--- mothur-1.22.2.orig/engine.cpp
+++ mothur-1.22.2/engine.cpp
@@ -34,7 +34,7 @@ string Engine::findMothursPath(){
//delimiting path char
char delim;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
delim = ':';
#else
delim = ';';
@@ -56,7 +56,7 @@ string Engine::findMothursPath(){
if (mothurPath != "") {
//add mothur so it looks like what argv would look like
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
mothurPath += "/mothur";
#else
mothurPath += "\\mothur";
@@ -71,7 +71,7 @@ string Engine::findMothursPath(){
//is this mothurs path?
ifstream in;
string tempIn = dirs[i];
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
tempIn += "/mothur";
#else
tempIn += "\\mothur";
@@ -217,7 +217,7 @@ bool InteractEngine::getInput(){
string Engine::getCommand() {
try {
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#ifdef USE_READLINE
char* nextCommand = NULL;
nextCommand = readline("mothur > ");
--- mothur-1.22.2.orig/bellerophon.cpp
+++ mothur-1.22.2/bellerophon.cpp
@@ -314,7 +314,7 @@ int Bellerophon::getChimeras() {
#else
//divide breakpoints between processors
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
lines.push_back(linePair(0, iters));
@@ -356,7 +356,7 @@ int Bellerophon::getChimeras() {
int Bellerophon::createProcesses(vector<int> mid) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 0;
int exitCommand = 1;
vector<int> processIDS;
--- mothur-1.22.2.orig/aligncommand.h
+++ mothur-1.22.2/aligncommand.h
@@ -118,7 +118,7 @@ typedef struct alignData {
};
/**************************************************************************************************/
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#else
static DWORD WINAPI MyAlignThreadFunction(LPVOID lpParam){
alignData* pDataArray;
--- mothur-1.22.2.orig/catchallcommand.cpp
+++ mothur-1.22.2/catchallcommand.cpp
@@ -176,7 +176,7 @@ int CatchAllCommand::execute() {
savedOutputDir = outputDir;
string catchAllCommandExe = "";
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
catchAllCommandExe += "mono " + path + "CatchAllcmdL.exe ";
if (outputDir == "") { outputDir = "./"; } //force full pathname to be created for catchall, this is necessary because if catchall is in the path it will look for input file whereever the exe is and not the cwd.
#else
@@ -224,7 +224,7 @@ int CatchAllCommand::execute() {
//create system command
string catchAllCommand = "";
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
catchAllCommand += catchAllCommandExe + filename + " " + outputPath + " 1";
#else
if (outputPath.length() > 0) { outputPath = outputPath.substr(0, outputPath.length()-1); }
@@ -269,7 +269,7 @@ int CatchAllCommand::execute() {
//create system command
string catchAllCommand = "";
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
catchAllCommand += catchAllCommandExe + filename + " " + outputPath + " 1";
#else
if (outputPath.length() > 0) { outputPath = outputPath.substr(0, outputPath.length()-1); }
@@ -334,7 +334,7 @@ int CatchAllCommand::execute() {
//create system command
string catchAllCommand = "";
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
catchAllCommand += catchAllCommandExe + filename + " " + outputPath + " 1";
#else
if (outputPath.length() > 0) { outputPath = outputPath.substr(0, outputPath.length()-1); }
--- mothur-1.22.2.orig/shhhercommand.cpp
+++ mothur-1.22.2/shhhercommand.cpp
@@ -1211,7 +1211,7 @@ void ShhherCommand::flowDistParentFork(s
string ShhherCommand::createDistFile(int processors){
try{
//////////////////////// until I figure out the shared memory issue //////////////////////
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#else
processors=1;
#endif
@@ -1239,7 +1239,7 @@ string ShhherCommand::createDistFile(int
end[i] = int(sqrt(float(i+1)/float(processors)) * numUniques);
}
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
//loop through and create all the processes you want
while (process != processors) {
@@ -1556,7 +1556,7 @@ void ShhherCommand::fill(){
void ShhherCommand::calcCentroids(){
try{
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1) {
calcCentroidsDriver(0, numOTUs);
@@ -1829,7 +1829,7 @@ void ShhherCommand::checkCentroids(){
void ShhherCommand::calcNewDistances(){
try{
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1) {
calcNewDistancesParent(0, numSeqs);
--- mothur-1.22.2.orig/seqsummarycommand.h
+++ mothur-1.22.2/seqsummarycommand.h
@@ -96,7 +96,7 @@ typedef struct seqSumData {
};
/**************************************************************************************************/
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#else
static DWORD WINAPI MySeqSumThreadFunction(LPVOID lpParam){
seqSumData* pDataArray;
--- mothur-1.22.2.orig/metastatscommand.cpp
+++ mothur-1.22.2/metastatscommand.cpp
@@ -233,7 +233,7 @@ int MetaStatsCommand::execute(){
if (numGroups == 2) { processors = 1; }
else if (numGroups < 2) { m->mothurOut("Not enough sets, I need at least 2 valid sets. Unable to complete command."); m->mothurOutEndLine(); m->control_pressed = true; }
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors != 1){
int numPairs = namesOfGroupCombos.size();
int numPairsPerProcessor = numPairs / processors;
@@ -339,7 +339,7 @@ int MetaStatsCommand::execute(){
int MetaStatsCommand::process(vector<SharedRAbundVector*>& thisLookUp){
try {
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
driver(0, namesOfGroupCombos.size(), thisLookUp);
}else{
--- mothur-1.22.2.orig/distancecommand.cpp
+++ mothur-1.22.2/distancecommand.cpp
@@ -380,7 +380,7 @@ int DistanceCommand::execute(){
MPI_Barrier(MPI_COMM_WORLD); //make everyone wait - just in case
#else
- //#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ //#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
//if you don't need to fork anything
if(processors == 1){
if (output != "square") { driver(0, numSeqs, outputFile, cutoff); }
@@ -507,7 +507,7 @@ int DistanceCommand::execute(){
/**************************************************************************************************/
void DistanceCommand::createProcesses(string filename) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
processIDS.clear();
@@ -1014,7 +1014,7 @@ int DistanceCommand::convertMatrix(strin
string outfile = m->getRootName(outputFile) + "sorted.dist.temp";
//use the unix sort
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
string command = "sort -n " + outputFile + " -o " + outfile;
system(command.c_str());
#else //sort using windows sort
@@ -1102,7 +1102,7 @@ int DistanceCommand::convertToLowerTrian
string outfile = m->getRootName(outputFile) + "sorted.dist.temp";
//use the unix sort
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
string command = "sort -n " + outputFile + " -o " + outfile;
system(command.c_str());
#else //sort using windows sort
--- mothur-1.22.2.orig/aligncommand.cpp
+++ mothur-1.22.2/aligncommand.cpp
@@ -248,7 +248,7 @@ AlignCommand::AlignCommand(string option
temp = validParameter.validFile(parameters, "save", false); if (temp == "not found"){ temp = "f"; }
save = m->isTrue(temp);
//this is so the threads can quickly load the reference data
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#else
if (processors != 1) { save = true; }
#endif
@@ -427,7 +427,7 @@ int AlignCommand::execute(){
#else
vector<unsigned long long> positions;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
positions = m->divideFile(candidateFileNames[s], processors);
for (int i = 0; i < (positions.size()-1); i++) { lines.push_back(new linePair(positions[i], positions[(i+1)])); }
#else
@@ -622,7 +622,7 @@ int AlignCommand::driver(linePair* fileP
}
delete candidateSeq;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = inFASTA.tellg();
if ((pos == -1) || (pos >= filePos->end)) { break; }
#else
@@ -831,7 +831,7 @@ int AlignCommand::createProcesses(string
try {
int num = 0;
processIDS.resize(0);
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
//loop through and create all the processes you want
--- mothur-1.22.2.orig/pairwiseseqscommand.cpp
+++ mothur-1.22.2/pairwiseseqscommand.cpp
@@ -444,7 +444,7 @@ int PairwiseSeqsCommand::execute(){
MPI_Barrier(MPI_COMM_WORLD); //make everyone wait - just in case
#else
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
//if you don't need to fork anything
if(processors == 1){
if (output != "square") { driver(0, numSeqs, outputFile, cutoff); }
@@ -535,7 +535,7 @@ int PairwiseSeqsCommand::execute(){
/**************************************************************************************************/
void PairwiseSeqsCommand::createProcesses(string filename) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
processIDS.clear();
--- mothur-1.22.2.orig/rarefact.cpp
+++ mothur-1.22.2/rarefact.cpp
@@ -24,7 +24,7 @@ int Rarefact::getCurve(float percentFreq
if (percentFreq < 1.0) { increment = numSeqs * percentFreq; }
else { increment = percentFreq; }
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
driver(rcd, increment, nIters);
}else{
@@ -114,7 +114,7 @@ int Rarefact::driver(RarefactionCurveDat
int Rarefact::createProcesses(vector<int>& procIters, RarefactionCurveData* rcd, int increment) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
vector<int> processIDS;
--- mothur-1.22.2.orig/matrixoutputcommand.cpp
+++ mothur-1.22.2/matrixoutputcommand.cpp
@@ -459,7 +459,7 @@ int MatrixOutputCommand::process(vector<
vector<SharedRAbundVector*> subset;
vector< vector<seqDist> > calcDists; calcDists.resize(matrixCalculators.size()); //one for each calc, this will be used to make .dist files
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
driver(thisLookup, 0, numGroups, calcDists);
}else{
--- mothur-1.22.2.orig/unifracweightedcommand.cpp
+++ mothur-1.22.2/unifracweightedcommand.cpp
@@ -337,7 +337,7 @@ int UnifracWeightedCommand::execute() {
lines.clear();
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors != 1){
int numPairs = namesOfGroupCombos.size();
int numPairsPerProcessor = numPairs / processors;
@@ -356,7 +356,7 @@ int UnifracWeightedCommand::execute() {
//get scores for random trees
for (int j = 0; j < iters; j++) {
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
driver(T[i], namesOfGroupCombos, 0, namesOfGroupCombos.size(), rScores);
}else{
@@ -454,7 +454,7 @@ int UnifracWeightedCommand::execute() {
int UnifracWeightedCommand::createProcesses(Tree* t, vector< vector<string> > namesOfGroupCombos, vector< vector<double> >& scores) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
vector<int> processIDS;
--- mothur-1.22.2.orig/summarysharedcommand.cpp
+++ mothur-1.22.2/summarysharedcommand.cpp
@@ -511,7 +511,7 @@ int SummarySharedCommand::process(vector
vector< vector<seqDist> > calcDists; //vector containing vectors that contains the summary results for each group compare
calcDists.resize(sumCalculators.size()); //one for each calc, this will be used to make .dist files
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
driver(thisLookup, 0, numGroups, sumFileName+".temp", sumAllFileName+".temp", calcDists);
m->appendFiles((sumFileName + ".temp"), sumFileName);
--- mothur-1.22.2.orig/chimeraslayercommand.cpp
+++ mothur-1.22.2/chimeraslayercommand.cpp
@@ -495,14 +495,14 @@ ChimeraSlayerCommand::ChimeraSlayerComma
else {
//add / to name if needed
string lastChar = blastlocation.substr(blastlocation.length()-1);
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if (lastChar != "/") { blastlocation += "/"; }
#else
if (lastChar != "\\") { blastlocation += "\\"; }
#endif
blastlocation = m->getFullPathName(blastlocation);
string formatdbCommand = "";
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
formatdbCommand = blastlocation + "formatdb";
#else
formatdbCommand = blastlocation + "formatdb.exe";
@@ -515,7 +515,7 @@ ChimeraSlayerCommand::ChimeraSlayerComma
if(ableToOpen == 1) { m->mothurOut("[ERROR]: " + formatdbCommand + " file does not exist. mothur requires formatdb.exe to run chimera.slayer."); m->mothurOutEndLine(); abort = true; }
string blastCommand = "";
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
blastCommand = blastlocation + "megablast";
#else
blastCommand = blastlocation + "megablast.exe";
@@ -533,7 +533,7 @@ ChimeraSlayerCommand::ChimeraSlayerComma
if (hasGroup && (templatefile != "self")) { m->mothurOut("You have provided a group file and the reference parameter is not set to self. I am not sure what reference you are trying to use, aborting."); m->mothurOutEndLine(); abort=true; }
//until we resolve the issue 10-18-11
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#else
processors=1;
#endif
@@ -644,7 +644,7 @@ int ChimeraSlayerCommand::execute(){
//create chimera here if you are mac or linux because fork will copy for you. Create in create processes instead if you are windows.
if (processors == 1) { templateSeqsLength = setupChimera(thisFastaName, thisPriority); }
else {
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || USE_MPI
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__) || USE_MPI
templateSeqsLength = setupChimera(thisFastaName, thisPriority);
#endif
}
@@ -657,7 +657,7 @@ int ChimeraSlayerCommand::execute(){
#else
//break up file
vector<unsigned long long> positions;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
positions = m->divideFile(thisFastaName, processors);
for (int i = 0; i < (positions.size()-1); i++) { lines.push_back(new linePair(positions[i], positions[(i+1)])); }
#else
@@ -687,7 +687,7 @@ int ChimeraSlayerCommand::execute(){
#endif
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || USE_MPI
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__) || USE_MPI
delete chimera;
#endif
@@ -1197,7 +1197,7 @@ int ChimeraSlayerCommand::driver(linePai
count++;
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = inFASTA.tellg();
if ((pos == -1) || (pos >= filePos->end)) { break; }
#else
@@ -1358,7 +1358,7 @@ int ChimeraSlayerCommand::createProcesse
int numNoParents = 0;
processIDS.clear();
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
//loop through and create all the processes you want
while (process != processors) {
int pid = fork();
--- mothur-1.22.2.orig/screenseqscommand.cpp
+++ mothur-1.22.2/screenseqscommand.cpp
@@ -390,7 +390,7 @@ int ScreenSeqsCommand::execute(){
#else
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
numFastaSeqs = driver(lines[0], goodSeqFile, badAccnosFile, fastafile, badSeqNames);
@@ -645,7 +645,7 @@ int ScreenSeqsCommand::getSummary(vector
}
int numSeqs = 0;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
numSeqs = driverCreateSummary(startPosition, endPosition, seqLength, ambigBases, longHomoPolymer, fastafile, lines[0]);
}else{
@@ -723,7 +723,7 @@ int ScreenSeqsCommand::driverCreateSumma
count++;
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = in.tellg();
if ((pos == -1) || (pos >= filePos->end)) { break; }
#else
@@ -744,7 +744,7 @@ int ScreenSeqsCommand::driverCreateSumma
/**************************************************************************************************/
int ScreenSeqsCommand::createProcessesCreateSummary(vector<int>& startPosition, vector<int>& endPosition, vector<int>& seqLength, vector<int>& ambigBases, vector<int>& longHomoPolymer, string filename) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
int num = 0;
processIDS.clear();
@@ -1049,7 +1049,7 @@ int ScreenSeqsCommand::driver(linePair*
count++;
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = inFASTA.tellg();
if ((pos == -1) || (pos >= filePos->end)) { break; }
#else
@@ -1156,7 +1156,7 @@ int ScreenSeqsCommand::driverMPI(int sta
int ScreenSeqsCommand::createProcesses(string goodFileName, string badAccnos, string filename, set<string>& badSeqNames) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 0;
int num = 0;
--- mothur-1.22.2.orig/chimeraslayercommand.h
+++ mothur-1.22.2/chimeraslayercommand.h
@@ -135,7 +135,7 @@ typedef struct slayerData {
};
/**************************************************************************************************/
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#else
static DWORD WINAPI MySlayerThreadFunction(LPVOID lpParam){
slayerData* pDataArray;
--- mothur-1.22.2.orig/weighted.cpp
+++ mothur-1.22.2/weighted.cpp
@@ -34,7 +34,7 @@ EstOutput Weighted::getValues(Tree* t, i
}
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
data = driver(t, namesOfGroupCombos, 0, namesOfGroupCombos.size());
}else{
@@ -69,7 +69,7 @@ EstOutput Weighted::getValues(Tree* t, i
EstOutput Weighted::createProcesses(Tree* t, vector< vector<string> > namesOfGroupCombos) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
vector<int> processIDS;
--- mothur-1.22.2.orig/chimeracheckcommand.cpp
+++ mothur-1.22.2/chimeracheckcommand.cpp
@@ -431,7 +431,7 @@ int ChimeraCheckCommand::execute(){
}
//break up file
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
numSeqs = driver(lines[0], outputFileName, fastaFileNames[i]);
@@ -519,7 +519,7 @@ int ChimeraCheckCommand::driver(linePair
}
delete candidateSeq;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = inFASTA.tellg();
if ((pos == -1) || (pos >= filePos->end)) { break; }
#else
@@ -596,7 +596,7 @@ int ChimeraCheckCommand::driverMPI(int s
int ChimeraCheckCommand::createProcesses(string outputFileName, string filename) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 0;
int num = 0;
--- mothur-1.22.2.orig/blastdb.cpp
+++ mothur-1.22.2/blastdb.cpp
@@ -24,7 +24,7 @@ gapOpen(gO), gapExtend(gE), match(mm), m
int randNumber = rand();
//int randNumber = 12345;
string pid = "";
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
pid += getpid();
#else
pid += toString(threadID);
@@ -42,7 +42,7 @@ gapOpen(gO), gapExtend(gE), match(mm), m
for (int i = 0; i < path.length(); i++) { tempPath[i] = tolower(path[i]); }
path = path.substr(0, (tempPath.find_last_of('m')));
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
path += "blast/bin/";
#else
path += "blast\\bin\\";
@@ -51,7 +51,7 @@ gapOpen(gO), gapExtend(gE), match(mm), m
string formatdbCommand;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
formatdbCommand = path + "formatdb"; // format the database, -o option gives us the ability
#else
formatdbCommand = path + "formatdb.exe";
@@ -64,7 +64,7 @@ gapOpen(gO), gapExtend(gE), match(mm), m
if(ableToOpen == 1) { m->mothurOut("[ERROR]: " + formatdbCommand + " file does not exist. mothur requires formatdb.exe."); m->mothurOutEndLine(); m->control_pressed = true; }
string blastCommand;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
blastCommand = path + "blastall"; // format the database, -o option gives us the ability
#else
blastCommand = path + "blastall.exe";
@@ -80,7 +80,7 @@ gapOpen(gO), gapExtend(gE), match(mm), m
string megablastCommand;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
megablastCommand = path + "megablast"; // format the database, -o option gives us the ability
#else
megablastCommand = path + "megablast.exe";
@@ -114,7 +114,7 @@ BlastDB::BlastDB(string b, int tid) : Da
for (int i = 0; i < path.length(); i++) { tempPath[i] = tolower(path[i]); }
path = path.substr(0, (tempPath.find_last_of('m')));
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
path += "blast/bin/";
#else
path += "blast\\bin\\";
@@ -123,7 +123,7 @@ BlastDB::BlastDB(string b, int tid) : Da
int randNumber = rand();
string pid = "";
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
pid += getpid();
#else
pid += toString(threadID);
@@ -134,7 +134,7 @@ BlastDB::BlastDB(string b, int tid) : Da
blastFileName = pid + toString(randNumber) + ".blast";
string formatdbCommand;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
formatdbCommand = path + "formatdb"; // format the database, -o option gives us the ability
#else
formatdbCommand = path + "formatdb.exe";
@@ -149,7 +149,7 @@ BlastDB::BlastDB(string b, int tid) : Da
if(ableToOpen == 1) { m->mothurOut("[ERROR]: " + formatdbCommand + " file does not exist. mothur requires formatdb.exe."); m->mothurOutEndLine(); m->control_pressed = true; }
string blastCommand;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
blastCommand = path + "blastall"; // format the database, -o option gives us the ability
#else
blastCommand = path + "blastall.exe";
@@ -165,7 +165,7 @@ BlastDB::BlastDB(string b, int tid) : Da
string megablastCommand;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
megablastCommand = path + "megablast"; // format the database, -o option gives us the ability
#else
megablastCommand = path + "megablast.exe";
@@ -226,7 +226,7 @@ vector<int> BlastDB::findClosestSequence
// long. With this setting, it seems comparable in speed to the suffix tree approach.
string blastCommand;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
blastCommand = path + "blastall -p blastn -d " + dbFileName + " -m 8 -W 28 -v " + toString(n) + " -b " + toString(n);
blastCommand += (" -i " + (queryFileName+pid+toString(randNumber)) + " -o " + blastFileName+pid+toString(randNumber));
@@ -289,7 +289,7 @@ vector<int> BlastDB::findClosestMegaBlas
// long. With this setting, it seems comparable in speed to the suffix tree approach.
//7000004128189528left 0 100 66 0 0 1 66 61 126 1e-31 131
string blastCommand;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
blastCommand = path + "megablast -e 1e-10 -d " + dbFileName + " -m 8 -b " + toString(n) + " -v " + toString(n); //-W 28 -p blastn
blastCommand += (" -i " + (queryFileName+pid+toString(randNumber)) + " -o " + blastFileName+pid+toString(randNumber));
#else
@@ -363,7 +363,7 @@ void BlastDB::generateDB() {
string formatdbCommand;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
formatdbCommand = path + "formatdb -p F -o T -i " + dbFileName; // format the database, -o option gives us the ability
#else
//formatdbCommand = path + "blast\\bin\\formatdb -p F -o T -i " + dbFileName; // format the database, -o option gives us the ability
--- mothur-1.22.2.orig/unweighted.cpp
+++ mothur-1.22.2/unweighted.cpp
@@ -48,7 +48,7 @@ EstOutput Unweighted::getValues(Tree* t,
}
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
data = driver(t, namesOfGroupCombos, 0, namesOfGroupCombos.size());
}else{
@@ -83,7 +83,7 @@ EstOutput Unweighted::getValues(Tree* t,
EstOutput Unweighted::createProcesses(Tree* t, vector< vector<string> > namesOfGroupCombos) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
vector<int> processIDS;
@@ -291,7 +291,7 @@ EstOutput Unweighted::getValues(Tree* t,
}
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
data = driver(t, namesOfGroupCombos, 0, namesOfGroupCombos.size(), true);
}else{
@@ -326,7 +326,7 @@ EstOutput Unweighted::getValues(Tree* t,
EstOutput Unweighted::createProcesses(Tree* t, vector< vector<string> > namesOfGroupCombos, bool usingGroups) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
vector<int> processIDS;
--- mothur-1.22.2.orig/chimerapintailcommand.cpp
+++ mothur-1.22.2/chimerapintailcommand.cpp
@@ -493,7 +493,7 @@ int ChimeraPintailCommand::execute(){
}
//break up file
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
numSeqs = driver(lines[0], outputFileName, fastaFileNames[s], accnosFileName);
@@ -609,7 +609,7 @@ int ChimeraPintailCommand::driver(linePa
}
delete candidateSeq;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = inFASTA.tellg();
if ((pos == -1) || (pos >= filePos->end)) { break; }
#else
@@ -695,7 +695,7 @@ int ChimeraPintailCommand::driverMPI(int
int ChimeraPintailCommand::createProcesses(string outputFileName, string filename, string accnos) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 0;
int num = 0;
--- mothur-1.22.2.orig/formatcolumn.cpp
+++ mothur-1.22.2/formatcolumn.cpp
@@ -82,7 +82,7 @@ int FormatColumnMatrix::read(NameAssignm
string outfile = m->getRootName(squareFile) + "sorted.dist.temp";
//use the unix sort
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
string command = "sort -n " + squareFile + " -o " + outfile;
system(command.c_str());
#else //sort using windows sort
--- mothur-1.22.2.orig/shhhercommand.h
+++ mothur-1.22.2/shhhercommand.h
@@ -160,7 +160,7 @@ typedef struct flowDistParentForkData {
};
/**************************************************************************************************/
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#else
static DWORD WINAPI MyflowDistParentForkThreadFunction(LPVOID lpParam){
flowDistParentForkData* pDataArray;
--- mothur-1.22.2.orig/mothur.cpp
+++ mothur-1.22.2/mothur.cpp
@@ -46,7 +46,7 @@ int main(int argc, char *argv[]){
m->setFileName(logFileName);
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
system("clear");
#else
system("CLS");
@@ -57,7 +57,7 @@ int main(int argc, char *argv[]){
//add / to name if needed
string lastChar = temp.substr(temp.length()-1);
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if (lastChar != "/") { temp += "/"; }
#else
if (lastChar != "\\") { temp += "\\"; }
@@ -88,7 +88,7 @@ int main(int argc, char *argv[]){
if (outputHeader) {
//version
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
#if defined (__APPLE__) || (__MACH__)
m->mothurOutJustToLog("Mac version");
m->mothurOutEndLine(); m->mothurOutEndLine();
--- mothur-1.22.2.orig/phylodiversitycommand.cpp
+++ mothur-1.22.2/phylodiversitycommand.cpp
@@ -348,7 +348,7 @@ int PhyloDiversityCommand::execute(){
if (numSampledList.count(diversity[mGroups[j]].size()-1) == 0) { numSampledList.insert(diversity[mGroups[j]].size()-1); }
}
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
if(processors == 1){
driver(trees[i], diversity, sumDiversity, iters, increment, randomLeaf, numSampledList, outCollect, outSum, true);
}else{
@@ -398,7 +398,7 @@ int PhyloDiversityCommand::execute(){
//**********************************************************************************************************************
int PhyloDiversityCommand::createProcesses(vector<int>& procIters, Tree* t, map< string, vector<float> >& div, map<string, vector<float> >& sumDiv, int numIters, int increment, vector<int>& randomLeaf, set<int>& numSampledList, ofstream& outCollect, ofstream& outSum){
try {
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
vector<int> processIDS;
--- mothur-1.22.2.orig/endiannessmacros.h
+++ mothur-1.22.2/endiannessmacros.h
@@ -125,7 +125,7 @@
* out at over 2-times faster than iswap_int4 above.
*/
#if 0
-#if defined(__linux__)
+#if defined(__GLIBC____)
# include <byteswap.h>
# undef iswap_int8
# undef iswap_int4
--- mothur-1.22.2.orig/trimflowscommand.cpp
+++ mothur-1.22.2/trimflowscommand.cpp
@@ -226,7 +226,7 @@ int TrimFlowsCommand::execute(){
}
vector<unsigned long long> flowFilePos;
- #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+ #if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
flowFilePos = getFlowFileBreaks();
for (int i = 0; i < (flowFilePos.size()-1); i++) {
lines.push_back(new linePair(flowFilePos[i], flowFilePos[(i+1)]));
@@ -445,7 +445,7 @@ int TrimFlowsCommand::driverCreateTrim(s
//report progress
if((count) % 10000 == 0){ m->mothurOut(toString(count)); m->mothurOutEndLine(); }
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
unsigned long long pos = flowFile.tellg();
if ((pos == -1) || (pos >= line->end)) { break; }
@@ -686,7 +686,7 @@ int TrimFlowsCommand::createProcessesCre
processIDS.clear();
int exitCommand = 1;
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__GLIBC__)
int process = 1;
//loop through and create all the processes you want
--- mothur-1.22.2.orig/uchime_src/myutils.cpp
+++ mothur-1.22.2/uchime_src/myutils.cpp
@@ -635,7 +635,7 @@ double GetMemUseBytes()
g_PeakMemUseBytes = Bytes;
return Bytes;
}
-#elif linux || __linux__
+#elif linux || __GLIBC____
double GetMemUseBytes()
{
static char statm[64];
Reply to: