I recently downloaded the tar file to install the finis genome gap closing software, but to my dismay am having some issues with getting the code to compile.
Specifically, the error I get is:
[LD]
g++ -o finis obj/CommonFunction.o obj/ConfigReader.o obj/Configure.o obj/ConnectedNode.o obj/Contig.o obj/ContigGraphAnalyzer.o obj/Gap.o obj/PathNode.o obj/QuadProgSolver.o -L/Users/shiggin8/bin/mosek/6/tools/platform/osx64x86/bin -lmosek
ld: library not found for -lmosek
collect2: ld returned 1 exit status
make: *** [finis] Error 1
In the make.sh file, MSKLIBNAME is set to "mosek". Is this correct? I have installed mosek version 6 and have set up the *.dylib files to be accessible via the DYLD_LIBRARY_PATH. Additionally, mosek is specified in my path environment and callable from the shell.
At this point, I don't feel like searching through all the object files using nm or objdump -t to figure out which functions are being called and what libraries are not accessible to them.
If you could provide any assistance on this subject I would greatly appreciate it.
Thank you,
Steve
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
One of the finis dependencies right now is OpenMP so you should install it if possible. If not, I would have to modify the code and I am not sure how long that would take.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
To whom this may concern,
I recently downloaded the tar file to install the finis genome gap closing software, but to my dismay am having some issues with getting the code to compile.
Specifically, the error I get is:
[LD]
g++ -o finis obj/CommonFunction.o obj/ConfigReader.o obj/Configure.o obj/ConnectedNode.o obj/Contig.o obj/ContigGraphAnalyzer.o obj/Gap.o obj/PathNode.o obj/QuadProgSolver.o -L/Users/shiggin8/bin/mosek/6/tools/platform/osx64x86/bin -lmosek
ld: library not found for -lmosek
collect2: ld returned 1 exit status
make: *** [finis] Error 1
In the make.sh file, MSKLIBNAME is set to "mosek". Is this correct? I have installed mosek version 6 and have set up the *.dylib files to be accessible via the DYLD_LIBRARY_PATH. Additionally, mosek is specified in my path environment and callable from the shell.
At this point, I don't feel like searching through all the object files using nm or objdump -t to figure out which functions are being called and what libraries are not accessible to them.
If you could provide any assistance on this subject I would greatly appreciate it.
Thank you,
Steve
Hi Steven,
My suggestion for now is to change MSKLIBNAME=mosek to MSKLIBNAME=mosek64. Let me know if this worked.
Hi Dario,
I set MSKLIBNAME equal to mosek64 but now I get this error message:
[LD]
g++ -o finis obj/CommonFunction.o obj/ConfigReader.o obj/Configure.o obj/ConnectedNode.o obj/Contig.o obj/ContigGraphAnalyzer.o obj/Gap.o obj/PathNode.o obj/QuadProgSolver.o -L/Users/shiggin8/bin/mosek/6/tools/platform/osx64x86/bin -lmosek64
Undefined symbols for architecture x86_64:
"omp_get_thread_num", referenced from:
ContigGraphAnalyzer::GenSubgraphImproved(Gap) in ContigGraphAnalyzer.o
ContigGraphAnalyzer::GenerateGapSeq(Gap) in ContigGraphAnalyzer.o
__ZN19ContigGraphAnalyzer13MixedAnalysisEPSt6vectorIP3GapSaIS2_EES5.omp_fn.0 in ContigGraphAnalyzer.o
...many more function calls...
"_omp_set_num_threads", referenced from:
ContigGraphAnalyzer::MixedAnalysis(std::vector<Gap*, std::allocator<Gap*=""> >,
ContigGraphAnalyzer::AnalyzeGaps(std::basic_string<char, std::char_traits<char="">, std::allocator<char> >, std::basic_string<char, std::char_traits<char="">, std::allocator<char> >&)in ContigGraphAnalyzer.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: ** [finis] Error 1
Thanks for any input you have,
Steve
One of the finis dependencies right now is OpenMP so you should install it if possible. If not, I would have to modify the code and I am not sure how long that would take.
Thanks Dario,
Let me install OpenMP if I have not and I will get back to you.
Steve
Great. Please do let me know if that fixed it.