Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fingerprintscan - problem compiling from source #216

Open
Juke34 opened this issue Jul 23, 2021 · 0 comments
Open

fingerprintscan - problem compiling from source #216

Juke34 opened this issue Jul 23, 2021 · 0 comments

Comments

@Juke34
Copy link

Juke34 commented Jul 23, 2021

I don't know if you have expert in C++ in your team but it would be nice to review the code of fingerprintscan.
I don't know on what OS and with which compiler version you succedeed to compile fingerprintscan but I have tried for days wihtout success on diffirent linux system and OSX.

First I had problem with error: reference to ‘shuffle’ is ambiguous

So I patched the code this patch:

diff --git a/FingerPrint.cc b/FingerPrint.cc
index e66bdca..8053707 100644
--- a/FingerPrint.cc
+++ b/FingerPrint.cc
@@ -82,7 +82,7 @@ bool DatabaseValues::MethodIs_pD = UsepDmethod; // Default to p * N/n method of
 int GRAPH         = 0;
 int GRAPHDEBUG    = 0; //This will allow the graph function to use unweighted scores
 int CONSENSUS     = 0; //Global flag to determine use of consensus alignment function
-int shuffle       = 0; //Default not to call shuffle function
+int ShuffleFlag       = 0; //Default not to call ShuffleFlag function
 int julian_selley = 0; //By default flag is off
 int RESTRICT      = 0; // This flag if on, will restrict all tables to reporting
 
@@ -945,7 +946,7 @@ void PrintsDbase::FindFingerPrintMatches(float evalthreshold, int UseFasta){
   while (seqp != 0) {
     FingerPrint * fingp = FingerPrintHead;
     seqp->fppoint = seqp->scorelist.Schead;
-    if (shuffle) { seqp->Shuffle();}
+    if (ShuffleFlag) { seqp->Shuffle();}
     // the FPScore pointer fppoint has to be reset to the head of the list
 
     while ( fingp != 0) {
@@ -1856,7 +1857,7 @@ int main (const int argc,char * argv[])
 	 << "\t                  (-a flag needs to be on too)" << endl
 	 << "\t-R   Restrict all results in all tables to those which score below the Evalue" << endl
 	 << "\t     threshold." << endl
-	 << "\t-s   select the random shuffle option (which shuffles all sequences)" << endl
+	 << "\t-s   select the random ShuffleFlag option (which ShuffleFlags all sequences)" << endl
 	 << "\t-t # Specify the Profile score threshold (where # is a positive integer (default= 15))" << endl
 	 << "\t-w   Output the GNU licence" << endl
 	 << "\t-x # Specify the P-value score threshold " << endl 
@@ -1927,7 +1928,7 @@ int main (const int argc,char * argv[])
 	      break;
 	    case 'p': want_printing = 1; break;
 	    case 'R': RESTRICT =1; break;
-	    case 's': shuffle = 1; break;
+	    case 's': ShuffleFlag = 1; break;
 	    case 't':	      
 	      if (argc < (i+2)) { cout << "The -t flag requires 1 value, the score threshold" << endl; exit(0);}
 	      threshold = (atoi(argv[i+1]))?atoi(argv[i+1]):15; 

Then I succeeded to make it compiles but when running it I have now this error free(): double free detected in tcache 2

For now I will use your compiled version but it would be nice

  1. to have information about how you succeeded to compile it
  2. to have someone that look the code to modernize it

Thx

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant