Hello,
I have tried to follow the installation instructions on faq 1613 (https://answers.launchpad.net/esys-particle/+faq/1613), but I am still having problems installing the stable version downloaded at
https://launchpad.net/esys-particle/2.0/esys-particle.v2.0.stable/+download/ESyS-Particle-2.0.tar.gz.
This was a fresh install of Ubuntu 12.04 on Parallels for Mac, and I started by updating all the packages.
In addition to the liste requested dependencies, I also had to install:
>> sudo apt-get install libcppunit-dev libcppunit-1.12-1
I am attaching the config.log resulting from
>> ./configure CC=mpicc CXX=mpic++
which presents me with the following warnings
cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C [enabled by default]
/usr/include/c++/4.6/backward/backward_warning.h:33:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]
/usr/include/c++/4.6/backward/backward_warning.h:33:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]
conftest.cpp:98:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
conftest.cpp:109:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
conftest.cpp:111:27: warning: ignoring return value of 'double strtod(const char*, char**)', declared with attribute warn_unused_result [-Wunused-result]
while the 'make' command fails with the following error:
parallels@parallels-Parallels-Virtual-Platform:~/ESyS-Particle-2.0$ make
make all-recursive
make[1]: Entering directory `/home/parallels/ESyS-Particle-2.0'
Making all in libltdl
make[2]: Entering directory `/home/parallels/ESyS-Particle-2.0/libltdl'
make all-am
make[3]: Entering directory `/home/parallels/ESyS-Particle-2.0/libltdl'
make[3]: Leaving directory `/home/parallels/ESyS-Particle-2.0/libltdl'
make[2]: Leaving directory `/home/parallels/ESyS-Particle-2.0/libltdl'
Making all in Foundation
make[2]: Entering directory `/home/parallels/ESyS-Particle-2.0/Foundation'
/bin/bash ../libtool --tag=CXX --mode=compile mpic++ -DHAVE_CONFIG_H -I. -I.. "-I.." -pthread -I/usr/include -g -O2 -MT PathSearcher.lo -MD -MP -MF .deps/PathSearcher.Tpo -c -o PathSearcher.lo PathSearcher.cpp
libtool: compile: mpic++ -DHAVE_CONFIG_H -I. -I.. -I.. -pthread -I/usr/include -g -O2 -MT PathSearcher.lo -MD -MP -MF .deps/PathSearcher.Tpo -c PathSearcher.cpp -fPIC -DPIC -o .libs/PathSearcher.o
PathSearcher.cpp: In constructor 'esys::lsm::PathSearcher::PathSearcher(const string&, const string&)':
PathSearcher.cpp:33:72: error: invalid conversion from 'bool (*)(const string&) {aka bool (*)(const std::basic_string<char>&)}' to 'boost::enable_if_c<true, void>::type* {aka void*}' [-fpermissive]
/usr/include/boost/filesystem/v3/path.hpp:130:5: error: initializing argument 2 of 'boost::filesystem3::path::path(const Source&, typename boost::enable_if<boost::filesystem3::path_traits::is_pathable<typename boost::decay<Source>::type> >::type*) [with Source = std::basic_string<char>, typename boost::enable_if<boost::filesystem3::path_traits::is_pathable<typename boost::decay<Source>::type> >::type = void]' [-fpermissive]
make[2]: *** [PathSearcher.lo] Error 1
make[2]: Leaving directory `/home/parallels/ESyS-Particle-2.0/Foundation'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/parallels/ESyS-Particle-2.0'
make: *** [all] Error 2
On the version 2.1 the error on 'make' seems to be the same:
parallels@parallels-Parallels-Virtual-Platform:~/ESyS-Particle-2.1$ make
'make all-recursive
make[1]: Entering directory `/home/parallels/ESyS-Particle-2.1'
Making all in libltdl
make[2]: Entering directory `/home/parallels/ESyS-Particle-2.1/libltdl'
make all-am
make[3]: Entering directory `/home/parallels/ESyS-Particle-2.1/libltdl'
make[3]: Leaving directory `/home/parallels/ESyS-Particle-2.1/libltdl'
make[2]: Leaving directory `/home/parallels/ESyS-Particle-2.1/libltdl'
Making all in Foundation
make[2]: Entering directory `/home/parallels/ESyS-Particle-2.1/Foundation'
/bin/bash ../libtool --tag=CXX --mode=compile mpic++ -DHAVE_CONFIG_H -I. -I.. "-I.." -I/usr/include -g -O2 -MT PathSearcher.lo -MD -MP -MF .deps/PathSearcher.Tpo -c -o PathSearcher.lo PathSearcher.cpp
libtool: compile: mpic++ -DHAVE_CONFIG_H -I. -I.. -I.. -I/usr/include -g -O2 -MT PathSearcher.lo -MD -MP -MF .deps/PathSearcher.Tpo -c PathSearcher.cpp -fPIC -DPIC -o .libs/PathSearcher.o
PathSearcher.cpp: In constructor 'esys::lsm::PathSearcher::PathSearcher(const string&, const string&)':
PathSearcher.cpp:33:72: error: invalid conversion from 'bool (*)(const string&) {aka bool (*)(const std::basic_string<char>&)}' to 'boost::enable_if_c<true, void>::type* {aka void*}' [-fpermissive]
/usr/include/boost/filesystem/v3/path.hpp:130:5: error: initializing argument 2 of 'boost::filesystem3::path::path(const Source&, typename boost::enable_if<boost::filesystem3::path_traits::is_pathable<typename boost::decay<Source>::type> >::type*) [with Source = std::basic_string<char>, typename boost::enable_if<boost::filesystem3::path_traits::is_pathable<typename boost::decay<Source>::type> >::type = void]' [-fpermissive]
make[2]: *** [PathSearcher.lo] Error 1
make[2]: Leaving directory `/home/parallels/ESyS-Particle-2.1/Foundation'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/parallels/ESyS-Particle-2.1'
make: *** [all] Error 2
Could you please advise?
Thanks
The error in the builds of ESyS-Particle versions 2.0 and 2.1 result from the Boost Filesystem third-party library being upgraded from version 2 to version 3 in Boost 1.44, appearing with Boost versions from 1.46 when version 3 of Filesystem became the default. There is additionally an underlying issue with ESyS-Particle libraries, appearing in builds on Ubuntu 11.10 and later, which reverting to Boost 1.45 or earlier versions will not fix.
A new tarball of ESyS-Particle will be available in the next days. For Ubuntu users the latest revision of ESyS-Particle can also be installed from a prebuilt package (https:/ /answers. launchpad. net/esys- particle/ +faq/1792). For other Linux users the source code for the latest revision can also be dowloaded from the Bazaar repository on Launchpad (https:/ /answers. launchpad. net/esys- particle/ +faq/711).
The warnings generated in the ESyS-Particle configuration result from tests performed by a configuration script generated by third-party tools including Autoconf and Automake to configure ESyS-Particle for a build on a particular variant of Unix. The tests include checking the availability on an operating system of required packages and the compatibility of certain command-line options with these packages. Provided that there are no errors or warnings appearing on standard output when running "./configure CC=mpicc CXX=mpic++", the configuration will normally be successful.