'Building software written in c++ in a Conda environment
I am a bioinformatician and work with large genetic datasets. We work with a particular file format (.bgen) for efficiently storing this data, but there is (to my knowledge) only one piece of software that can manipulating these files: QCTOOL v2.
Our computing cluster has an old version of the software (v1 which cannot handle newer specs of the .bgen format) and the administrators will not install the newer version. The pre-compiled binaries for the software do not have access to the required boost libraries, so they are also not an option. Since I don't have root access, I am limited to installing within a conda environment.
The software comes packaged with most of its dependencies, but attempting to compile the software without conda environment runs into issues with the cluster's c++ compiler. I thought that the compiler was the issue, so I created a conda environment and installed GCC, added the conda gcc binary to LD_LIBRARY_PATH and tried to compile QCTOOL, but hit exactly the same error during compilation.
The error that it runs in to is:
../../metro/src/regression/Design.cpp: In member function ‘std::string metro::regression::Design::get_summary() const’:
../../metro/src/regression/Design.cpp:239:41: error: ‘defaultfloat’ is not a member of ‘std’
out << std::setw( widths[j+1] ) << std::defaultfloat << std::setprecision(3) ;
and googling reveals this 8-year old stack overflow question. From this, and the numerous compiler warnings about comparison between signed and unsigned integer expressions, I still think the compiler may be the problem.
As I don't have much experience of c++ and I'm limited to conda environments, I don't know what I should try next. I'm asking here as the software, despite being fairly critical, is not well-supported (though I understand the reasons) and updated/bugfixes are infrequent. Given my limited knowledge of c++, I was hoping to avoid editing the code directly but can do so if that's the best way to fix this.
Any help or advice, no matter how basic, would be hugely appreciated. Thanks!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
