[Nfd-dev] trouble building ndn-cxx on Raspberry Pi

Junxiao Shi shijunxiao at email.arizona.edu
Sun Jul 30 15:08:10 PDT 2017


Hi Anthony

This may have something to do with the changed std::string ABI in GCC5.
When Boost is compiled with GCC and ndn-cxx is compiled with Clang, there
is an ABI mismatch, causing the linker error.
The standard solution would be recompiling Boost with Clang. But compiling
Boost on a Pi would take very long time.

I've CC'ed Davide our compiler expert, to see if he knows something about
this ABI problem.

Yours, Junxiao

On Tue, Jul 25, 2017 at 11:03 AM, Anthony Dowling <dowlinah at clarkson.edu>
wrote:

> Hello again,
>
> Clang compiled everything successfully, but now when its linking, it gives
> me this error. It looks like some sort of header error to me. Does anyone
> know how to fix this?
>
> Thanks,
> Anthony
>
> pi at car3:~/ndn-cxx$ ./waf
> Waf: Entering directory `/home/pi/ndn-cxx/build'
> [201/202] Linking build/bin/ndnsec
> ./libndn-cxx.so: error: undefined reference to
> 'boost::re_detail::cpp_regex_traits_implementation<char>::
> transform_primary[abi:cxx11](char const*, char const*) const'
> ./libndn-cxx.so: error: undefined reference to
> 'boost::re_detail::cpp_regex_traits_implementation<char>::transform[abi:cxx11](char
> const*, char const*) const'
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
>
> Waf: Leaving directory `/home/pi/ndn-cxx/build'
> Build failed
>  -> task in '../bin/ndnsec' failed (exit status 1):
>     {task 1986846896: cxxprogram cert-dump.cpp.1.o,cert-gen.
> cpp.1.o,cert-install.cpp.1.o,delete.cpp.1.o,export.cpp.1.o,
> get-default.cpp.1.o,import.cpp.1.o,key-gen.cpp.1.o,list.
> cpp.1.o,main.cpp.1.o,set-default.cpp.1.o,sign-req.cpp.
> 1.o,unlock-tpm.cpp.1.o,util.cpp.1.o -> ndnsec}
> ['clang++', '-fuse-ld=gold', '-Wl,-O1', '-pthread',
> 'tools/ndnsec/cert-dump.cpp.1.o', 'tools/ndnsec/cert-gen.cpp.1.o',
> 'tools/ndnsec/cert-install.cpp.1.o', 'tools/ndnsec/delete.cpp.1.o',
> 'tools/ndnsec/export.cpp.1.o', 'tools/ndnsec/get-default.cpp.1.o',
> 'tools/ndnsec/import.cpp.1.o', 'tools/ndnsec/key-gen.cpp.1.o',
> 'tools/ndnsec/list.cpp.1.o', 'tools/ndnsec/main.cpp.1.o',
> 'tools/ndnsec/set-default.cpp.1.o', 'tools/ndnsec/sign-req.cpp.1.o',
> 'tools/ndnsec/unlock-tpm.cpp.1.o', 'tools/ndnsec/util.cpp.1.o', '-o',
> '/home/pi/ndn-cxx/build/bin/ndnsec', '-Wl,-Bstatic', '-L.',
> '-L/usr/lib/arm-linux-gnueabihf', '-Wl,-Bdynamic', '-L.',
> '-L/usr/lib/arm-linux-gnueabihf', '-L/usr/lib', '-L/usr/lib',
> '-lndn-cxx', '-lboost_system', '-lboost_filesystem', '-lboost_date_time',
> '-lboost_iostreams', '-lboost_regex', '-lboost_program_options',
> '-lboost_chrono', '-lboost_thread', '-lboost_log', '-lboost_log_setup',
> '-lcryptopp', '-lssl', '-lcrypto', '-lsqlite3', '-lrt', '-lpthread']
> pi at car3:~/ndn-cxx$
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/nfd-dev/attachments/20170730/1db15377/attachment.html>


More information about the Nfd-dev mailing list