View Ticket
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:

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:

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:

Marking as 'fixed' as I think this is.