-
Notifications
You must be signed in to change notification settings - Fork 3
Troubleshooting FAQ
-
Q1: Where do I install Bifrost for PopIns2?
A1: Generally speaking, the C++ library Bifrost has to be found by your compiler, i.e. it should usually be located in your system'slocal/includeandlocal/libfolders. There are different ways to achieve this. The respective github page (see Requirements) provide more details. -
Q2: Why does the compiler not find Bifrost even though I downloaded and built them successfully?
A2: This answer adds up to A1: the headers and libraries are likely not present in a location that is known to your system. One solution is to attach the header and library folders to the correct environment variables. Assuming headers at/usr/local/include/and libraries at/usr/local/lib/the following shell commands set the correct environment variables for the current session:
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/include/
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/include/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/lib/
export PATH=$PATH:/usr/local/lib/
-
Q3: Why do I get an Illegal instruction (core dump) error if I distribute PopIns2 jobs among a HPC cluster?
A3: PopIns2, by default, uses the-march=nativecompiler option to build the binary. This option opitimizes the code using the processor architecture of the machine it is compiled on. If you distribute PopIns2 jobs among cluster nodes you have to make sure that all nodes support the same CPU instructions like the machine that the binary was built on. -
Q4: Why do I get linker errors like Kmer::toString[abi:cxx11]()?
A4: We noticed this problem only with GCC 7.3.0 so far and the additional compiler flag-D_GLIB_CXX_USE_CXX11_ABI=0solved the problem when added to theCXXFLAGSlist within the Makefile. -
Q5: Why is the linker failing to build the PopIns2 binary on MacOS?
A5: We noticed a problem with a library on MacOS. Commenting out theLDLIBS += -lrtin the Makefile solved the issue. -
Q6: Is PopIns2 system-agnostic?
A6: PopIns2 was built with Linux OS and agcccompiler in mind and is the only officially supported combination of OS and compiler. In the the past we had some success building PopIns2 for MacOS but only after a lot of tweaking and it is not advised in general. E.g. the old SeqAn library v2.2.0 does not compile on MacOS Monterey.