Dear Nest mailing list. I am trying to compile NEST to use inside Julia.
Surprisingly or unsuprisingly Julia has great tools to support building external modules
in cpp and c source code.
I am using the tool BinaryBuilder.jl
On a linux system with julia installed\, if I type:
julia <ENTER>
using Pkg
Pkg.add("BinaryBuilder.jl")
using BinaryBuilder
BinaryBuilder.run_wizard()
By following the wizard options, I can download the source code
https://github.com/nest/nest-simulator.git and build the source tree in an alpine linux
sand box.
The building of the source tree in Alpine linux is related to how Julia does cross
platform builds, an Alpine micro linux build is included with the Julia binary.
From there I can optionally include the Binary file: Libtool_jll.jl
Then the binary builder drops me into Alpine Linux environment, in order to test out
(monkey patch a workable build script).
When I navigate to:
/workspace/srcdir/nest-simulator-3.3
I can run:
sandbox:${WORKSPACE}/srcdir/nest-simulator-3.3 # cmake -DCMAKE_INSTALL_PREFIX=$prefix
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN} -DCMAKE_BUILD_TYPE=Release
-Dwith-python=OFF -Dwith-warning=ON -Dwith-ltdl=ON
and then run
I get this output:
Re-run cmake no build system arguments
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Host triple: x86_64-pc-linux
-- Target triple: x86_64-pc-linux
-- Could NOT find Readline (missing: READLINE_LIBRARY NCURSES_LIBRARY
READLINE_INCLUDE_DIR)
-- Could NOT find GSL (missing: GSL_INCLUDE_DIR GSL_LIBRARY GSL_CBLAS_LIBRARY) (found
version "")
-- Check the abort exitcode.
-- Check the abort exitcode.
-- Check the segmentation fault exitcode.
-- Check the segmentation fault exitcode.
-- Check whether the compiler ignores cmath makros.
-- Check whether the compiler ignores cmath makros. OFF
-- Check whether the compiler does NOT include <*.h> headers ISO conformant.
-- Check whether the compiler does NOT include <*.h> headers ISO conformant. OFF
-- Check whether the compiler respects symbolic signal names in signal.h.
-- Check whether the compiler respects symbolic signal names in signal.h. OFF
-- Check static template member declaration.
-- Check static template member declaration. OFF
-- Check for STL vector capacity base unity.
-- Check for STL vector capacity base unity. ON
-- Check for STL vector capacity doubling strategy.
-- Check for STL vector capacity doubling strategy. ON
-- Check whether the compiler fails with ICE.
-- Check whether the compiler fails with ICE. OFF
-- Check if ::nan is available from cmath.
-- Check if ::nan is available from cmath. ON
-- Check if ::isnan is available from cmath.
-- Check if ::isnan is available from cmath. ON
-- Check if Random123 generators work.
PLEASE_FILL_OUT-NOTFOUND
-- Check if Random123 generators work. OFF
-- NEST version: 3.3
--------------------------------------------------------------------------------
NEST Configuration Summary
--------------------------------------------------------------------------------
Build type : Release
Target System : Linux
Cross Compiling : TRUE
C compiler : GNU 4.8.5
(/opt/bin/x86_64-linux-gnu-libgfortran3-cxx03/x86_64-linux-gnu-gcc)
C compiler flags : -O2 -Wall -fopenmp -O3 -DNDEBUG
C++ compiler : GNU 4.8.5
(/opt/bin/x86_64-linux-gnu-libgfortran3-cxx03/x86_64-linux-gnu-g++)
C++ compiler flags : -O2 -std=c++11 -Wall -fopenmp -O3 -DNDEBUG
Build dynamic : ON
Built-in modules : models
User modules : None
Python bindings : No
Use threading : Yes (OpenMP: -fopenmp)
Use GSL : No
Use Readline : No
Use libltdl : Yes (LTDL 2.4.6)
Includes : /opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/include
Libraries :
/opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/usr/local/lib/libltdl.so
Use doxygen : No
Use MPI : No
Detailed timers : No
Use MUSIC : No
Use libneurosim : No
Use Boost : Yes (Boost 1.79.0)
Includes : /workspace/destdir/include
Libraries :
Use SIONlib : No
--------------------------------------------------------------------------------
The NEST executable will be installed to:
/workspace/destdir/bin/
NEST dynamic libraries and user modules will be installed to:
/workspace/destdir/lib/nest/
Documentation and examples will be installed to:
/workspace/destdir/share/doc/nest/
To set necessary environment variables, add the following line
to your ~/.bashrc :
source /workspace/destdir/bin/nest_vars.sh
--------------------------------------------------------------------------------
ATTENTION!
You are about to compile NEST without the GNU Scientific
Library or your GSL is too old (before v1.11). This means
that conductance-based neuron models and some random number
generators will not be available.
--------------------------------------------------------------------------------
You can now build and install NEST with
make
make install
make installcheck
If you experience problems with the installation or the use of NEST,
please see
https://www.nest-simulator.org/frequently_asked_questions
or go to
https://www.nest-simulator.org/community to find out how to
join the user mailing list.
-- Configuring done
-- Generating done
-- Build files have been written to: /workspace/srcdir/nest-simulator-3.3
sandbox:${WORKSPACE}/srcdir/nest-simulator-3.3 #
sandbox:${WORKSPACE}/srcdir/nest-simulator-3.3/make:
but when I try to run make I hit this error:
[ 26%] Building CXX object
nestkernel/CMakeFiles/nestkernel.dir/recording_backend_ascii.cpp.o
cd /workspace/srcdir/nest-simulator-3.3/nestkernel &&
/opt/bin/x86_64-linux-gnu-libgfortran3-cxx03/x86_64-linux-gnu-g++
--sysroot=/opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/ -Dnestkernel_EXPORTS
-I/workspace/srcdir/nest-simulator-3.3/thirdparty
-I/workspace/srcdir/nest-simulator-3.3/libnestutil
-I/workspace/srcdir/nest-simulator-3.3/sli
-I/workspace/srcdir/nest-simulator-3.3/nestkernel
-I/workspace/srcdir/nest-simulator-3.3/nestkernel/spatial -O2 -std=c++11 -Wall -fopenmp
-O3 -DNDEBUG -fPIC -fopenmp -MD -MT
nestkernel/CMakeFiles/nestkernel.dir/recording_backend_ascii.cpp.o -MF
CMakeFiles/nestkernel.dir/recording_backend_ascii.cpp.o.d -o
CMakeFiles/nestkernel.dir/recording_backend_ascii.cpp.o -c
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp
In file included from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_algobase.h:64:0,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/char_traits.h:39,
from /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ios:40,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/istream:38,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/sstream:38,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:36,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_pair.h: In instantiation
of ‘constexpr std::pair<_T1, _T2>::pair(const _T1&, const _T2&) [with _T1 =
long unsigned int; _T2 = nest::RecordingBackendASCII::DeviceData]’:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_pair.h:281:72:
required from ‘constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type,
typename std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&,
_T2&&) [with _T1 = const long unsigned int&; _T2 =
nest::RecordingBackendASCII::DeviceData; typename
std::__decay_and_strip<_T2>::__type = nest::RecordingBackendASCII::DeviceData;
typename std::__decay_and_strip<_Tp>::__type = long unsigned int]’
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:69:108:
required from here
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_pair.h:113:31: error:
use of deleted function ‘nest::RecordingBackendASCII::DeviceData::DeviceData(const
nest::RecordingBackendASCII::DeviceData&)’
: first(__a), second(__b) { }
^
In file included from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:33:0:
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.h:195:10: note:
‘nest::RecordingBackendASCII::DeviceData::DeviceData(const
nest::RecordingBackendASCII::DeviceData&)’ is implicitly deleted because the default
definition would be ill-formed:
struct DeviceData
^
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.h:195:10: error:
use of deleted function ‘std::basic_ofstream<char>::basic_ofstream(const
std::basic_ofstream<char>&)’
In file included from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_device.h:27:0,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:27:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/fstream:599:11: note:
‘std::basic_ofstream<char>::basic_ofstream(const
std::basic_ofstream<char>&)’ is implicitly deleted because the default
definition would be ill-formed:
class basic_ofstream : public basic_ostream<_CharT,_Traits>
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/fstream:599:11: error: use of
deleted function ‘std::basic_ostream<char>::basic_ostream(const
std::basic_ostream<char>&)’
In file included from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/istream:39:0,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/sstream:38,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:36,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ostream:58:11: note:
‘std::basic_ostream<char>::basic_ostream(const std::basic_ostream<char>&)’
is implicitly deleted because the default definition would be ill-formed:
class basic_ostream : virtual public basic_ios<_CharT, _Traits>
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ostream:58:11: error: use of
deleted function ‘std::basic_ios<char>::basic_ios(const
std::basic_ios<char>&)’
In file included from /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ios:44:0,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/istream:38,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/sstream:38,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:36,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/basic_ios.h:66:11: note:
‘std::basic_ios<char>::basic_ios(const std::basic_ios<char>&)’ is
implicitly deleted because the default definition would be ill-formed:
class basic_ios : public ios_base
^
In file included from /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ios:42:0,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/istream:38,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/sstream:38,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:36,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/ios_base.h:786:5: error:
‘std::ios_base::ios_base(const std::ios_base&)’ is private
ios_base(const ios_base&);
^
In file included from /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ios:44:0,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/istream:38,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/sstream:38,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:36,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/basic_ios.h:66:11: error:
within this context
class basic_ios : public ios_base
^
In file included from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_device.h:27:0,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:27:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/fstream:599:11: error: use of
deleted function ‘std::basic_ios<char>::basic_ios(const
std::basic_ios<char>&)’
class basic_ofstream : public basic_ostream<_CharT,_Traits>
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/fstream:599:11: error: use of
deleted function ‘std::basic_filebuf<char>::basic_filebuf(const
std::basic_filebuf<char>&)’
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/fstream:72:11: note:
‘std::basic_filebuf<char>::basic_filebuf(const std::basic_filebuf<char>&)’
is implicitly deleted because the default definition would be ill-formed:
class basic_filebuf : public basic_streambuf<_CharT, _Traits>
^
In file included from /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ios:43:0,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/istream:38,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/sstream:38,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:36,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/streambuf:802:7: error:
‘std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const
std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char; _Traits =
std::char_traits<char>]’ is private
basic_streambuf(const basic_streambuf& __sb)
^
In file included from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_device.h:27:0,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:27:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/fstream:72:11: error: within this
context
class basic_filebuf : public basic_streambuf<_CharT, _Traits>
^
In file included from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_algobase.h:64:0,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/char_traits.h:39,
from /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ios:40,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/istream:38,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/sstream:38,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:36,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_pair.h: In instantiation
of ‘constexpr std::pair<typename std::__decay_and_strip<_Tp>::__type, typename
std::__decay_and_strip<_T2>::__type> std::make_pair(_T1&&, _T2&&)
[with _T1 = const long unsigned int&; _T2 = nest::RecordingBackendASCII::DeviceData;
typename std::__decay_and_strip<_T2>::__type =
nest::RecordingBackendASCII::DeviceData; typename
std::__decay_and_strip<_Tp>::__type = long unsigned int]’:
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:69:108:
required from here
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_pair.h:281:72: error:
use of deleted function ‘constexpr std::pair<_T1, _T2>::pair(std::pair<_T1,
_T2>&&) [with _T1 = long unsigned int; _T2 =
nest::RecordingBackendASCII::DeviceData]’
return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_pair.h:128:17: note:
‘constexpr std::pair<_T1, _T2>::pair(std::pair<_T1, _T2>&&) [with _T1
= long unsigned int; _T2 = nest::RecordingBackendASCII::DeviceData]’ is implicitly deleted
because the default definition would be ill-formed:
constexpr pair(pair&&) = default;
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_pair.h:128:17: error:
use of deleted function
‘nest::RecordingBackendASCII::DeviceData::DeviceData(nest::RecordingBackendASCII::DeviceData&&)’
In file included from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:33:0:
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.h:195:10: note:
‘nest::RecordingBackendASCII::DeviceData::DeviceData(nest::RecordingBackendASCII::DeviceData&&)’
is implicitly deleted because the default definition would be ill-formed:
struct DeviceData
^
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.h:195:10: error:
use of deleted function ‘std::basic_ofstream<char>::basic_ofstream(const
std::basic_ofstream<char>&)’
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp: In member
function ‘virtual void nest::RecordingBackendASCII::enroll(const
nest::RecordingDevice&, const DictionaryDatum&)’:
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:69:110: error:
no matching function for call to ‘std::map<long unsigned int,
nest::RecordingBackendASCII::DeviceData>::insert(std::pair<long unsigned int,
nest::RecordingBackendASCII::DeviceData>)’
auto p = device_data_[ t ].insert( std::make_pair( node_id, DeviceData( modelname,
vp_node_id_string ) ) );
^
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:69:110: note:
candidates are:
In file included from /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/map:61:0,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:39,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:594:7: note:
std::pair<typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>,
std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename
_Alloc::rebind<std::pair<const _Key, _Tp> >::other>::iterator, bool>
std::map<_Key, _Tp, _Compare, _Alloc>::insert(const value_type&) [with _Key =
long unsigned int; _Tp = nest::RecordingBackendASCII::DeviceData; _Compare =
std::less<long unsigned int>; _Alloc = std::allocator<std::pair<const long
unsigned int, nest::RecordingBackendASCII::DeviceData> >; typename
std::_Rb_tree<_Key, std::pair<const _Key, _Tp>,
std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename
_Alloc::rebind<std::pair<const _Key, _Tp> >::other>::iterator =
std::_Rb_tree_iterator<std::pair<const long unsigned int,
nest::RecordingBackendASCII::DeviceData> >; std::map<_Key, _Tp, _Compare,
_Alloc>::value_type = std::pair<const long unsigned int,
nest::RecordingBackendASCII::DeviceData>]
insert(const value_type& __x)
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:594:7: note: no
known conversion for argument 1 from ‘std::pair<long unsigned int,
nest::RecordingBackendASCII::DeviceData>’ to ‘const value_type& {aka const
std::pair<const long unsigned int, nest::RecordingBackendASCII::DeviceData>&}’
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:602:9: note:
template<class _Pair, class> std::pair<typename std::_Rb_tree<_Key,
std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp>
>, _Compare, typename _Alloc::rebind<std::pair<const _Key, _Tp>
>::other>::iterator, bool> std::map<_Key, _Tp, _Compare,
_Alloc>::insert(_Pair&&) [with _Pair = _Pair; <template-parameter-2-2> =
<template-parameter-1-2>; _Key = long unsigned int; _Tp =
nest::RecordingBackendASCII::DeviceData; _Compare = std::less<long unsigned int>;
_Alloc = std::allocator<std::pair<const long unsigned int,
nest::RecordingBackendASCII::DeviceData> >]
insert(_Pair&& __x)
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:602:9: note:
template argument deduction/substitution failed:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:598:32: error: no
type named ‘type’ in ‘struct std::enable_if<false, void>’
template<typename _Pair, typename = typename
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:615:7: note: void
std::map<_Key, _Tp, _Compare,
_Alloc>::insert(std::initializer_list<std::pair<const _Key, _Tp> >) [with
_Key = long unsigned int; _Tp = nest::RecordingBackendASCII::DeviceData; _Compare =
std::less<long unsigned int>; _Alloc = std::allocator<std::pair<const long
unsigned int, nest::RecordingBackendASCII::DeviceData> >]
insert(std::initializer_list<value_type> __list)
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:615:7: note: no
known conversion for argument 1 from ‘std::pair<long unsigned int,
nest::RecordingBackendASCII::DeviceData>’ to
‘std::initializer_list<std::pair<const long unsigned int,
nest::RecordingBackendASCII::DeviceData> >’
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:644:7: note:
std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare,
_Alloc>::insert(std::map<_Key, _Tp, _Compare, _Alloc>::const_iterator, const
value_type&) [with _Key = long unsigned int; _Tp =
nest::RecordingBackendASCII::DeviceData; _Compare = std::less<long unsigned int>;
_Alloc = std::allocator<std::pair<const long unsigned int,
nest::RecordingBackendASCII::DeviceData> >; std::map<_Key, _Tp, _Compare,
_Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const long unsigned int,
nest::RecordingBackendASCII::DeviceData> >; std::map<_Key, _Tp, _Compare,
_Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const long
unsigned int, nest::RecordingBackendASCII::DeviceData> >; std::map<_Key, _Tp,
_Compare, _Alloc>::value_type = std::pair<const long unsigned int,
nest::RecordingBackendASCII::DeviceData>]
insert(const_iterator __position, const value_type& __x)
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:644:7: note:
candidate expects 2 arguments, 1 provided
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:655:9: note:
template<class _Pair, class> std::map<_Key, _Tp, _Compare, _Alloc>::iterator
std::map<_Key, _Tp, _Compare, _Alloc>::insert(std::map<_Key, _Tp, _Compare,
_Alloc>::const_iterator, _Pair&&) [with _Pair = _Pair;
<template-parameter-2-2> = <template-parameter-1-2>; _Key = long unsigned int;
_Tp = nest::RecordingBackendASCII::DeviceData; _Compare = std::less<long unsigned
int>; _Alloc = std::allocator<std::pair<const long unsigned int,
nest::RecordingBackendASCII::DeviceData> >]
insert(const_iterator __position, _Pair&& __x)
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:655:9: note:
template argument deduction/substitution failed:
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:69:110: note:
cannot convert ‘std::make_pair(_T1&&, _T2&&) [with _T1 = const long
unsigned int&; _T2 = nest::RecordingBackendASCII::DeviceData; typename
std::__decay_and_strip<_T2>::__type = nest::RecordingBackendASCII::DeviceData;
typename std::__decay_and_strip<_Tp>::__type = long unsigned int]((* &
nest::RecordingBackendASCII::DeviceData(std::basic_string<char>((*(const
std::basic_string<char>*)(& modelname))), std::basic_string<char>((*(const
std::basic_string<char>*)(& vp_node_id_string))))))’ (type ‘std::pair<long
unsigned int, nest::RecordingBackendASCII::DeviceData>’) to type ‘std::map<long
unsigned int, nest::RecordingBackendASCII::DeviceData>::const_iterator {aka
std::_Rb_tree_const_iterator<std::pair<const long unsigned int,
nest::RecordingBackendASCII::DeviceData> >}’
auto p = device_data_[ t ].insert( std::make_pair( node_id, DeviceData( modelname,
vp_node_id_string ) ) );
^
In file included from /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/map:61:0,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:39,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:670:9: note:
template<class _InputIterator> void std::map<_Key, _Tp, _Compare,
_Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator;
_Key = long unsigned int; _Tp = nest::RecordingBackendASCII::DeviceData; _Compare =
std::less<long unsigned int>; _Alloc = std::allocator<std::pair<const long
unsigned int, nest::RecordingBackendASCII::DeviceData> >]
insert(_InputIterator __first, _InputIterator __last)
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/stl_map.h:670:9: note:
template argument deduction/substitution failed:
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:69:110: note:
candidate expects 2 arguments, 1 provided
auto p = device_data_[ t ].insert( std::make_pair( node_id, DeviceData( modelname,
vp_node_id_string ) ) );
^
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp: In member
function ‘void nest::RecordingBackendASCII::DeviceData::open_file()’:
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:266:9: error:
use of deleted function ‘std::basic_ofstream<char>&
std::basic_ofstream<char>::operator=(const std::basic_ofstream<char>&)’
file_ = std::ofstream( filename.c_str() );
^
In file included from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_device.h:27:0,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:27:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/fstream:599:11: note:
‘std::basic_ofstream<char>& std::basic_ofstream<char>::operator=(const
std::basic_ofstream<char>&)’ is implicitly deleted because the default
definition would be ill-formed:
class basic_ofstream : public basic_ostream<_CharT,_Traits>
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/fstream:599:11: error: use of
deleted function ‘std::basic_ostream<char>&
std::basic_ostream<char>::operator=(const std::basic_ostream<char>&)’
In file included from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/istream:39:0,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/sstream:38,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:36,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ostream:58:11: note:
‘std::basic_ostream<char>& std::basic_ostream<char>::operator=(const
std::basic_ostream<char>&)’ is implicitly deleted because the default definition
would be ill-formed:
class basic_ostream : virtual public basic_ios<_CharT, _Traits>
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ostream:58:11: error: use of
deleted function ‘std::basic_ios<char>&
std::basic_ios<char>::operator=(const std::basic_ios<char>&)’
In file included from /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ios:44:0,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/istream:38,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/sstream:38,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:36,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/basic_ios.h:66:11: note:
‘std::basic_ios<char>& std::basic_ios<char>::operator=(const
std::basic_ios<char>&)’ is implicitly deleted because the default definition
would be ill-formed:
class basic_ios : public ios_base
^
In file included from /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ios:42:0,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/istream:38,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/sstream:38,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:36,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/ios_base.h:789:5: error:
‘std::ios_base& std::ios_base::operator=(const std::ios_base&)’ is private
operator=(const ios_base&);
^
In file included from /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ios:44:0,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/istream:38,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/sstream:38,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:36,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/bits/basic_ios.h:66:11: error:
within this context
class basic_ios : public ios_base
^
In file included from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_device.h:27:0,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:27:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/fstream:599:11: error: use of
deleted function ‘std::basic_filebuf<char>&
std::basic_filebuf<char>::operator=(const std::basic_filebuf<char>&)’
class basic_ofstream : public basic_ostream<_CharT,_Traits>
^
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/fstream:72:11: note:
‘std::basic_filebuf<char>& std::basic_filebuf<char>::operator=(const
std::basic_filebuf<char>&)’ is implicitly deleted because the default definition
would be ill-formed:
class basic_filebuf : public basic_streambuf<_CharT, _Traits>
^
In file included from /opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/ios:43:0,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/istream:38,
from
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/sstream:38,
from /workspace/srcdir/nest-simulator-3.3/thirdparty/compose.hpp:36,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:24:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/streambuf:810:7: error:
‘std::basic_streambuf<_CharT, _Traits>& std::basic_streambuf<_CharT,
_Traits>::operator=(const std::basic_streambuf<_CharT, _Traits>&) [with
_CharT = char; _Traits = std::char_traits<char>]’ is private
operator=(const basic_streambuf&) { return *this; };
^
In file included from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_device.h:27:0,
from
/workspace/srcdir/nest-simulator-3.3/nestkernel/recording_backend_ascii.cpp:27:
/opt/x86_64-linux-gnu/x86_64-linux-gnu/include/c++/4.8.5/fstream:72:11: error: within this
context
class basic_filebuf : public basic_streambuf<_CharT, _Traits>
^
make[2]: *** [nestkernel/CMakeFiles/nestkernel.dir/build.make:818:
nestkernel/CMakeFiles/nestkernel.dir/recording_backend_ascii.cpp.o] Error 1
make[2]: Leaving directory '/workspace/srcdir/nest-simulator-3.3'
make[1]: *** [CMakeFiles/Makefile2:772: nestkernel/CMakeFiles/nestkernel.dir/all] Error 2
make[1]: Leaving directory '/workspace/srcdir/nest-simulator-3.3'
make: *** [Makefile:146: all] Error 2
I wonder if the problem might be the GCC version?
From this source it looks like 4.8.5 is the default GCC version
https://github.com/JuliaPackaging/Yggdrasil/blob/master/RootFS.md#compiler-…
GCC Binutils libgfortran SONAME libstdc++ SONAME string ABI
4.8.5 2.24 libgfortran.so.3 libstdc++.so.6.0.19 cxx03
5.2.0 2.25.1 libgfortran.so.3 libstdc++.so.6.0.21 cxx11
6.1.0* 2.26 libgfortran.so.3 libstdc++.so.6.0.22 cxx11
7.1.0 2.27 libgfortran.so.4 libstdc++.so.6.0.23 cxx11
8.1.0 2.31 libgfortran.so.5 libstdc++.so.6.0.25 cxx11
9.1.0 2.33.1 libgfortran.so.5 libstdc++.so.6.0.26 cxx11
10.2.0 2.34 libgfortran.so.5 libstdc++.so.6.0.28 cxx11
11.1.0 2.36 libgfortran.so.5 libstdc++.so.6.0.29 cxx11
Also I wonder if any one has any hints about what to try?
I have noticed the Ubuntu Nest dependencies in the Dockerfile here:
https://github.com/nest/nest-docker/blob/master/src/base/Dockerfile-build-b…
Many of those dependencies have Alpine counter parts, but I'd rather not try to
randomly install them.
Russell.