cd0d3f081ff261f36b65ec1016d859ce3d50cb14
chmalee
  Mon Apr 19 14:29:28 2021 -0700
Add -fno-common to library makefiles to fix common extern variable definition errors

diff --git src/hg/hgc/lowelab.c src/hg/hgc/lowelab.c
index 6434e9d..43ddb2e 100644
--- src/hg/hgc/lowelab.c
+++ src/hg/hgc/lowelab.c
@@ -382,31 +382,31 @@
 			else
 				strcpy(product, "N/A");
 
 			sqlSafef(query, sizeof query, "select product from %s where name = '%s'", xraTable, blastpTarget[1]);
 			sr = sqlGetResult(conn, query);
 			if ((row = sqlNextRow(sr)) != NULL)
 			{
 				strcpy(product, row[0]);
 				sqlFreeResult(&sr);
 			}
 			else
 				strcpy(product, "N/A");
 		}
 		else
 		{
-			ginfo = getGbProtCodeInfo(conn, blastpTarget[0], blastpTarget[1]);
+			ginfo = getGbProtCodeInfo(conn, database, blastpTarget[0], blastpTarget[1]);
 			if (ginfo != NULL && ginfo->product != NULL && differentString(ginfo->product,"none"))
 				strcpy(product, ginfo->product);
 			else
 				strcpy(product, "N/A");
 		}
 		printf("<td>%s</td>\n", product);
 		printf("<td style=\"text-align: right;\">%0.0e</td>\n", blastpHits->eValue);
 		printf("</tr>\n");
 
         free(blastpTarget[0]);
         free(blastpTarget[1]);
         blastpHits = blastpHits->next;
     }
     /* Close table */
     printf("</tbody>\n");
@@ -2314,31 +2314,31 @@
                     queryStart = strtoul(row[1], buffer, 10);
                     queryEnd = strtoul(row[2], buffer, 10);
                 }
                 sqlFreeResult(&srRefSeq);
         }
 
         if ((queryStart == 0) && (queryEnd == 0))
                 printf("Query gene not found for %s at %s:%u-%u\n", blastpTrack->name, blastpTrack->chrom, blastpTrack->chromStart, blastpTrack->chromEnd);
         else
             {
                 *querySeqLength = queryEnd - queryStart;
 
                 /* Print query gene info */
                 printf("<B>Gene: </B>%s<BR>\n", queryName);
 
-                ginfo = getGbProtCodeInfo(conn, database, queryName);
+                ginfo = getGbProtCodeInfo(conn, database, database, queryName);
                 if (ginfo != NULL)
                 {
                     if (ginfo->product != NULL && differentString(ginfo->product,"none"))
                         medlineLinkedLine("Product", ginfo->product, ginfo->product);
                 }
 
                 printf("<B>Position:</B> "
                        "<A HREF=\"%s&db=%s&position=%s%%3A%d-%d\">",
                        hgTracksPathAndSettings(), database, blastpTrack->chrom, queryStart + 1, queryEnd);
                 printf("%s:%d-%d</A><BR>\n", blastpTrack->chrom, queryStart + 1, queryEnd);
                 printf("<B>Strand:</B> %s<BR>\n", blastpTrack->strand);
                 printf("<B>Genomic size: </B> %d nt<BR>\n", (queryEnd - queryStart));
             }
         }
         else
@@ -2527,31 +2527,31 @@
                     else
                         strcpy(product, "N/A");
 
                     sqlSafef(query, sizeof query, "select product from %s.%s where name = '%s'", blastpTarget[0], xraTable, blastpTarget[1]);
                     sr = sqlGetResult(conn, query);
                     if ((row = sqlNextRow(sr)) != NULL)
                     {
                         strcpy(product, row[0]);
                         sqlFreeResult(&sr);
                     }
                     else
                         strcpy(product, "N/A");
                 }
                 else
                 {
-                    ginfo = getGbProtCodeInfo(conn, blastpTarget[0], blastpTarget[1]);
+                    ginfo = getGbProtCodeInfo(conn, database, blastpTarget[0], blastpTarget[1]);
                     if (ginfo != NULL && ginfo->product != NULL && differentString(ginfo->product,"none"))
                         strcpy(product, ginfo->product);
                     else
                         strcpy(product, "N/A");
                 }
                 printf("<td>%s</td>\n", product);
             }
             else
                 printf("<td>%s</td>\n", "N/A");
 
             printf("<td style=\"text-align: center;\">%0.f</td>\n", ((double) (blastpHits->qEnd - blastpHits->qStart) / ((double) (querySeqLength-3) / 3.0f)) * 100.0f);
             printf("<td style=\"text-align: center;\">%u - %u</td>\n", blastpHits->qStart + 1, blastpHits->qEnd);
             printf("<td style=\"text-align: right;\">%0.1f</td>\n", blastpHits->identity);
             printf("<td style=\"text-align: right;\">%0.0e</td>\n", blastpHits->eValue);
             printf("<td style=\"text-align: right;\">e%0.0f</td>\n", (blastpHits->eValue == 0)? 0 : log(blastpHits->eValue) / log(10));
@@ -2891,31 +2891,31 @@
                     hitStart = targetProteinStart + blastxHits->tStart * 3 + 1;
                     hitEnd = targetProteinStart + blastxHits->tEnd * 3;
                     printf("<td><a href=\"hgTracks\?position=%s:%u-%u&db=%s\" TARGET=_blank>%s</a></td>\n",
                            row[0], hitStart, hitEnd, blastxTarget[0], blastxTarget[1]);
                 }
                 else
                     printf("<td>%s</td>\n", blastxTarget[1]);
                 sqlFreeResult(&sr);
             }
             else
                 printf("<td>%s</td>\n", blastxTarget[1]);
 
             /* Get target gene product annotation */
             if (hDbExists(blastxTarget[0]))
             {
-                ginfo = getGbProtCodeInfo(conn, blastxTarget[0], blastxTarget[1]);
+                ginfo = getGbProtCodeInfo(conn, database, blastxTarget[0], blastxTarget[1]);
                 if (ginfo != NULL && ginfo->product != NULL && differentString(ginfo->product,"none"))
                     printf("<td>%s</td>\n", ginfo->product);
                 else
                     printf("<td>%s</td>\n", "N/A");
                 }
             else
                 printf("<td>%s</td>\n", "N/A");
 
             printf("<td style=\"text-align: center;\">%u - %u</td>\n", blastxHits->qStart + 1, blastxHits->qEnd);
             printf("<td style=\"text-align: center;\">%u - %u</td>\n", blastxHits->tStart + 1, blastxHits->tEnd);
             if ((targetProteinStart == 0) || (targetProteinEnd == 0))
                 printf("<td style=\"text-align: center;\">N/A</td>\n");
             else
                 printf("<td style=\"text-align: center;\">%0.f</td>\n", ((double) (blastxHits->tEnd - blastxHits->tStart) /
                                                                      ((double) (targetProteinEnd-targetProteinStart-3) / 3.0f)) * 100.0f);