About
Contact
Compile error during mfold v3.5 install - can someone help?
Hello,
I'm still fairly new with linux. I've managed to install mfold-util 4.5, and then I tried to install mfoldv3.5 but got the following compile errors:
****************
....
d write(6,*) 'Reduce 3'' end (free): i,j,e = ',i,j,e
1
Error: Non-numeric character in statement label at (1)
rna.f:1043.1:
d write(6,*) 'Base pair: ',i,j
1
Error: Non-numeric character in statement label at (1)
make[2]: *** [nafold-rna.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
....
****************
I tried as best I could to follow the Install instructions to modify the makefile (e.g. I followed the example at http://www.cs.bgu.ac.il/~sebastia/sebastia/mfold-3.1.2/Makefile) , but to no success. But then again I don' really understand the meaning of the modifications.
I suspect it has something to do with the fortran compiling?
I'm using Linux Ubuntu 10.04.
Would someone be able to help?
Thanks,
Ken
Hi,I installed mfold-3.5 for gentoo.It shows:
make[2]: *** [efn2.o] Error 1
make[2]: Leaving directory `mfold-3.5/c++'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `mfold-3.5'
make: *** [all] Error 2
The files efn2.cpp and algorithm.cpp are supplied with header files with extension .h i.e "#include string.h",
but it still has the error.
Can you give me some help?
Thanks!
I also have same problem with Ubuntu 10.04. any solution?
hi,
i can problem to install mfold-util, i have OS 64 bit, can you help me, i don't know how to rislve this issue?thx,
Just got it to work for Ubuntu 10.10 :D!
Please post exactly what you did to compile the package for Ubuntu.
Why are you (and all the others who have posted comments) spending time installing the obsolete mfold software when the superior UNAFold package is available for download? I would like to know if there are issues with respect to installing UNAFold for Ubuntu
Having real issues , personally I think the issue lies in Ubuntu, hopefully someone can come up with a fix/work around
Hi ken
I'm using ubuntu 10.10 and have changed the algorithm.cpp
#include cstring
and it is working fine now.
Regards
Tahia
I am very sorry that this bug has caused a problem. It is for a very stupid reason. In Fortran, any line beginning with 'c' is a comment line and is ignored when the code is compiled. A line beginning with 'd' is also treated as a comment, except that it can become a valid part of the code if a special compilation is performed. Unfortunately, some Fortran compilers are very stupid and do not recognize this convention. I know this and these lines should never have been left in the code. They are for debugging only.
To eliminate the problem, please edit the source code and remove all lines beginning with d. I will correct the download version of mfold. Thank you for reporting the problem.
From memory, I checked and edited all fortran related files (.f) . That got rid of that particular error.
Unfortunately I also have been unable to install it in the end as I had other errors (see my other post), so I have given up on local mfold and been using the webserver instead and also the Vienna package.
I'm not sure if it's the mfold code itself or something with Ubuntu (I'm also using Ubuntu), but I don't have these sorts of problems with compiling with other software.
good luck!
As I wrote when discussing problems encountered with the mfold_util package, I'm not personally using Ubuntu so all I can do is suggest solutions. I'm hoping that users will share their experiences on this forum. First and foremost, mfold is an obsolete package that is still supported for a variety of reasons: 1) intellectual property reasons, 2) ease of creating specialized versions and 3) backwards compitibility, allowing users to compare current foldings with old ones computed by mfold. I strongly urge everyone to download and install the far superior UNAFold package that supercedes and replaces mfold. You can still predict suboptimal foldings in the mfold style using UNAFold. Run hybrid-ss-min
with the "--mfold
" flag. The UNAFold.pl
Perl script produces mfold-like output by default. You should find UNAFold much easier to install. If there are still problems with Ubuntu, then we will make an effort to solve them.
This message is for anyone who uses UNAFold (or mfold for that matter). It is no longer necessary to install mfold_util before installing UNAFold. If the required programs from mfold_util (sir_graph
and boxplot_ng
are installed, the UNAFold scripts will detect and use them. Otherwise, plot files will not be created.
Dear Prof. Zuker,
Thank you for the reply.
I found that rna.f and rna-quik.f both had lines beginning with 'd', which I deleted. I couldn't find this in the other .f codes.
Unfortunately when I tried compiling again, I ran into other errors which seems to be in the C++ code (see some lines below).
My steps for install were:
./configure
make
when I ran into the errors. Not sure if the undeclared functions is due to my system now.
If you like I can send you an output of the attempt via email.
Best regards
Ken
*****************************************************************
e.g. :
...
Warning: Deleted feature: Loop variable at (1) must be integer
misc-quik.f:323.9:
do a = 1,5
1
Warning: Extension: REAL array index at (1)
misc-quik.f:401.15:
do d = 1,5
1
...
algorithm.cpp:2326: error: ‘strcmp’ was not declared in this scope
...
algorithm.cpp:2617: error: ‘strcpy’ was not declared in this scope
...
algorithm.cpp:3656: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’, declared with attribute warn_unused_result
...
algorithm.cpp:4007: warning: deprecated conversion from string constant to ‘char*’
...
algorithm.cpp: In function ‘void sortstructures(structure*)’:
algorithm.cpp:4030: error: ‘strcpy’ was not declared in this scope
algorithm.cpp: In function ‘void opensav(char*, structure*, arrayclass*, arrayclass*, arrayclass*, int*, int*, int*, datatable*)’:
algorithm.cpp:4314: error: ‘strcpy’ was not declared in this scope
efn2.cpp: In function ‘void getdat(char*, char*, char*, char*, char*, char*, char*, char*, char*, char*, char*, char*, char*, char*, char*, char*, char*)’:
efn2.cpp:14: error: ‘strcpy’ was not declared in this scope
efn2.cpp:15: error: ‘strcat’ was not declared in this scope
efn2.cpp: In function ‘int main(int, char**)’:
efn2.cpp:67: error: ‘strcpy’ was not declared in this scope
efn2.cpp:70: error: ‘strcpy’ was not declared in this scope
efn2.cpp:100: error: ‘strlen’ was not declared in this scope
efn2.cpp:102: error: ‘strcmp’ was not declared in this scope
efn2.cpp:104: error: ‘strcat’ was not declared in this scope
make[2]: *** [efn2.o] Error 1
make[2]: Leaving directory `/usr/local/bin/mfold-3.5/c++'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/bin/mfold-3.5'
make: *** [all] Error 2
*********************************************************
It worked if the files efn2.cpp and algorithm.cpp are supplied with header files with extension .h i.e "#include string.h"
As of today, the source code for the mfold package (version 3.5) has been updated. All comment lines beginning with "d" have been replaced by equivalent lines beginning with a "c".
I think I know what the problem is with the efn2 compilation. Give me a bit of time.
These are errors seems to be still there. But also header file error is also there i.e in efn2.h and algorithm.h if you include string.h header file then it got installed but however C error still coming.
I'm using Ubuntu 10.10 and having the same problem as well.
Ubuntu 10.10 has been causing me similar issues. can someone advise?
Hi!
when I modified the c++/algorithm.cpp that contains: #include .When run to make,it errors:
/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/../../../libgd.so when searching for -lgd
/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libgd.so when searching for -lgd
/gcc/x86_64-pc-linux-gnu/4.6.3/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lgd
collect2: ld returned 1 exit status
make[2]: *** [efn2] Error 1
make[2]: Leaving directory `mfold-3.5/c++'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mfold-3.5'
make: *** [all] Error 2
Would you give me some help?
Thanks!