[AMBER] ambertools 1.2 compilation error on Debian Linux

From: Francesco Pietra <chiendarret.gmail.com>
Date: Mon, 20 Jun 2011 16:36:58 +0200

Attempted installation of amber10/ambertools1.2 on a new machine with
recent Debian GNU-Linux amd64 wheezy, gcc 4.6.1; gfortran 4.6.1 was
met with failure at ambertools1.2 installation step.

---Applied al bug fixes

--- ./configure_at gcc

 reported no errors, while

make -f Makefile_at

cd mortsrc; make
make[2]: Entering directory `/usr/local/amber10/src/gleap/mortsrc'
cd common;make
make[3]: Entering directory `/usr/local/amber10/src/gleap/mortsrc/common'
g++ -c -O2 -Wall -W -D_REENTRANT -I../../freelib -I../../freelib -o
fortran.o fortran.cpp
fortran.cpp: In function ‘void mort::write_ivalue(std::ostream&, const
string&, const boost::any&)’:
fortran.cpp:19:46: error: ‘sprintf’ was not declared in this scope
fortran.cpp: In function ‘void mort::write_dvalue(std::ostream&, const
string&, const boost::any&)’:
fortran.cpp:36:46: error: ‘sprintf’ was not declared in this scope
fortran.cpp: In function ‘void mort::write_svalue(std::ostream&, const
string&, const boost::any&)’:
fortran.cpp:52:54: error: ‘sprintf’ was not declared in this scope
fortran.cpp: In member function ‘void mort::format::write(std::ostream&) const’:
fortran.cpp:133:31: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
fortran.cpp:138:42: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
fortran.cpp:145:38: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
fortran.cpp:153:39: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
make[3]: *** [fortran.o] Error 1
make[3]: Leaving directory `/usr/local/amber10/src/gleap/mortsrc/common'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/local/amber10/src/gleap/mortsrc'
make[1]: *** [sleap] Error 2
make[1]: Leaving directory `/usr/local/amber10/src/gleap'
make: *** [install] Error 2
**********************

May I ask whether the following suggestion on the web for Ubuntu
installations can be attempted in my case or if there is a better
suggestion that has escaped my attention:

xxxxxxxxxxxxxxxxxxxxxxxxxxx
Attempting to perhaps preempt your next question, I'm also using Ubuntu
9.10 on my desktop and I see the following.

<...snip....>
g++ -c -O2 -Wall -W -D_REENTRANT -I../../freelib -I../../freelib -o
fortran.o fortran.cpp
fortran.cpp: In function ‘void mort::write_ivalue(std::ostream&, const
std::string&, const boost::any&)’:
fortran.cpp:19: error: ‘sprintf’ was not declared in this scope
<....failure....>

If so, add the following include (cstdio) to top of

./src/gleap/mortsrc/common/fortran.cpp


#include <cassert>
#include <iostream>
#include <stdexcept>
#include "fortran.hpp"
#include "algorithm.hpp"



so that it now reads:

#include <cassert>
#include <iostream>
#include <stdexcept>
#include <cstdio>
#include "fortran.hpp"
#include "algorithm.hpp"

I think the verion of g++ (part of the 4.4.1 gnu compiler set) shipped
with Ubuntu 9.10 has become stricter.
xxxxxxxxxxxxxxxxxxxxxxxxxx

Sorry to apply to older code the latest gcc/gfortran which gave also
problems for installation of recent ambertools 1.5 (other thread
today).

Thanks

francesco pietra

_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Mon Jun 20 2011 - 08:00:03 PDT
Custom Search