| Ticket UUID: | 9c01ec9ee157368d2a5d2dc4f992f28ab12d7d86 | |||
| Title: | QCTOOL compile fails on older compilers | |||
| Status: | Fixed | Type: | Code_Defect | |
| Severity: | Critical | Priority: | Immediate | |
| Subsystem: | Resolution: | Open | ||
| Last Modified: | 2020-06-27 16:47:52 | |||
| Version Found In: | v2.0.7 | |||
| User Comments: | ||||
gav added on 2020-06-27 16:39:43:
(text/x-markdown)
GB: I am leaving this info here in case needed for a future fix. Rebecca Graff reported this error when using gcc4.4.7, and that using a more modern compiler fixed it.
**From Mian Asbat Ahmad**:
With help from Gavin, here is how to install the package from source on Centos 6.9:
```
mkdir /qctool
cd /qctool
wget https://bitbucket.org/gavinband/qctool/get/beta.tar.bz2
tar -jxvf beta.tar.bz2
cd gavinband-qctool-1215abdf6740/
Now open the file genfile/include/genfile/vcf/Types.hpp and remove word 'throw' from line 54, 31, and 60 and save the changes.
./waf-1.5.18 configure --prefix=/qctool
./waf-1.5.18 install
```
If all goes well, the binary will be installed in /qctool/bin
**From "John"**:
Hi,
Had the same errors on my system (Centos 6.9/6.10). Advice given worked to overcome those, but now I am getting
```
Build failed:
-> task failed (err #1):
{task: cxx DBOutputter.cpp -> DBOutputter_1.o}
```
Is this resolvable, or am I going to need an update to 7?
p.s.
Tried the binary download for Centos 6.8 from https://www.well.ox.ac.uk/~gav/resources/ and this says my Glib is too old…
**From Austen Le**:
I am running gcc 4.4.7 20120313 (Red Hat 4.4.7-11). I believe I am having the same error as Rebecca:
```
Build failed: -> task failed (err #1):
{task: cxx DBOutputter.cpp -> DBOutputter_1.o}
```
I have already removed throw from lines 31,54, and 60 from the genfile/include/genfile/vcf/Types.hpp. I have also checked that line 39 of `qcdb/src/DBOutputter.cpp` has been changed to
```
bool match_rsid = (std::find( fields.begin(), fields.end(), static_cast<int>(CompareFields::eRSID) ) != fields.end()) || (std::find( fields.begin(), fields.end(), static_cast<int>(CompareFields::eIDs) ) != fields.end() ) ;
```
Please advise. Thanks.
gav added on 2020-06-27 16:47:23: (text/x-markdown) **From Gavin Band:** FYI I have implemented the DBOutputter fix in the beta branch (changeset afa3689). hg pull -u should obtain it. If this fix is in place, I don’t think you should get the same error, but happy to look at any error you do get (please send build log.) Note: this is now in commit [8599e127fc76]. Best, g. gav added on 2020-06-27 16:47:52: (text/x-markdown) Marking as 'fixed' as I think this is. | ||||

