Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

I am unable to run a C++ program in Debian(Ubuntu) that works in Redhat(Centos)

TLDR: Having trouble compiling a C++ program that worked in Centos Redhat in Ubuntu Debian. Is there anything I Should be aware of between these two that would make a C++ program compiled using the same compiler not work?

Hello, I'm trying to compile and run Germline (http://www1.cs.columbia.edu/~gusev/germline/). It works fine in RedHat Centos, but because Centos isn't as supported as Ubuntu is for most things I switched. And now this program does not work. It's entirely possible it's using some kind of RedHat only functionality, but I'm using the same compiler (g++) to compile it in both environments.

I've been pulling my hair out just trying to get this thing to work on Ubuntu as it is much nicer to work with, but as of now when I "make all" the project in ubuntu it will compile and the tests spin(Don't ever finish) forever. No matter what binaries I use (Compiled in Centos and copied, the failed test binaries I just mentioned etc), the program just always freezes.

Kinda long, sorry. My main question is this: Is there any other C++ compiler alternatives I can try? Is there any Red-hat C++ libraries I might be missing. Or major differences in their C++ implementations that mighjt cause this?

like image 522
Chris Avatar asked Oct 18 '12 18:10

Chris


1 Answers

I took a look at the software. It's input code is a bit fragile, and I'm not certain if Ubuntu or Red Hat's C++ library is buggy in this case, but the program can easily be fixed to work on both.

In the file PEDIndividualsExtractor.cpp, in the function void PEDIndividuasExtractor::loadInput(), change the line:

while (!stream.eof() )

to:

while (stream)

and recompile.

like image 105
pdw Avatar answered Sep 28 '22 19:09

pdw