QCTOOL

View Ticket
Login
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.