Installing A Program On Windows Using Cygwin
1
0
Entering edit mode
12.3 years ago
Diana ▴ 930

Hello all!

I'm trying to install a Unix program through cygwin on windows. It was a tar.gz file. I've unwrapped it and then I move to the folder with the makefile but when I try to make the files, it gives me this error:

Diana@Diana-PC /cygdrive/C/Users/Diana/d2z.v01/code/iid
$ make
g++ -O5 -Wno-deprecated -c listop.cpp
In file included from listop.cpp:1:0:
listop.h:1:18: fatal error: list.h: No such file or directory
compilation terminated.
make: *** [listop.o] Error 1

I do not understand this error. Do I not have the proper packages or am I doing something wrong?

Thanks!

unix • 4.8k views
ADD COMMENT
0
Entering edit mode

how is it related to bioinformatics ?

ADD REPLY
0
Entering edit mode

Its a bioinformatics program for enhancer prediction and I just cant get it to work. Maybe I should write in some programming blog.

ADD REPLY
0
Entering edit mode

which program is it? The installer is looking for a file that it cannot find. You have all the required packages (like g++) installed?

ADD REPLY
3
Entering edit mode
12.3 years ago
matted 7.8k

If you had told us the program, it would have been easier to help. I believe you're trying to install the D2Z suite found here.

I took a look at the package, and it looks like it was written in pretty old/bad C++. There are a lot of missing #include statements and namespace declarations that prevent it from compiling on modern systems. For instance, the list.h error you see is the old style STL header that is now just list.

To hack it to work, put the following includes in listop.h and wherever else is necessary to fix compile errors: #include <cstring>, #include <string>, #include <vector>, #include <list>, #include <algorithm>, and #include <cstdlib>. It's quickest to also add using namespace std; after the includes in those headers. You'll also have to run ./code/markov/matrix/matrixinstall, which isn't called by their makefiles.

There are probably better ways to make recent gcc toolkits act old (e.g. use old-style STL references), but I'm not enough of a C++ hacker to know them.

ADD COMMENT
0
Entering edit mode

Whoa! Nice work!

ADD REPLY
0
Entering edit mode

Thank you so much for your reply. But I still can't get it to work. I am sorry I am not much of a programmer. Where should I put this: ./code/markov/matrix/matrixinstall? in the make files?

ADD REPLY
0
Entering edit mode

That's a script that you should run before the rest of the makefiles (they're calling by the "install.sh" script). It updates some libraries that are already there in the package, but are out of date unless you run that command.

ADD REPLY

Login before adding your answer.

Traffic: 2472 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6