[Ndn-interest] [EXT] Installing issues with ndn-cxx-0.7.1

Junxiao Shi shijunxiao at email.arizona.edu
Thu Jul 28 04:41:45 PDT 2022


Hi Rayhan

This is most likely a breaking change in Boost libraries that previous
version of ndn-cxx cannot handle.
Given it's fixed in newer version of ndn-cxx, you should use the newer
version.

For Raspberry Pi OS, you can use prebuilt ndn-cxx published on
https://nfd-nightly.ndn.today , and don't have to build yourself.

Yours, Junxiao

On Thu, Jul 28, 2022, 07:34 Gias, Rayhan <rayhan.gias at hs-emden-leer.de>
wrote:

> *External Email*
>
> Hello all,
>
> I am trying to build ndn-cxx-0.7.1 from the source but facing issues.
> Current ndn-cxx-0.8.0 has no building issues.
>
> Here are the ./waf configure output on macOS 12.4:
>
> $ ./waf configure --with-openssl=/usr/local/include/openssl at 1.1/
>
> Setting top to                           :
> /Users/tanimrayhan/Desktop/untitled folder/ndn-cxx-ndn-cxx-0.7.1
> Setting out to                           :
> /Users/tanimrayhan/Desktop/untitled folder/ndn-cxx-ndn-cxx-0.7.1/build
> Building static library                  : no
> Building shared library                  : yes
> Checking for 'clang++' (C++ compiler)    : /usr/bin/clang++
> Checking C++ compiler version            : 12.0.5
> Checking supported CXXFLAGS              : -std=c++14 -isystem
> /usr/local/include -isystem /opt/local/include
> Checking for std::to_string              : yes
> Checking for program 'doxygen'           : /usr/local/bin/doxygen
> Checking for program 'tar'               : /usr/bin/tar
> Checking for program 'sphinx-build'      : not found
> Checking for program 'sh'                : /bin/sh
> Checking for library atomic              : not found
> Checking for library pthread             : yes
> Checking for library rt                  : not found
> Checking for function getpass            : yes
> Checking for netlink                     : not found
> Checking for framework CoreFoundation    : yes
> Checking for framework Security          : yes
> Checking for framework SystemConfiguration : yes
> Checking for framework Foundation          : yes
> Checking for framework CoreWLAN            : yes
> Checking for program 'pkg-config'          : /usr/local/bin/pkg-config
> Checking for 'sqlite3'                     : yes
> Checking for OpenSSL version               : "OpenSSL 1.1.1q  5 Jul 2022"
> Checking if OpenSSL library works          : yes
> Checking for program 'dpkg-architecture'   : not found
> Checking boost includes                    : 1.79.0
> Checking boost libs                        : lib stacktrace_backtrace not
> found in /usr/local/lib
> Checking boost libs                        : boost_stacktrace_basic-mt
> Checking for boost linkage                 : ok
> Checking boost libs                        : boost_system-mt
> boost_program_options-mt boost_chrono-mt boost_date_time-mt
> boost_filesystem-mt boost_thread-mt boost_log-mt boost_stacktrace_basic-mt
> Checking the flags needed to use pthreads  : not found
> Checking for boost linkage                 : ok
> Checking supported CXXFLAGS                : -O2 -g -pedantic -Wall
> -Wextra -Wextra-semi -Wnon-virtual-dtor -Wno-unused-parameter
> -fcolor-diagnostics -Wundefined-func-template -Wno-unused-local-typedef
> Checking supported LINKFLAGS               : not found
> 'configure' finished successfully (10.973s)
>
>
> When trying to build it using "./waf", it throws the following error:
>
> In file included from <built-in>:1:
> In file included from ./../ndn-cxx/impl/common-pch.hpp:44:
> In file included from /usr/local/include/boost/bind/bind.hpp:31:
> /usr/local/include/boost/bind/std_placeholders.hpp:25:19: error:
> redefinition of 'is_placeholder<std::__1::placeholders::__ph<1>>'
> template<> struct is_placeholder< typename
> std::decay<decltype(std::placeholders::_1)>::type > { enum _vt { value = 1
> }; };
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../ndn-cxx/detail/common.hpp:100:1: note: previous definition is here
> NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER(1)
> ^
> ../ndn-cxx/detail/common.hpp:94:10: note: expanded from macro
> 'NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER'
>   struct is_placeholder<std::remove_const_t<decltype(_##N)>> \
>          ^
> In file included from <built-in>:1:
> In file included from ./../ndn-cxx/impl/common-pch.hpp:44:
> In file included from /usr/local/include/boost/bind/bind.hpp:31:
> /usr/local/include/boost/bind/std_placeholders.hpp:26:19: error:
> redefinition of 'is_placeholder<std::__1::placeholders::__ph<2>>'
> template<> struct is_placeholder< typename
> std::decay<decltype(std::placeholders::_2)>::type > { enum _vt { value = 2
> }; };
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../ndn-cxx/detail/common.hpp:101:1: note: previous definition is here
> NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER(2)
> ^
> ../ndn-cxx/detail/common.hpp:94:10: note: expanded from macro
> 'NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER'
>   struct is_placeholder<std::remove_const_t<decltype(_##N)>> \
>          ^
> In file included from <built-in>:1:
> In file included from ./../ndn-cxx/impl/common-pch.hpp:44:
> In file included from /usr/local/include/boost/bind/bind.hpp:31:
> /usr/local/include/boost/bind/std_placeholders.hpp:27:19: error:
> redefinition of 'is_placeholder<std::__1::placeholders::__ph<3>>'
> template<> struct is_placeholder< typename
> std::decay<decltype(std::placeholders::_3)>::type > { enum _vt { value = 3
> }; };
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../ndn-cxx/detail/common.hpp:102:1: note: previous definition is here
> NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER(3)
> ^
> ../ndn-cxx/detail/common.hpp:94:10: note: expanded from macro
> 'NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER'
>   struct is_placeholder<std::remove_const_t<decltype(_##N)>> \
>          ^
> In file included from <built-in>:1:
> In file included from ./../ndn-cxx/impl/common-pch.hpp:44:
> In file included from /usr/local/include/boost/bind/bind.hpp:31:
> /usr/local/include/boost/bind/std_placeholders.hpp:28:19: error:
> redefinition of 'is_placeholder<std::__1::placeholders::__ph<4>>'
> template<> struct is_placeholder< typename
> std::decay<decltype(std::placeholders::_4)>::type > { enum _vt { value = 4
> }; };
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../ndn-cxx/detail/common.hpp:103:1: note: previous definition is here
> NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER(4)
> ^
> ../ndn-cxx/detail/common.hpp:94:10: note: expanded from macro
> 'NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER'
>   struct is_placeholder<std::remove_const_t<decltype(_##N)>> \
>          ^
> In file included from <built-in>:1:
> In file included from ./../ndn-cxx/impl/common-pch.hpp:44:
> In file included from /usr/local/include/boost/bind/bind.hpp:31:
> /usr/local/include/boost/bind/std_placeholders.hpp:29:19: error:
> redefinition of 'is_placeholder<std::__1::placeholders::__ph<5>>'
> template<> struct is_placeholder< typename
> std::decay<decltype(std::placeholders::_5)>::type > { enum _vt { value = 5
> }; };
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../ndn-cxx/detail/common.hpp:104:1: note: previous definition is here
> NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER(5)
> ^
> ../ndn-cxx/detail/common.hpp:94:10: note: expanded from macro
> 'NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER'
>   struct is_placeholder<std::remove_const_t<decltype(_##N)>> \
>          ^
> In file included from <built-in>:1:
> In file included from ./../ndn-cxx/impl/common-pch.hpp:44:
> In file included from /usr/local/include/boost/bind/bind.hpp:31:
> /usr/local/include/boost/bind/std_placeholders.hpp:30:19: error:
> redefinition of 'is_placeholder<std::__1::placeholders::__ph<6>>'
> template<> struct is_placeholder< typename
> std::decay<decltype(std::placeholders::_6)>::type > { enum _vt { value = 6
> }; };
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../ndn-cxx/detail/common.hpp:105:1: note: previous definition is here
> NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER(6)
> ^
> ../ndn-cxx/detail/common.hpp:94:10: note: expanded from macro
> 'NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER'
>   struct is_placeholder<std::remove_const_t<decltype(_##N)>> \
>          ^
> In file included from <built-in>:1:
> In file included from ./../ndn-cxx/impl/common-pch.hpp:44:
> In file included from /usr/local/include/boost/bind/bind.hpp:31:
> /usr/local/include/boost/bind/std_placeholders.hpp:31:19: error:
> redefinition of 'is_placeholder<std::__1::placeholders::__ph<7>>'
> template<> struct is_placeholder< typename
> std::decay<decltype(std::placeholders::_7)>::type > { enum _vt { value = 7
> }; };
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../ndn-cxx/detail/common.hpp:106:1: note: previous definition is here
> NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER(7)
> ^
> ../ndn-cxx/detail/common.hpp:94:10: note: expanded from macro
> 'NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER'
>   struct is_placeholder<std::remove_const_t<decltype(_##N)>> \
>          ^
> In file included from <built-in>:1:
> In file included from ./../ndn-cxx/impl/common-pch.hpp:44:
> In file included from /usr/local/include/boost/bind/bind.hpp:31:
> /usr/local/include/boost/bind/std_placeholders.hpp:32:19: error:
> redefinition of 'is_placeholder<std::__1::placeholders::__ph<8>>'
> template<> struct is_placeholder< typename
> std::decay<decltype(std::placeholders::_8)>::type > { enum _vt { value = 8
> }; };
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../ndn-cxx/detail/common.hpp:107:1: note: previous definition is here
> NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER(8)
> ^
> ../ndn-cxx/detail/common.hpp:94:10: note: expanded from macro
> 'NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER'
>   struct is_placeholder<std::remove_const_t<decltype(_##N)>> \
>          ^
> In file included from <built-in>:1:
> In file included from ./../ndn-cxx/impl/common-pch.hpp:44:
> In file included from /usr/local/include/boost/bind/bind.hpp:31:
> /usr/local/include/boost/bind/std_placeholders.hpp:33:19: error:
> redefinition of 'is_placeholder<std::__1::placeholders::__ph<9>>'
> template<> struct is_placeholder< typename
> std::decay<decltype(std::placeholders::_9)>::type > { enum _vt { value = 9
> }; };
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../ndn-cxx/detail/common.hpp:108:1: note: previous definition is here
> NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER(9)
> ^
> ../ndn-cxx/detail/common.hpp:94:10: note: expanded from macro
> 'NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER'
>   struct is_placeholder<std::remove_const_t<decltype(_##N)>> \
>          ^
> 9 errors generated.
>
> Waf: Leaving directory `/Users/tanimrayhan/Desktop/untitled
> folder/ndn-cxx-ndn-cxx-0.7.1/build'
> Build failed
>  -> task in 'ndn-cxx' failed with exit status 1 (run with -v to display
> more information)
>
>
> Can anyone please guide me to solve this issue? I also tried to build on
> the Raspberry Pi OS and got the same error.
>
> Regards,
> T M Rayhan Gias
>
>
>
> _______________________________________________
> Ndn-interest mailing list
> Ndn-interest at lists.cs.ucla.edu
> https://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20220728/19abd3f7/attachment-0001.html>


More information about the Ndn-interest mailing list