ximmer icon indicating copy to clipboard operation
ximmer copied to clipboard

Error at install

Open gybeata opened this issue 6 years ago • 5 comments

Hello,

I am having a hard time installing xhmm within ximmer. This is the error I am getting:

g++ -c -Wall -Werror -O3  -I./sources/include  sources/lib/MatrixDecomp.cpp -o build/lib/MatrixDecomp.o
In file included from sources/lib/MatrixDecomp.cpp:3:0:
./sources/include/VectorOnDisk.hpp: In instantiation of 'HMM_PP::VectorOnDisk<dataType>::~VectorOnDisk() [with dataType = double]':
sources/lib/MatrixDecomp.cpp:75:1:   required from here
./sources/include/VectorOnDisk.hpp:91:37: error: throw will always call terminate() [-Werror=terminate]
        throw new Exception(str.str());
                                     ^
./sources/include/VectorOnDisk.hpp:91:37: note: in C++11 destructors default to noexcept
cc1plus: all warnings being treated as errors

Do you have any idea where to look for the source of the error? I was not able to find any useful solution so far.

Thank you

gybeata avatar Nov 06 '18 16:11 gybeata

im having the same error this error is particular to xhmm tool

SafinaAr avatar Nov 07 '18 11:11 SafinaAr

Hmm, this looks like a problem with the XHMM source code (which is quite old) under newer versions of GCC. One solution might be to use an older version of GCC. I will do some experimentation to see if a simple patch to the build file can solve it with newer versions.

ssadedin avatar Nov 10 '18 03:11 ssadedin

I've just pushed what I hope might be a fix for this. If you pull down the latest code and run install process again it will hopefully work. You might need to remove the existing attempt it made at compiling XHMM, eg:

rm -rf eval/pipeline/tools/xhmm

Thanks for reporting the problem and let me know if this helps!

ssadedin avatar Nov 10 '18 04:11 ssadedin

I have accounted the same error here with latest git clone on ubuntu server 18.04LTS. Here is the gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04), and the error message

g++ -c -Wall -Werror -O3  -I./sources/include  sources/lib/MatrixDecomp.cpp -o build/lib/MatrixDecomp.o
In file included from sources/lib/MatrixDecomp.cpp:3:0:
./sources/include/VectorOnDisk.hpp: In instantiation of ‘HMM_PP::VectorOnDisk<dataType>::~VectorOnDisk() [with dataType = double]’:
sources/lib/MatrixDecomp.cpp:75:1:   required from here
./sources/include/VectorOnDisk.hpp:91:37: error: throw will always call terminate() [-Werror=terminate]
        throw new Exception(str.str());
                                     ^
./sources/include/VectorOnDisk.hpp:91:37: note: in C++11 destructors default to noexcept

cluhaowie avatar Feb 10 '19 01:02 cluhaowie

Hi,

FWIW, I sent the XHMM authors a patch to make their code build on C++11 compilers, so if you take master from their git repo, it will now build on 18.04 (and other systems with modern C compilers).

mcv21 avatar Jan 21 '20 09:01 mcv21