Author

Topic: [partially solved] bitcoin-0.8.1 failed to build on a solaris machine (Read 852 times)

full member
Activity: 140
Merit: 100
Ignoring some differences in define / socket or something, add this:
-D BOOST_NO_CXX11_VARIADIC_TEMPLATES

===

(smartmachine: aka Joyent SmartOS, illumos or fork of OpenSolaris)
version info:
gcc version 4.7.2
boost is 1.53.0

build command:
make BOOST_INCLUDE_PATH=/opt/local/include -f makefile.unix bitcoind

(I dont mind bitcoin-qt, I need bitcoind only)

Code:
g++ -c -O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -g -DBOOST_SPIRIT_THREADSAFE -D_FILE_OFFSET_BITS=64 -I/home/build/bitcoin-0.8.1-linux/src/src -I/home/build/bitcoin-0.8.1-linux/src/src/obj -I/opt/local/include -DUSE_UPNP=0 -DUSE_IPV6=1 -I/home/build/bitcoin-0.8.1-linux/src/src/leveldb/include -I/home/build/bitcoin-0.8.1-linux/src/src/leveldb/helpers -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -D_FORTIFY_SOURCE=2  -MMD -MF obj/alert.d -o obj/alert.o alert.cpp
In file included from /opt/local/include/boost/chrono/duration.hpp:42:0,
                 from /opt/local/include/boost/chrono/time_point.hpp:33,
                 from /opt/local/include/boost/thread/lock_types.hpp:22,
                 from /opt/local/include/boost/thread/pthread/thread_data.hpp:12,
                 from /opt/local/include/boost/thread/thread.hpp:17,
                 from /opt/local/include/boost/thread.hpp:13,
                 from util.h:21,
                 from alert.h:13,
                 from alert.cpp:8:
/opt/local/include/boost/type_traits/common_type.hpp:70:22: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/type_traits/common_type.hpp:150:46: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
In file included from /opt/local/include/boost/signals2/variadic_slot.hpp:14:0,
                 from /opt/local/include/boost/signals2/slot.hpp:30,
                 from /opt/local/include/boost/signals2/connection.hpp:23,
                 from /opt/local/include/boost/signals2/signal.hpp:21,
                 from ui_interface.h:10,
                 from alert.cpp:12:
/opt/local/include/boost/signals2/detail/variadic_arg_type.hpp:21:35: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/variadic_arg_type.hpp:23:37: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/variadic_arg_type.hpp:29:49: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/variadic_arg_type.hpp:35:38: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
In file included from /opt/local/include/boost/signals2/variadic_slot.hpp:23:0,
                 from /opt/local/include/boost/signals2/slot.hpp:30,
                 from /opt/local/include/boost/signals2/connection.hpp:23,
                 from /opt/local/include/boost/signals2/signal.hpp:21,
                 from ui_interface.h:10,
                 from alert.cpp:12:
/opt/local/include/boost/signals2/detail/slot_template.hpp:32:14: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/slot_template.hpp:33:69: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/slot_template.hpp:43:38: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/slot_template.hpp:74:7: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
In file included from /opt/local/include/boost/signals2/variadic_slot.hpp:23:0,
                 from /opt/local/include/boost/signals2/slot.hpp:30,
                 from /opt/local/include/boost/signals2/connection.hpp:23,
                 from /opt/local/include/boost/signals2/signal.hpp:21,
                 from ui_interface.h:10,
                 from alert.cpp:12:
/opt/local/include/boost/signals2/detail/slot_template.hpp:98:7: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/slot_template.hpp:98:7: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/slot_template.hpp:100:20: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/slot_template.hpp:105:20: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
In file included from /opt/local/include/boost/signals2/variadic_signal.hpp:21:0,
                 from /opt/local/include/boost/signals2/signal.hpp:38,
                 from ui_interface.h:10,
                 from alert.cpp:12:
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:36:29: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:40:41: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:73:42: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:81:58: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:81:76: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:86:46: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:86:64: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp: In member function 'R boost::signals2::detail::call_with_tuple_args::operator()(Func&, boost::tuples::tuple) const':
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:76:59: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp: In member function 'R boost::signals2::detail::call_with_tuple_args::m_invoke(T*, Func&, boost::signals2::detail::unsigned_meta_array, boost::tuples::tuple) const':
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:84:23: error: 'get' is not a member of 'std'
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:84:23: note: suggested alternatives:
In file included from /opt/local/include/boost/tuple/tuple.hpp:33:0,
                 from serialize.h:18,
                 from netbase.h:10,
                 from util.h:27,
                 from alert.h:13,
                 from alert.cpp:8:
/opt/local/include/boost/tuple/detail/tuple_basic.hpp:211:1: note:   'boost::tuples::get'
/opt/local/include/boost/tuple/detail/tuple_basic.hpp:225:1: note:   'boost::tuples::get'
In file included from /opt/local/include/boost/signals2/variadic_signal.hpp:21:0,
                 from /opt/local/include/boost/signals2/signal.hpp:38,
                 from ui_interface.h:10,
                 from alert.cpp:12:
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:84:46: error: expansion pattern '( > args)' contains no argument packs
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp: In member function 'R boost::signals2::detail::call_with_tuple_args::m_invoke(void*, Func&, boost::signals2::detail::unsigned_meta_array, boost::tuples::tuple) const':
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:89:16: error: 'get' is not a member of 'std'
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:89:16: note: suggested alternatives:
In file included from /opt/local/include/boost/tuple/tuple.hpp:33:0,
                 from serialize.h:18,
                 from netbase.h:10,
                 from util.h:27,
                 from alert.h:13,
                 from alert.cpp:8:
/opt/local/include/boost/tuple/detail/tuple_basic.hpp:211:1: note:   'boost::tuples::get'
/opt/local/include/boost/tuple/detail/tuple_basic.hpp:225:1: note:   'boost::tuples::get'
In file included from /opt/local/include/boost/signals2/variadic_signal.hpp:21:0,
                 from /opt/local/include/boost/signals2/signal.hpp:38,
                 from ui_interface.h:10,
                 from alert.cpp:12:
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:89:39: error: expansion pattern '( > args)' contains no argument packs
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp: At global scope:
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:94:37: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:100:42: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
In file included from /opt/local/include/boost/signals2/signal.hpp:38:0,
                 from ui_interface.h:10,
                 from alert.cpp:12:
/opt/local/include/boost/signals2/variadic_signal.hpp:32:37: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/variadic_signal.hpp:33:50: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/variadic_signal.hpp:36:77: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
In file included from /opt/local/include/boost/signals2/variadic_signal.hpp:42:0,
                 from /opt/local/include/boost/signals2/signal.hpp:38,
                 from ui_interface.h:10,
                 from alert.cpp:12:
/opt/local/include/boost/signals2/detail/signal_template.hpp:40:11: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:43:13: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:85:18: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:87:34: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:96:18: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:98:34: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:121:16: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:122:76: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:128:12: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:132:17: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:224:33: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:248:33: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:593:14: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:595:7: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:600:10: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:603:10: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:605:10: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:619:38: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:650:7: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:693:31: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:697:31: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:733:16: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:735:9: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:739:12: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:744:12: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:748:33: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:756:33: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp:766:12: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp: In member function 'boost::signals2::detail::weak_signal::result_type boost::signals2::detail::weak_signal::operator()(Args ...)':
/opt/local/include/boost/signals2/detail/signal_template.hpp:751:14: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
/opt/local/include/boost/signals2/detail/signal_template.hpp: In member function 'boost::signals2::detail::weak_signal::result_type boost::signals2::detail::weak_signal::operator()(Args ...) const':
/opt/local/include/boost/signals2/detail/signal_template.hpp:759:14: warning: variadic templates only available with -std=c++11 or -std=gnu++11 [enabled by default]
alert.cpp: At global scope:
alert.cpp:16:1: error: reference to 'map' is ambiguous
In file included from compat.h:23:0,
                 from netbase.h:11,
                 from util.h:27,
                 from alert.h:13,
                 from alert.cpp:8:
/usr/include/net/if.h:97:9: error: candidates are: struct map
In file included from /opt/local/gcc47/include/c++/map:61:0,
                 from alert.cpp:6:
/opt/local/gcc47/include/c++/bits/stl_map.h:90:11: error:                 template class std::map
alert.cpp:16:1: error: 'map' does not name a type
alert.cpp: In static member function 'static CAlert CAlert::getAlertByHash(const uint256&)':
alert.cpp:161:9: error: reference to 'map' is ambiguous
In file included from compat.h:23:0,
                 from netbase.h:11,
                 from util.h:27,
                 from alert.h:13,
                 from alert.cpp:8:
/usr/include/net/if.h:97:9: error: candidates are: struct map
In file included from /opt/local/gcc47/include/c++/map:61:0,
                 from alert.cpp:6:
/opt/local/gcc47/include/c++/bits/stl_map.h:90:11: error:                 template class std::map
alert.cpp:161:20: error: expected primary-expression before ',' token
alert.cpp:161:28: error: expected primary-expression before '>' token
alert.cpp:161:40: error: missing template arguments before 'mi'
alert.cpp:161:40: error: expected ';' before 'mi'
alert.cpp:162:12: error: 'mi' was not declared in this scope
alert.cpp:162:18: error: 'mapAlerts' was not declared in this scope
alert.cpp: In member function 'bool CAlert::ProcessAlert()':
alert.cpp:200:14: error: reference to 'map' is ambiguous
In file included from compat.h:23:0,
                 from netbase.h:11,
                 from util.h:27,
                 from alert.h:13,
                 from alert.cpp:8:
/usr/include/net/if.h:97:9: error: candidates are: struct map
In file included from /opt/local/gcc47/include/c++/map:61:0,
                 from alert.cpp:6:
/opt/local/gcc47/include/c++/bits/stl_map.h:90:11: error:                 template class std::map
alert.cpp:200:25: error: expected primary-expression before ',' token
alert.cpp:200:33: error: expected primary-expression before '>' token
alert.cpp:200:45: error: missing template arguments before 'mi'
alert.cpp:200:45: error: expected ';' before 'mi'
alert.cpp:200:69: error: 'mi' was not declared in this scope
alert.cpp:200:75: error: 'mapAlerts' was not declared in this scope
alert.cpp:220:9: error: 'mapAlerts' was not declared in this scope
alert.cpp:231:9: error: 'mapAlerts' was not declared in this scope
In file included from /opt/local/include/boost/signals2/variadic_signal.hpp:21:0,
                 from /opt/local/include/boost/signals2/signal.hpp:38,
                 from ui_interface.h:10,
                 from alert.cpp:12:
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp: In member function 'R boost::signals2::detail::call_with_tuple_args::m_invoke(T*, Func&, boost::signals2::detail::unsigned_meta_array, boost::tuples::tuple) const [with T = std::basic_string; Func = boost::function(const char*)>; unsigned int ...indices = {0u, 1u, 2u, 3u, 4u, 5u, 6u, 7u, 8u, 9u}; Args = {const char*&, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type}; R = std::basic_string]':
/opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:85:9: warning: control reaches end of non-void function [-Wreturn-type]
In file included from /opt/local/include/boost/system/system_error.hpp:14:0,
                 from /opt/local/include/boost/thread/exceptions.hpp:22,
                 from /opt/local/include/boost/thread/pthread/thread_data.hpp:10,
                 from /opt/local/include/boost/thread/thread.hpp:17,
                 from /opt/local/include/boost/thread.hpp:13,
                 from util.h:21,
                 from alert.h:13,
                 from alert.cpp:8:
/opt/local/include/boost/system/error_code.hpp: At global scope:
/opt/local/include/boost/system/error_code.hpp:214:36: warning: 'boost::system::posix_category' defined but not used [-Wunused-variable]
/opt/local/include/boost/system/error_code.hpp:215:36: warning: 'boost::system::errno_ecat' defined but not used [-Wunused-variable]
/opt/local/include/boost/system/error_code.hpp:216:36: warning: 'boost::system::native_ecat' defined but not used [-Wunused-variable]
gmake: *** [obj/alert.o] Error 1
Jump to: