Quantcast

RepastHPC compilation issues in Linux

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RepastHPC compilation issues in Linux

Nunez-Corrales, Santiago
Good afternoon,


I am attempting to build RepastHPC in a Linux-based host and I get the following compilation error after following the autoconf-based procedure (2 as indicated in the INSTALL.txt):

make
  CC src/repast_hpc/AgentId.o
  CC src/repast_hpc/AgentImporterExporter.o
  CC src/repast_hpc/AgentRequest.o
  CC src/repast_hpc/AgentStatus.o
  CC src/repast_hpc/CartesianTopology.o
  CC src/repast_hpc/Graph.o
  CC src/repast_hpc/GridComponents.o
  CC src/repast_hpc/GridDimensions.o
  CC src/repast_hpc/initialize_random.o
  CC src/repast_hpc/io.o
  CC src/repast_hpc/logger.o
  CC src/repast_hpc/NCDataSetBuilder.o
  CC src/repast_hpc/NCDataSet.o
  CC src/repast_hpc/NetworkBuilder.o
  CC src/repast_hpc/Properties.o
  CC src/repast_hpc/Random.o
  CC src/repast_hpc/RelativeLocation.o
  CC src/repast_hpc/RepastErrors.o
  CC src/repast_hpc/RepastProcess.o
  CC src/repast_hpc/Schedule.o
  CC src/repast_hpc/SharedBaseGrid.o

In file included from /usr/include/c++/4.7/vector:65:0,
                 from /usr/include/c++/4.7/bits/random.h:34,
                 from /usr/include/c++/4.7/random:50,
                 from /usr/include/c++/4.7/bits/stl_algo.h:67,
                 from /usr/include/c++/4.7/algorithm:63,
                 from src/repast_hpc/SharedBaseGrid.h:47,
                 from src/repast_hpc/SharedBaseGrid.cpp:41:
/usr/include/c++/4.7/bits/stl_vector.h: In instantiation of ‘void std::vector<_Tp, _Alloc>::_M_assign_dispatch(_Integer, _Integer, std::__true_type) [with _Integer = int; _Tp = repast::Neighbor*; _Alloc = std::allocator<repast::Neighbor*>]’:
/usr/include/c++/4.7/bits/stl_vector.h:488:4:   required from ‘void std::vector<_Tp, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = int; _Tp = repast::Neighbor*; _Alloc = std::allocator<repast::Neighbor*>]’
src/repast_hpc/SharedBaseGrid.cpp:57:35:   required from here
/usr/include/c++/4.7/bits/stl_vector.h:1207:11: error: invalid conversion from ‘int’ to ‘std::vector<repast::Neighbor*>::value_type {aka repast::Neighbor*}’ [-fpermissive]
In file included from /usr/include/c++/4.7/vector:70:0,
                 from /usr/include/c++/4.7/bits/random.h:34,
                 from /usr/include/c++/4.7/random:50,
                 from /usr/include/c++/4.7/bits/stl_algo.h:67,
                 from /usr/include/c++/4.7/algorithm:63,
                 from src/repast_hpc/SharedBaseGrid.h:47,
                 from src/repast_hpc/SharedBaseGrid.cpp:41:
/usr/include/c++/4.7/bits/vector.tcc:216:5: error:   initializing argument 2 of ‘void std::vector<_Tp, _Alloc>::_M_fill_assign(std::size_t, const value_type&) [with _Tp = repast::Neighbor*; _Alloc = std::allocator<repast::Neighbor*>; std::size_t = long unsigned int; std::vector<_Tp, _Alloc>::value_type = repast::Neighbor*]’ [-fpermissive]
make: *** [src/repast_hpc/SharedBaseGrid.o] Error 1


My current configuration is as follows.

System:

Linux system 3.2.0-4-amd64 #1 SMP Debian 3.2.81-2 x86_64 GNU/Linux

Toolchain:

Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.2 (Debian 4.7.2-5) 

Configure results:

./configure --prefix=/homec/nunezco2/sfw/repast_hpc-2.2.0 --with-boost-include=/homec/nunezco2/sfw/Boost/Boost_1.61/include --with-boost-lib-dir=/homec/nunezco2/sfw/Boost/Boost_1.61/lib --with-boost-lib-suffix=-mt --with-netcdf-cxx=/homec/nunezco2/sfw/NetCDF-cxx --with-netcdf=/homec/nunezco2/sfw/NetCDF --with-curl-include=/homec/nunezco2/sfw/CURL/include --with-curl-lib-dir=/homec/nunezco2/sfw/CURL/lib
checking for mpicc... mpicc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mpicc accepts -g... yes
checking for mpicc option to accept ISO C89... none needed
checking for mpic++... mpic++
checking whether we are using the GNU C++ compiler... yes
checking whether mpic++ accepts -g... yes
checking for ar... ar
checking for ranlib... ranlib
checking for cp that supports -u... yes
checking for grep that handles long lines and -e... /bin/grep
checking how to run the C preprocessor... mpicc -E
checking for a sed that does not truncate output... /bin/sed
checking for Boost headers version >= 0... yes
checking for Boost's header version... 1_61
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for the toolset name used by Boost for mpic++... configure: WARNING: could not figure out which toolset name to use for mpic++
checking how to run the C++ preprocessor... mpic++ -E
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking boost/archive/text_oarchive.hpp usability... yes
checking boost/archive/text_oarchive.hpp presence... yes
checking for boost/archive/text_oarchive.hpp... yes
checking for the Boost serialization library... yes
checking boost/mpi.hpp usability... yes
checking boost/mpi.hpp presence... yes
checking for boost/mpi.hpp... yes
checking for the Boost mpi library... yes
checking boost/system/error_code.hpp usability... yes
checking boost/system/error_code.hpp presence... yes
checking for boost/system/error_code.hpp... yes
checking for the Boost system library... yes
checking boost/filesystem/path.hpp usability... yes
checking boost/filesystem/path.hpp presence... yes
checking for boost/filesystem/path.hpp... yes
checking for the Boost filesystem library... yes
checking for boost/system/error_code.hpp... (cached) yes
checking for the Boost system library... (cached) yes
checking for curl_version in -lcurl... yes
checking for nc_open in -lnetcdf... yes
checking netcdfcpp.h usability... yes
checking netcdfcpp.h presence... yes
checking for netcdfcpp.h... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for uint32_t... yes
checking for ptrdiff_t... yes
checking for error_at_line... yes
checking for ANSI C header files... (cached) yes
checking for floor... yes
checking for rint... yes
checking for sqrt... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h

Compilation instructions work in a MacOS X system with a similar toolchain. All provided packages were compiled and installed at the default sfw directory without issues. Is there any step I am missing?


--
Santiago Núñez-Corrales
Graduate student, Informatics Ph.D. Program
University of Illinois at Urbana-Champaign
+1 (217) 979-9575




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Repast-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/repast-interest
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RepastHPC compilation issues in Linux

srcnick
It looks like the assign in these lines is the problem (lines 65+ in SharedBaseGrid.cpp)

Neighbors::Neighbors(int numberOfNeighbors){
nghs.assign(numberOfNeighbors, 0);
}

The 0 is not being treated as a null pointer, but as an int and the compiler won't convert it. Can you replace that with nullptr and try the compilation again. If that doesn't work you could explicitly cast it as a Neighbor*. Let us know what works and we can change the code in the repo.

Nick

On Fri, Oct 21, 2016 at 12:47 PM, Nunez-Corrales, Santiago <[hidden email]> wrote:
Good afternoon,


I am attempting to build RepastHPC in a Linux-based host and I get the following compilation error after following the autoconf-based procedure (2 as indicated in the INSTALL.txt):

make
  CC src/repast_hpc/AgentId.o
  CC src/repast_hpc/AgentImporterExporter.o
  CC src/repast_hpc/AgentRequest.o
  CC src/repast_hpc/AgentStatus.o
  CC src/repast_hpc/CartesianTopology.o
  CC src/repast_hpc/Graph.o
  CC src/repast_hpc/GridComponents.o
  CC src/repast_hpc/GridDimensions.o
  CC src/repast_hpc/initialize_random.o
  CC src/repast_hpc/io.o
  CC src/repast_hpc/logger.o
  CC src/repast_hpc/NCDataSetBuilder.o
  CC src/repast_hpc/NCDataSet.o
  CC src/repast_hpc/NetworkBuilder.o
  CC src/repast_hpc/Properties.o
  CC src/repast_hpc/Random.o
  CC src/repast_hpc/RelativeLocation.o
  CC src/repast_hpc/RepastErrors.o
  CC src/repast_hpc/RepastProcess.o
  CC src/repast_hpc/Schedule.o
  CC src/repast_hpc/SharedBaseGrid.o

In file included from /usr/include/c++/4.7/vector:65:0,
                 from /usr/include/c++/4.7/bits/random.h:34,
                 from /usr/include/c++/4.7/random:50,
                 from /usr/include/c++/4.7/bits/stl_algo.h:67,
                 from /usr/include/c++/4.7/algorithm:63,
                 from src/repast_hpc/SharedBaseGrid.h:47,
                 from src/repast_hpc/SharedBaseGrid.cpp:41:
/usr/include/c++/4.7/bits/stl_vector.h: In instantiation of ‘void std::vector<_Tp, _Alloc>::_M_assign_dispatch(_Integer, _Integer, std::__true_type) [with _Integer = int; _Tp = repast::Neighbor*; _Alloc = std::allocator<repast::Neighbor*>]’:
/usr/include/c++/4.7/bits/stl_vector.h:488:4:   required from ‘void std::vector<_Tp, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = int; _Tp = repast::Neighbor*; _Alloc = std::allocator<repast::Neighbor*>]’
src/repast_hpc/SharedBaseGrid.cpp:57:35:   required from here
/usr/include/c++/4.7/bits/stl_vector.h:1207:11: error: invalid conversion from ‘int’ to ‘std::vector<repast::Neighbor*>::value_type {aka repast::Neighbor*}’ [-fpermissive]
In file included from /usr/include/c++/4.7/vector:70:0,
                 from /usr/include/c++/4.7/bits/random.h:34,
                 from /usr/include/c++/4.7/random:50,
                 from /usr/include/c++/4.7/bits/stl_algo.h:67,
                 from /usr/include/c++/4.7/algorithm:63,
                 from src/repast_hpc/SharedBaseGrid.h:47,
                 from src/repast_hpc/SharedBaseGrid.cpp:41:
/usr/include/c++/4.7/bits/vector.tcc:216:5: error:   initializing argument 2 of ‘void std::vector<_Tp, _Alloc>::_M_fill_assign(std::size_t, const value_type&) [with _Tp = repast::Neighbor*; _Alloc = std::allocator<repast::Neighbor*>; std::size_t = long unsigned int; std::vector<_Tp, _Alloc>::value_type = repast::Neighbor*]’ [-fpermissive]
make: *** [src/repast_hpc/SharedBaseGrid.o] Error 1


My current configuration is as follows.

System:

Linux system 3.2.0-4-amd64 #1 SMP Debian 3.2.81-2 x86_64 GNU/Linux

Toolchain:

Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.2 (Debian 4.7.2-5) 

Configure results:

./configure --prefix=/homec/nunezco2/sfw/repast_hpc-2.2.0 --with-boost-include=/homec/nunezco2/sfw/Boost/Boost_1.61/include --with-boost-lib-dir=/homec/nunezco2/sfw/Boost/Boost_1.61/lib --with-boost-lib-suffix=-mt --with-netcdf-cxx=/homec/nunezco2/sfw/NetCDF-cxx --with-netcdf=/homec/nunezco2/sfw/NetCDF --with-curl-include=/homec/nunezco2/sfw/CURL/include --with-curl-lib-dir=/homec/nunezco2/sfw/CURL/lib
checking for mpicc... mpicc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mpicc accepts -g... yes
checking for mpicc option to accept ISO C89... none needed
checking for mpic++... mpic++
checking whether we are using the GNU C++ compiler... yes
checking whether mpic++ accepts -g... yes
checking for ar... ar
checking for ranlib... ranlib
checking for cp that supports -u... yes
checking for grep that handles long lines and -e... /bin/grep
checking how to run the C preprocessor... mpicc -E
checking for a sed that does not truncate output... /bin/sed
checking for Boost headers version >= 0... yes
checking for Boost's header version... 1_61
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for the toolset name used by Boost for mpic++... configure: WARNING: could not figure out which toolset name to use for mpic++
checking how to run the C++ preprocessor... mpic++ -E
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking boost/archive/text_oarchive.hpp usability... yes
checking boost/archive/text_oarchive.hpp presence... yes
checking for boost/archive/text_oarchive.hpp... yes
checking for the Boost serialization library... yes
checking boost/mpi.hpp usability... yes
checking boost/mpi.hpp presence... yes
checking for boost/mpi.hpp... yes
checking for the Boost mpi library... yes
checking boost/system/error_code.hpp usability... yes
checking boost/system/error_code.hpp presence... yes
checking for boost/system/error_code.hpp... yes
checking for the Boost system library... yes
checking boost/filesystem/path.hpp usability... yes
checking boost/filesystem/path.hpp presence... yes
checking for boost/filesystem/path.hpp... yes
checking for the Boost filesystem library... yes
checking for boost/system/error_code.hpp... (cached) yes
checking for the Boost system library... (cached) yes
checking for curl_version in -lcurl... yes
checking for nc_open in -lnetcdf... yes
checking netcdfcpp.h usability... yes
checking netcdfcpp.h presence... yes
checking for netcdfcpp.h... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for uint32_t... yes
checking for ptrdiff_t... yes
checking for error_at_line... yes
checking for ANSI C header files... (cached) yes
checking for floor... yes
checking for rint... yes
checking for sqrt... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h

Compilation instructions work in a MacOS X system with a similar toolchain. All provided packages were compiled and installed at the default sfw directory without issues. Is there any step I am missing?


--
Santiago Núñez-Corrales
Graduate student, Informatics Ph.D. Program
University of Illinois at Urbana-Champaign
<a href="tel:%2B1%20%28217%29%20979-9575" value="+12179799575" target="_blank">+1 (217) 979-9575




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Repast-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/repast-interest



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Repast-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/repast-interest
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RepastHPC compilation issues in Linux

Nunez-Corrales, Santiago
Hi Nick,

Thank you for looking into this. That change worked for compiling the library. However, here is an issue when compiling the Rumors model. It seems that a field in AgentId is not present, but is required for serialization.

Here is the transcript:

mpicxx  -L/homec/nunezco2/sfw/NetCDF/lib -L/homec/nunezco2/sfw/NetCDF/lib -L/homec/nunezco2/sfw/NetCDF-cxx/lib -L/homec/nunezco2/sfw/NetCDF-cxx/lib -L/homec/nunezco2/sfw/CURL/lib -L/homec/nunezco2/sfw/Boost/Boost_1.61/lib -shared -L./lib  src/relogo/AbstractRelogoAgent.o src/relogo/AgentSet.o src/relogo/creators.o src/relogo/Observer.o src/relogo/Patch.o src/relogo/RandomMove.o src/relogo/RelogoAgent.o src/relogo/RelogoContinuousSpaceAdder.o src/relogo/RelogoDiscreteSpaceAdder.o src/relogo/RelogoLink.o src/relogo/Turtle.o src/relogo/utility.o src/relogo/WorldCreator.o src/relogo/WorldDefinition.o -o lib/librelogo-2.2.0.so -lboost_mpi-mt -lboost_serialization-mt -lboost_filesystem-mt -lboost_system-mt -lnetcdf -lnetcdf_c++ -lrepast_hpc-2.2.0  -Wl,-rpath -Wl,/homec/nunezco2/sfw/NetCDF/lib -Wl,-rpath -Wl,/homec/nunezco2/sfw/NetCDF-cxx/lib -Wl,-rpath -Wl,/homec/nunezco2/sfw/Boost/Boost_1.61/lib -Wl,-rpath -Wl,/homec/nunezco2/sfw/repast_hpc-2.2.0/lib
  AR lib/librelogo-2.2.0.a
  CC src/rumor/main.o
  CC src/rumor/RumorModel.o
In file included from ./src/repast_hpc/RepastProcess.h:56:0,
                 from ./src/repast_hpc/Edge.h:46,
                 from ./src/repast_hpc/Graph.h:46,
                 from ./src/repast_hpc/SharedNetwork.h:55,
                 from src/rumor/RumorModel.h:79,
                 from src/rumor/RumorModel.cpp:38:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp: In instantiation of ‘void boost::serialization::load_map_collection(Archive&, Container&) [with Archive = boost::mpi::packed_iarchive; Container = std::map<std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> >]’:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:92:5:   required from ‘void boost::serialization::load(Archive&, std::map<Key, Type, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Type = std::vector<repast::ProjectionInfoPacket*>; Key = std::basic_string<char>; Compare = std::less<std::basic_string<char> >; Allocator = std::allocator<std::pair<const std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> > >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:58:9:   required from ‘static void boost::serialization::free_loader<Archive, T>::invoke(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:74:5:   required from ‘void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:103:5:   required from ‘void boost::serialization::serialize(Archive&, std::map<Key, Type, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Type = std::vector<repast::ProjectionInfoPacket*>; Key = std::basic_string<char>; Compare = std::less<std::basic_string<char> >; Allocator = std::allocator<std::pair<const std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> > >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/serialization.hpp:126:5:   required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/archive/detail/iserializer.hpp:188:5:   [ skipping 28 instantiation contexts ]
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1402:7:   required from ‘void boost::mpi::detail::serialized_irecv_data<T>::deserialize(boost::mpi::status&) [with T = repast::Request_Packet<NodeContent>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1499:5:   required from ‘static boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv(boost::mpi::request*, boost::mpi::request::request_action) [with T = repast::Request_Packet<NodeContent>; boost::mpi::request = boost::mpi::request]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1614:3:   required from ‘boost::mpi::request boost::mpi::communicator::irecv_impl(int, int, T&, mpl_::false_) const [with T = repast::Request_Packet<NodeContent>; mpl_::false_ = mpl_::bool_<false>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1628:67:   required from ‘boost::mpi::request boost::mpi::communicator::irecv(int, int, T&) const [with T = repast::Request_Packet<NodeContent>]’
./src/repast_hpc/RepastProcess.h:828:3:   required from ‘void repast::RepastProcess::synchronizeProjectionInfo(repast::SharedContext<T>&, Provider&, Updater&, AgentCreator&, repast::RepastProcess::EXCHANGE_PATTERN, bool) [with T = Node; Content = NodeContent; Provider = RumorModel; Updater = RumorModel; AgentCreator = NodeAdder]’
src/rumor/RumorModel.cpp:133:32:   required from here
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:65:51: error: ‘class std::map<std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> >’ has no member named ‘emplace_hint’
In file included from ./src/repast_hpc/Projection.h:52:0,
                 from ./src/repast_hpc/Context.h:57,
                 from ./src/repast_hpc/SharedContext.h:44,
                 from src/rumor/RumorModel.h:77,
                 from src/rumor/RumorModel.cpp:38:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/set.hpp: In instantiation of ‘void boost::serialization::load_set_collection(Archive&, Container&) [with Archive = boost::mpi::packed_iarchive; Container = std::set<repast::AgentId>]’:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/set.hpp:85:5:   required from ‘void boost::serialization::load(Archive&, std::set<Key, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Key = repast::AgentId; Compare = std::less<repast::AgentId>; Allocator = std::allocator<repast::AgentId>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:58:9:   required from ‘static void boost::serialization::free_loader<Archive, T>::invoke(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::set<repast::AgentId>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:74:5:   required from ‘void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::set<repast::AgentId>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/set.hpp:96:5:   required from ‘void boost::serialization::serialize(Archive&, std::set<Key, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Key = repast::AgentId; Compare = std::less<repast::AgentId>; Allocator = std::allocator<repast::AgentId>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/serialization.hpp:126:5:   required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::set<repast::AgentId>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/archive/detail/iserializer.hpp:188:5:   [ skipping 28 instantiation contexts ]
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1402:7:   required from ‘void boost::mpi::detail::serialized_irecv_data<T>::deserialize(boost::mpi::status&) [with T = repast::SyncStatus_Packet<NodeContent>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1499:5:   required from ‘static boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv(boost::mpi::request*, boost::mpi::request::request_action) [with T = repast::SyncStatus_Packet<NodeContent>; boost::mpi::request = boost::mpi::request]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1614:3:   required from ‘boost::mpi::request boost::mpi::communicator::irecv_impl(int, int, T&, mpl_::false_) const [with T = repast::SyncStatus_Packet<NodeContent>; mpl_::false_ = mpl_::bool_<false>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1628:67:   required from ‘boost::mpi::request boost::mpi::communicator::irecv(int, int, T&) const [with T = repast::SyncStatus_Packet<NodeContent>]’
./src/repast_hpc/RepastProcess.h:1038:3:   required from ‘void repast::RepastProcess::synchronizeAgentStatus(repast::SharedContext<T>&, Provider&, Updater&, AgentCreator&, repast::RepastProcess::EXCHANGE_PATTERN) [with T = Node; Content = NodeContent; Provider = RumorModel; AgentCreator = NodeAdder; Updater = RumorModel]’
src/rumor/RumorModel.cpp:408:138:   required from here
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/set.hpp:61:51: error: ‘class std::set<repast::AgentId>’ has no member named ‘emplace_hint’
In file included from ./src/repast_hpc/RepastProcess.h:56:0,
                 from ./src/repast_hpc/Edge.h:46,
                 from ./src/repast_hpc/Graph.h:46,
                 from ./src/repast_hpc/SharedNetwork.h:55,
                 from src/rumor/RumorModel.h:79,
                 from src/rumor/RumorModel.cpp:38:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp: In instantiation of ‘void boost::serialization::load_map_collection(Archive&, Container&) [with Archive = boost::mpi::packed_iarchive; Container = std::map<std::basic_string<char>, std::map<int, repast::AgentRequest*>*>]’:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:92:5:   required from ‘void boost::serialization::load(Archive&, std::map<Key, Type, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Type = std::map<int, repast::AgentRequest*>*; Key = std::basic_string<char>; Compare = std::less<std::basic_string<char> >; Allocator = std::allocator<std::pair<const std::basic_string<char>, std::map<int, repast::AgentRequest*>*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:58:9:   required from ‘static void boost::serialization::free_loader<Archive, T>::invoke(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<std::basic_string<char>, std::map<int, repast::AgentRequest*>*>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:74:5:   required from ‘void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<std::basic_string<char>, std::map<int, repast::AgentRequest*>*>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:103:5:   required from ‘void boost::serialization::serialize(Archive&, std::map<Key, Type, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Type = std::map<int, repast::AgentRequest*>*; Key = std::basic_string<char>; Compare = std::less<std::basic_string<char> >; Allocator = std::allocator<std::pair<const std::basic_string<char>, std::map<int, repast::AgentRequest*>*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/serialization.hpp:126:5:   required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<std::basic_string<char>, std::map<int, repast::AgentRequest*>*>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/archive/detail/iserializer.hpp:188:5:   [ skipping 28 instantiation contexts ]
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1402:7:   required from ‘void boost::mpi::detail::serialized_irecv_data<T>::deserialize(boost::mpi::status&) [with T = repast::SyncStatus_Packet<NodeContent>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1499:5:   required from ‘static boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv(boost::mpi::request*, boost::mpi::request::request_action) [with T = repast::SyncStatus_Packet<NodeContent>; boost::mpi::request = boost::mpi::request]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1614:3:   required from ‘boost::mpi::request boost::mpi::communicator::irecv_impl(int, int, T&, mpl_::false_) const [with T = repast::SyncStatus_Packet<NodeContent>; mpl_::false_ = mpl_::bool_<false>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1628:67:   required from ‘boost::mpi::request boost::mpi::communicator::irecv(int, int, T&) const [with T = repast::SyncStatus_Packet<NodeContent>]’
./src/repast_hpc/RepastProcess.h:1038:3:   required from ‘void repast::RepastProcess::synchronizeAgentStatus(repast::SharedContext<T>&, Provider&, Updater&, AgentCreator&, repast::RepastProcess::EXCHANGE_PATTERN) [with T = Node; Content = NodeContent; Provider = RumorModel; AgentCreator = NodeAdder; Updater = RumorModel]’
src/rumor/RumorModel.cpp:408:138:   required from here
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:65:51: error: ‘class std::map<std::basic_string<char>, std::map<int, repast::AgentRequest*>*>’ has no member named ‘emplace_hint’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp: In instantiation of ‘void boost::serialization::load_map_collection(Archive&, Container&) [with Archive = boost::mpi::packed_iarchive; Container = std::map<int, repast::AgentRequest*>]’:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:92:5:   required from ‘void boost::serialization::load(Archive&, std::map<Key, Type, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Type = repast::AgentRequest*; Key = int; Compare = std::less<int>; Allocator = std::allocator<std::pair<const int, repast::AgentRequest*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:58:9:   required from ‘static void boost::serialization::free_loader<Archive, T>::invoke(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<int, repast::AgentRequest*>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:74:5:   required from ‘void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<int, repast::AgentRequest*>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:103:5:   required from ‘void boost::serialization::serialize(Archive&, std::map<Key, Type, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Type = repast::AgentRequest*; Key = int; Compare = std::less<int>; Allocator = std::allocator<std::pair<const int, repast::AgentRequest*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/serialization.hpp:126:5:   required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<int, repast::AgentRequest*>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/archive/detail/iserializer.hpp:188:5:   [ skipping 90 instantiation contexts ]
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1402:7:   required from ‘void boost::mpi::detail::serialized_irecv_data<T>::deserialize(boost::mpi::status&) [with T = repast::SyncStatus_Packet<NodeContent>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1499:5:   required from ‘static boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv(boost::mpi::request*, boost::mpi::request::request_action) [with T = repast::SyncStatus_Packet<NodeContent>; boost::mpi::request = boost::mpi::request]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1614:3:   required from ‘boost::mpi::request boost::mpi::communicator::irecv_impl(int, int, T&, mpl_::false_) const [with T = repast::SyncStatus_Packet<NodeContent>; mpl_::false_ = mpl_::bool_<false>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1628:67:   required from ‘boost::mpi::request boost::mpi::communicator::irecv(int, int, T&) const [with T = repast::SyncStatus_Packet<NodeContent>]’
./src/repast_hpc/RepastProcess.h:1038:3:   required from ‘void repast::RepastProcess::synchronizeAgentStatus(repast::SharedContext<T>&, Provider&, Updater&, AgentCreator&, repast::RepastProcess::EXCHANGE_PATTERN) [with T = Node; Content = NodeContent; Provider = RumorModel; AgentCreator = NodeAdder; Updater = RumorModel]’
src/rumor/RumorModel.cpp:408:138:   required from here
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:65:51: error: ‘class std::map<int, repast::AgentRequest*>’ has no member named ‘emplace_hint’
make: *** [src/rumor/RumorModel.o] Error 1



Thanks again for your help.

--
Santiago Núñez-Corrales
Graduate student, Informatics Ph.D. Program
University of Illinois at Urbana-Champaign
+1 (217) 979-9575



On Oct 22, 2016, at 8:41 AM, Nick Collier <[hidden email]> wrote:

It looks like the assign in these lines is the problem (lines 65+ in SharedBaseGrid.cpp)

Neighbors::Neighbors(int numberOfNeighbors){
nghs.assign(numberOfNeighbors, 0);
}

The 0 is not being treated as a null pointer, but as an int and the compiler won't convert it. Can you replace that with nullptr and try the compilation again. If that doesn't work you could explicitly cast it as a Neighbor*. Let us know what works and we can change the code in the repo.

Nick

On Fri, Oct 21, 2016 at 12:47 PM, Nunez-Corrales, Santiago <[hidden email]> wrote:
Good afternoon,


I am attempting to build RepastHPC in a Linux-based host and I get the following compilation error after following the autoconf-based procedure (2 as indicated in the INSTALL.txt):

make
  CC src/repast_hpc/AgentId.o
  CC src/repast_hpc/AgentImporterExporter.o
  CC src/repast_hpc/AgentRequest.o
  CC src/repast_hpc/AgentStatus.o
  CC src/repast_hpc/CartesianTopology.o
  CC src/repast_hpc/Graph.o
  CC src/repast_hpc/GridComponents.o
  CC src/repast_hpc/GridDimensions.o
  CC src/repast_hpc/initialize_random.o
  CC src/repast_hpc/io.o
  CC src/repast_hpc/logger.o
  CC src/repast_hpc/NCDataSetBuilder.o
  CC src/repast_hpc/NCDataSet.o
  CC src/repast_hpc/NetworkBuilder.o
  CC src/repast_hpc/Properties.o
  CC src/repast_hpc/Random.o
  CC src/repast_hpc/RelativeLocation.o
  CC src/repast_hpc/RepastErrors.o
  CC src/repast_hpc/RepastProcess.o
  CC src/repast_hpc/Schedule.o
  CC src/repast_hpc/SharedBaseGrid.o

In file included from /usr/include/c++/4.7/vector:65:0,
                 from /usr/include/c++/4.7/bits/random.h:34,
                 from /usr/include/c++/4.7/random:50,
                 from /usr/include/c++/4.7/bits/stl_algo.h:67,
                 from /usr/include/c++/4.7/algorithm:63,
                 from src/repast_hpc/SharedBaseGrid.h:47,
                 from src/repast_hpc/SharedBaseGrid.cpp:41:
/usr/include/c++/4.7/bits/stl_vector.h: In instantiation of ‘void std::vector<_Tp, _Alloc>::_M_assign_dispatch(_Integer, _Integer, std::__true_type) [with _Integer = int; _Tp = repast::Neighbor*; _Alloc = std::allocator<repast::Neighbor*>]’:
/usr/include/c++/4.7/bits/stl_vector.h:488:4:   required from ‘void std::vector<_Tp, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = int; _Tp = repast::Neighbor*; _Alloc = std::allocator<repast::Neighbor*>]’
src/repast_hpc/SharedBaseGrid.cpp:57:35:   required from here
/usr/include/c++/4.7/bits/stl_vector.h:1207:11: error: invalid conversion from ‘int’ to ‘std::vector<repast::Neighbor*>::value_type {aka repast::Neighbor*}’ [-fpermissive]
In file included from /usr/include/c++/4.7/vector:70:0,
                 from /usr/include/c++/4.7/bits/random.h:34,
                 from /usr/include/c++/4.7/random:50,
                 from /usr/include/c++/4.7/bits/stl_algo.h:67,
                 from /usr/include/c++/4.7/algorithm:63,
                 from src/repast_hpc/SharedBaseGrid.h:47,
                 from src/repast_hpc/SharedBaseGrid.cpp:41:
/usr/include/c++/4.7/bits/vector.tcc:216:5: error:   initializing argument 2 of ‘void std::vector<_Tp, _Alloc>::_M_fill_assign(std::size_t, const value_type&) [with _Tp = repast::Neighbor*; _Alloc = std::allocator<repast::Neighbor*>; std::size_t = long unsigned int; std::vector<_Tp, _Alloc>::value_type = repast::Neighbor*]’ [-fpermissive]
make: *** [src/repast_hpc/SharedBaseGrid.o] Error 1


My current configuration is as follows.

System:

Linux system 3.2.0-4-amd64 #1 SMP Debian 3.2.81-2 x86_64 GNU/Linux

Toolchain:

Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.2 (Debian 4.7.2-5) 

Configure results:

./configure --prefix=/homec/nunezco2/sfw/repast_hpc-2.2.0 --with-boost-include=/homec/nunezco2/sfw/Boost/Boost_1.61/include --with-boost-lib-dir=/homec/nunezco2/sfw/Boost/Boost_1.61/lib --with-boost-lib-suffix=-mt --with-netcdf-cxx=/homec/nunezco2/sfw/NetCDF-cxx --with-netcdf=/homec/nunezco2/sfw/NetCDF --with-curl-include=/homec/nunezco2/sfw/CURL/include --with-curl-lib-dir=/homec/nunezco2/sfw/CURL/lib
checking for mpicc... mpicc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mpicc accepts -g... yes
checking for mpicc option to accept ISO C89... none needed
checking for mpic++... mpic++
checking whether we are using the GNU C++ compiler... yes
checking whether mpic++ accepts -g... yes
checking for ar... ar
checking for ranlib... ranlib
checking for cp that supports -u... yes
checking for grep that handles long lines and -e... /bin/grep
checking how to run the C preprocessor... mpicc -E
checking for a sed that does not truncate output... /bin/sed
checking for Boost headers version >= 0... yes
checking for Boost's header version... 1_61
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for the toolset name used by Boost for mpic++... configure: WARNING: could not figure out which toolset name to use for mpic++
checking how to run the C++ preprocessor... mpic++ -E
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking boost/archive/text_oarchive.hpp usability... yes
checking boost/archive/text_oarchive.hpp presence... yes
checking for boost/archive/text_oarchive.hpp... yes
checking for the Boost serialization library... yes
checking boost/mpi.hpp usability... yes
checking boost/mpi.hpp presence... yes
checking for boost/mpi.hpp... yes
checking for the Boost mpi library... yes
checking boost/system/error_code.hpp usability... yes
checking boost/system/error_code.hpp presence... yes
checking for boost/system/error_code.hpp... yes
checking for the Boost system library... yes
checking boost/filesystem/path.hpp usability... yes
checking boost/filesystem/path.hpp presence... yes
checking for boost/filesystem/path.hpp... yes
checking for the Boost filesystem library... yes
checking for boost/system/error_code.hpp... (cached) yes
checking for the Boost system library... (cached) yes
checking for curl_version in -lcurl... yes
checking for nc_open in -lnetcdf... yes
checking netcdfcpp.h usability... yes
checking netcdfcpp.h presence... yes
checking for netcdfcpp.h... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for uint32_t... yes
checking for ptrdiff_t... yes
checking for error_at_line... yes
checking for ANSI C header files... (cached) yes
checking for floor... yes
checking for rint... yes
checking for sqrt... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h

Compilation instructions work in a MacOS X system with a similar toolchain. All provided packages were compiled and installed at the default sfw directory without issues. Is there any step I am missing?


--
Santiago Núñez-Corrales
Graduate student, Informatics Ph.D. Program
University of Illinois at Urbana-Champaign
<a href="tel:%2B1%20%28217%29%20979-9575" value="&#43;12179799575" target="_blank" class="">+1 (217) 979-9575




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Repast-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/repast-interest




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Repast-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/repast-interest
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RepastHPC compilation issues in Linux

srcnick
It looks like your compiler (gcc 4.7?) doesn’t support the C++11 feature emplace and emplace hint used by boost 1.61. I’m surprised though that boost doesn’t recognized this and work around it. That said, it looks like emplace support didn’t arrive until gcc 4.7.3. Is it possible for you to use a more recent compiler? 

Just to make sure though, that there’s nothing wrong with the rumor model make target can you run make with 

make V=3 install

to get some additional output.

thanks,

Nick

On Oct 23, 2016, at 6:31 PM, Nunez-Corrales, Santiago <[hidden email]> wrote:

Hi Nick,

Thank you for looking into this. That change worked for compiling the library. However, here is an issue when compiling the Rumors model. It seems that a field in AgentId is not present, but is required for serialization.

Here is the transcript:

mpicxx  -L/homec/nunezco2/sfw/NetCDF/lib -L/homec/nunezco2/sfw/NetCDF/lib -L/homec/nunezco2/sfw/NetCDF-cxx/lib -L/homec/nunezco2/sfw/NetCDF-cxx/lib -L/homec/nunezco2/sfw/CURL/lib -L/homec/nunezco2/sfw/Boost/Boost_1.61/lib -shared -L./lib  src/relogo/AbstractRelogoAgent.o src/relogo/AgentSet.o src/relogo/creators.o src/relogo/Observer.o src/relogo/Patch.o src/relogo/RandomMove.o src/relogo/RelogoAgent.o src/relogo/RelogoContinuousSpaceAdder.o src/relogo/RelogoDiscreteSpaceAdder.o src/relogo/RelogoLink.o src/relogo/Turtle.o src/relogo/utility.o src/relogo/WorldCreator.o src/relogo/WorldDefinition.o -o lib/librelogo-2.2.0.so -lboost_mpi-mt -lboost_serialization-mt -lboost_filesystem-mt -lboost_system-mt -lnetcdf -lnetcdf_c++ -lrepast_hpc-2.2.0  -Wl,-rpath -Wl,/homec/nunezco2/sfw/NetCDF/lib -Wl,-rpath -Wl,/homec/nunezco2/sfw/NetCDF-cxx/lib -Wl,-rpath -Wl,/homec/nunezco2/sfw/Boost/Boost_1.61/lib -Wl,-rpath -Wl,/homec/nunezco2/sfw/repast_hpc-2.2.0/lib
  AR lib/librelogo-2.2.0.a
  CC src/rumor/main.o
  CC src/rumor/RumorModel.o
In file included from ./src/repast_hpc/RepastProcess.h:56:0,
                 from ./src/repast_hpc/Edge.h:46,
                 from ./src/repast_hpc/Graph.h:46,
                 from ./src/repast_hpc/SharedNetwork.h:55,
                 from src/rumor/RumorModel.h:79,
                 from src/rumor/RumorModel.cpp:38:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp: In instantiation of ‘void boost::serialization::load_map_collection(Archive&, Container&) [with Archive = boost::mpi::packed_iarchive; Container = std::map<std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> >]’:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:92:5:   required from ‘void boost::serialization::load(Archive&, std::map<Key, Type, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Type = std::vector<repast::ProjectionInfoPacket*>; Key = std::basic_string<char>; Compare = std::less<std::basic_string<char> >; Allocator = std::allocator<std::pair<const std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> > >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:58:9:   required from ‘static void boost::serialization::free_loader<Archive, T>::invoke(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:74:5:   required from ‘void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:103:5:   required from ‘void boost::serialization::serialize(Archive&, std::map<Key, Type, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Type = std::vector<repast::ProjectionInfoPacket*>; Key = std::basic_string<char>; Compare = std::less<std::basic_string<char> >; Allocator = std::allocator<std::pair<const std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> > >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/serialization.hpp:126:5:   required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/archive/detail/iserializer.hpp:188:5:   [ skipping 28 instantiation contexts ]
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1402:7:   required from ‘void boost::mpi::detail::serialized_irecv_data<T>::deserialize(boost::mpi::status&) [with T = repast::Request_Packet<NodeContent>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1499:5:   required from ‘static boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv(boost::mpi::request*, boost::mpi::request::request_action) [with T = repast::Request_Packet<NodeContent>; boost::mpi::request = boost::mpi::request]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1614:3:   required from ‘boost::mpi::request boost::mpi::communicator::irecv_impl(int, int, T&, mpl_::false_) const [with T = repast::Request_Packet<NodeContent>; mpl_::false_ = mpl_::bool_<false>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1628:67:   required from ‘boost::mpi::request boost::mpi::communicator::irecv(int, int, T&) const [with T = repast::Request_Packet<NodeContent>]’
./src/repast_hpc/RepastProcess.h:828:3:   required from ‘void repast::RepastProcess::synchronizeProjectionInfo(repast::SharedContext<T>&, Provider&, Updater&, AgentCreator&, repast::RepastProcess::EXCHANGE_PATTERN, bool) [with T = Node; Content = NodeContent; Provider = RumorModel; Updater = RumorModel; AgentCreator = NodeAdder]’
src/rumor/RumorModel.cpp:133:32:   required from here
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:65:51: error: ‘class std::map<std::basic_string<char>, std::vector<repast::ProjectionInfoPacket*> >’ has no member named ‘emplace_hint’
In file included from ./src/repast_hpc/Projection.h:52:0,
                 from ./src/repast_hpc/Context.h:57,
                 from ./src/repast_hpc/SharedContext.h:44,
                 from src/rumor/RumorModel.h:77,
                 from src/rumor/RumorModel.cpp:38:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/set.hpp: In instantiation of ‘void boost::serialization::load_set_collection(Archive&, Container&) [with Archive = boost::mpi::packed_iarchive; Container = std::set<repast::AgentId>]’:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/set.hpp:85:5:   required from ‘void boost::serialization::load(Archive&, std::set<Key, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Key = repast::AgentId; Compare = std::less<repast::AgentId>; Allocator = std::allocator<repast::AgentId>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:58:9:   required from ‘static void boost::serialization::free_loader<Archive, T>::invoke(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::set<repast::AgentId>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:74:5:   required from ‘void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::set<repast::AgentId>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/set.hpp:96:5:   required from ‘void boost::serialization::serialize(Archive&, std::set<Key, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Key = repast::AgentId; Compare = std::less<repast::AgentId>; Allocator = std::allocator<repast::AgentId>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/serialization.hpp:126:5:   required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::set<repast::AgentId>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/archive/detail/iserializer.hpp:188:5:   [ skipping 28 instantiation contexts ]
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1402:7:   required from ‘void boost::mpi::detail::serialized_irecv_data<T>::deserialize(boost::mpi::status&) [with T = repast::SyncStatus_Packet<NodeContent>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1499:5:   required from ‘static boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv(boost::mpi::request*, boost::mpi::request::request_action) [with T = repast::SyncStatus_Packet<NodeContent>; boost::mpi::request = boost::mpi::request]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1614:3:   required from ‘boost::mpi::request boost::mpi::communicator::irecv_impl(int, int, T&, mpl_::false_) const [with T = repast::SyncStatus_Packet<NodeContent>; mpl_::false_ = mpl_::bool_<false>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1628:67:   required from ‘boost::mpi::request boost::mpi::communicator::irecv(int, int, T&) const [with T = repast::SyncStatus_Packet<NodeContent>]’
./src/repast_hpc/RepastProcess.h:1038:3:   required from ‘void repast::RepastProcess::synchronizeAgentStatus(repast::SharedContext<T>&, Provider&, Updater&, AgentCreator&, repast::RepastProcess::EXCHANGE_PATTERN) [with T = Node; Content = NodeContent; Provider = RumorModel; AgentCreator = NodeAdder; Updater = RumorModel]’
src/rumor/RumorModel.cpp:408:138:   required from here
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/set.hpp:61:51: error: ‘class std::set<repast::AgentId>’ has no member named ‘emplace_hint’
In file included from ./src/repast_hpc/RepastProcess.h:56:0,
                 from ./src/repast_hpc/Edge.h:46,
                 from ./src/repast_hpc/Graph.h:46,
                 from ./src/repast_hpc/SharedNetwork.h:55,
                 from src/rumor/RumorModel.h:79,
                 from src/rumor/RumorModel.cpp:38:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp: In instantiation of ‘void boost::serialization::load_map_collection(Archive&, Container&) [with Archive = boost::mpi::packed_iarchive; Container = std::map<std::basic_string<char>, std::map<int, repast::AgentRequest*>*>]’:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:92:5:   required from ‘void boost::serialization::load(Archive&, std::map<Key, Type, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Type = std::map<int, repast::AgentRequest*>*; Key = std::basic_string<char>; Compare = std::less<std::basic_string<char> >; Allocator = std::allocator<std::pair<const std::basic_string<char>, std::map<int, repast::AgentRequest*>*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:58:9:   required from ‘static void boost::serialization::free_loader<Archive, T>::invoke(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<std::basic_string<char>, std::map<int, repast::AgentRequest*>*>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:74:5:   required from ‘void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<std::basic_string<char>, std::map<int, repast::AgentRequest*>*>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:103:5:   required from ‘void boost::serialization::serialize(Archive&, std::map<Key, Type, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Type = std::map<int, repast::AgentRequest*>*; Key = std::basic_string<char>; Compare = std::less<std::basic_string<char> >; Allocator = std::allocator<std::pair<const std::basic_string<char>, std::map<int, repast::AgentRequest*>*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/serialization.hpp:126:5:   required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<std::basic_string<char>, std::map<int, repast::AgentRequest*>*>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/archive/detail/iserializer.hpp:188:5:   [ skipping 28 instantiation contexts ]
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1402:7:   required from ‘void boost::mpi::detail::serialized_irecv_data<T>::deserialize(boost::mpi::status&) [with T = repast::SyncStatus_Packet<NodeContent>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1499:5:   required from ‘static boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv(boost::mpi::request*, boost::mpi::request::request_action) [with T = repast::SyncStatus_Packet<NodeContent>; boost::mpi::request = boost::mpi::request]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1614:3:   required from ‘boost::mpi::request boost::mpi::communicator::irecv_impl(int, int, T&, mpl_::false_) const [with T = repast::SyncStatus_Packet<NodeContent>; mpl_::false_ = mpl_::bool_<false>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1628:67:   required from ‘boost::mpi::request boost::mpi::communicator::irecv(int, int, T&) const [with T = repast::SyncStatus_Packet<NodeContent>]’
./src/repast_hpc/RepastProcess.h:1038:3:   required from ‘void repast::RepastProcess::synchronizeAgentStatus(repast::SharedContext<T>&, Provider&, Updater&, AgentCreator&, repast::RepastProcess::EXCHANGE_PATTERN) [with T = Node; Content = NodeContent; Provider = RumorModel; AgentCreator = NodeAdder; Updater = RumorModel]’
src/rumor/RumorModel.cpp:408:138:   required from here
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:65:51: error: ‘class std::map<std::basic_string<char>, std::map<int, repast::AgentRequest*>*>’ has no member named ‘emplace_hint’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp: In instantiation of ‘void boost::serialization::load_map_collection(Archive&, Container&) [with Archive = boost::mpi::packed_iarchive; Container = std::map<int, repast::AgentRequest*>]’:
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:92:5:   required from ‘void boost::serialization::load(Archive&, std::map<Key, Type, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Type = repast::AgentRequest*; Key = int; Compare = std::less<int>; Allocator = std::allocator<std::pair<const int, repast::AgentRequest*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:58:9:   required from ‘static void boost::serialization::free_loader<Archive, T>::invoke(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<int, repast::AgentRequest*>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/split_free.hpp:74:5:   required from ‘void boost::serialization::split_free(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<int, repast::AgentRequest*>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:103:5:   required from ‘void boost::serialization::serialize(Archive&, std::map<Key, Type, Compare, Allocator>&, unsigned int) [with Archive = boost::mpi::packed_iarchive; Type = repast::AgentRequest*; Key = int; Compare = std::less<int>; Allocator = std::allocator<std::pair<const int, repast::AgentRequest*> >]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/serialization.hpp:126:5:   required from ‘void boost::serialization::serialize_adl(Archive&, T&, unsigned int) [with Archive = boost::mpi::packed_iarchive; T = std::map<int, repast::AgentRequest*>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/archive/detail/iserializer.hpp:188:5:   [ skipping 90 instantiation contexts ]
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1402:7:   required from ‘void boost::mpi::detail::serialized_irecv_data<T>::deserialize(boost::mpi::status&) [with T = repast::SyncStatus_Packet<NodeContent>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1499:5:   required from ‘static boost::optional<boost::mpi::status> boost::mpi::request::handle_serialized_irecv(boost::mpi::request*, boost::mpi::request::request_action) [with T = repast::SyncStatus_Packet<NodeContent>; boost::mpi::request = boost::mpi::request]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1614:3:   required from ‘boost::mpi::request boost::mpi::communicator::irecv_impl(int, int, T&, mpl_::false_) const [with T = repast::SyncStatus_Packet<NodeContent>; mpl_::false_ = mpl_::bool_<false>]’
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/mpi/communicator.hpp:1628:67:   required from ‘boost::mpi::request boost::mpi::communicator::irecv(int, int, T&) const [with T = repast::SyncStatus_Packet<NodeContent>]’
./src/repast_hpc/RepastProcess.h:1038:3:   required from ‘void repast::RepastProcess::synchronizeAgentStatus(repast::SharedContext<T>&, Provider&, Updater&, AgentCreator&, repast::RepastProcess::EXCHANGE_PATTERN) [with T = Node; Content = NodeContent; Provider = RumorModel; AgentCreator = NodeAdder; Updater = RumorModel]’
src/rumor/RumorModel.cpp:408:138:   required from here
/homec/nunezco2/sfw/Boost/Boost_1.61/include/boost/serialization/map.hpp:65:51: error: ‘class std::map<int, repast::AgentRequest*>’ has no member named ‘emplace_hint’
make: *** [src/rumor/RumorModel.o] Error 1



Thanks again for your help.

--
Santiago Núñez-Corrales
Graduate student, Informatics Ph.D. Program
University of Illinois at Urbana-Champaign
+1 (217) 979-9575



On Oct 22, 2016, at 8:41 AM, Nick Collier <[hidden email]> wrote:

It looks like the assign in these lines is the problem (lines 65+ in SharedBaseGrid.cpp)

Neighbors::Neighbors(int numberOfNeighbors){
nghs.assign(numberOfNeighbors, 0);
}

The 0 is not being treated as a null pointer, but as an int and the compiler won't convert it. Can you replace that with nullptr and try the compilation again. If that doesn't work you could explicitly cast it as a Neighbor*. Let us know what works and we can change the code in the repo.

Nick

On Fri, Oct 21, 2016 at 12:47 PM, Nunez-Corrales, Santiago <[hidden email]> wrote:
Good afternoon,


I am attempting to build RepastHPC in a Linux-based host and I get the following compilation error after following the autoconf-based procedure (2 as indicated in the INSTALL.txt):

make
  CC src/repast_hpc/AgentId.o
  CC src/repast_hpc/AgentImporterExporter.o
  CC src/repast_hpc/AgentRequest.o
  CC src/repast_hpc/AgentStatus.o
  CC src/repast_hpc/CartesianTopology.o
  CC src/repast_hpc/Graph.o
  CC src/repast_hpc/GridComponents.o
  CC src/repast_hpc/GridDimensions.o
  CC src/repast_hpc/initialize_random.o
  CC src/repast_hpc/io.o
  CC src/repast_hpc/logger.o
  CC src/repast_hpc/NCDataSetBuilder.o
  CC src/repast_hpc/NCDataSet.o
  CC src/repast_hpc/NetworkBuilder.o
  CC src/repast_hpc/Properties.o
  CC src/repast_hpc/Random.o
  CC src/repast_hpc/RelativeLocation.o
  CC src/repast_hpc/RepastErrors.o
  CC src/repast_hpc/RepastProcess.o
  CC src/repast_hpc/Schedule.o
  CC src/repast_hpc/SharedBaseGrid.o

In file included from /usr/include/c++/4.7/vector:65:0,
                 from /usr/include/c++/4.7/bits/random.h:34,
                 from /usr/include/c++/4.7/random:50,
                 from /usr/include/c++/4.7/bits/stl_algo.h:67,
                 from /usr/include/c++/4.7/algorithm:63,
                 from src/repast_hpc/SharedBaseGrid.h:47,
                 from src/repast_hpc/SharedBaseGrid.cpp:41:
/usr/include/c++/4.7/bits/stl_vector.h: In instantiation of ‘void std::vector<_Tp, _Alloc>::_M_assign_dispatch(_Integer, _Integer, std::__true_type) [with _Integer = int; _Tp = repast::Neighbor*; _Alloc = std::allocator<repast::Neighbor*>]’:
/usr/include/c++/4.7/bits/stl_vector.h:488:4:   required from ‘void std::vector<_Tp, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = int; _Tp = repast::Neighbor*; _Alloc = std::allocator<repast::Neighbor*>]’
src/repast_hpc/SharedBaseGrid.cpp:57:35:   required from here
/usr/include/c++/4.7/bits/stl_vector.h:1207:11: error: invalid conversion from ‘int’ to ‘std::vector<repast::Neighbor*>::value_type {aka repast::Neighbor*}’ [-fpermissive]
In file included from /usr/include/c++/4.7/vector:70:0,
                 from /usr/include/c++/4.7/bits/random.h:34,
                 from /usr/include/c++/4.7/random:50,
                 from /usr/include/c++/4.7/bits/stl_algo.h:67,
                 from /usr/include/c++/4.7/algorithm:63,
                 from src/repast_hpc/SharedBaseGrid.h:47,
                 from src/repast_hpc/SharedBaseGrid.cpp:41:
/usr/include/c++/4.7/bits/vector.tcc:216:5: error:   initializing argument 2 of ‘void std::vector<_Tp, _Alloc>::_M_fill_assign(std::size_t, const value_type&) [with _Tp = repast::Neighbor*; _Alloc = std::allocator<repast::Neighbor*>; std::size_t = long unsigned int; std::vector<_Tp, _Alloc>::value_type = repast::Neighbor*]’ [-fpermissive]
make: *** [src/repast_hpc/SharedBaseGrid.o] Error 1


My current configuration is as follows.

System:

Linux system 3.2.0-4-amd64 #1 SMP Debian 3.2.81-2 x86_64 GNU/Linux

Toolchain:

Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.7.2-5' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.7.2 (Debian 4.7.2-5) 

Configure results:

./configure --prefix=/homec/nunezco2/sfw/repast_hpc-2.2.0 --with-boost-include=/homec/nunezco2/sfw/Boost/Boost_1.61/include --with-boost-lib-dir=/homec/nunezco2/sfw/Boost/Boost_1.61/lib --with-boost-lib-suffix=-mt --with-netcdf-cxx=/homec/nunezco2/sfw/NetCDF-cxx --with-netcdf=/homec/nunezco2/sfw/NetCDF --with-curl-include=/homec/nunezco2/sfw/CURL/include --with-curl-lib-dir=/homec/nunezco2/sfw/CURL/lib
checking for mpicc... mpicc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mpicc accepts -g... yes
checking for mpicc option to accept ISO C89... none needed
checking for mpic++... mpic++
checking whether we are using the GNU C++ compiler... yes
checking whether mpic++ accepts -g... yes
checking for ar... ar
checking for ranlib... ranlib
checking for cp that supports -u... yes
checking for grep that handles long lines and -e... /bin/grep
checking how to run the C preprocessor... mpicc -E
checking for a sed that does not truncate output... /bin/sed
checking for Boost headers version >= 0... yes
checking for Boost's header version... 1_61
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for the toolset name used by Boost for mpic++... configure: WARNING: could not figure out which toolset name to use for mpic++
checking how to run the C++ preprocessor... mpic++ -E
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking boost/archive/text_oarchive.hpp usability... yes
checking boost/archive/text_oarchive.hpp presence... yes
checking for boost/archive/text_oarchive.hpp... yes
checking for the Boost serialization library... yes
checking boost/mpi.hpp usability... yes
checking boost/mpi.hpp presence... yes
checking for boost/mpi.hpp... yes
checking for the Boost mpi library... yes
checking boost/system/error_code.hpp usability... yes
checking boost/system/error_code.hpp presence... yes
checking for boost/system/error_code.hpp... yes
checking for the Boost system library... yes
checking boost/filesystem/path.hpp usability... yes
checking boost/filesystem/path.hpp presence... yes
checking for boost/filesystem/path.hpp... yes
checking for the Boost filesystem library... yes
checking for boost/system/error_code.hpp... (cached) yes
checking for the Boost system library... (cached) yes
checking for curl_version in -lcurl... yes
checking for nc_open in -lnetcdf... yes
checking netcdfcpp.h usability... yes
checking netcdfcpp.h presence... yes
checking for netcdfcpp.h... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for uint32_t... yes
checking for ptrdiff_t... yes
checking for error_at_line... yes
checking for ANSI C header files... (cached) yes
checking for floor... yes
checking for rint... yes
checking for sqrt... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h

Compilation instructions work in a MacOS X system with a similar toolchain. All provided packages were compiled and installed at the default sfw directory without issues. Is there any step I am missing?


--
Santiago Núñez-Corrales
Graduate student, Informatics Ph.D. Program
University of Illinois at Urbana-Champaign
<a href="tel:%2B1%20%28217%29%20979-9575" value="+12179799575" target="_blank" class="">+1 (217) 979-9575




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Repast-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/repast-interest





------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Repast-interest mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/repast-interest
Loading...