Closed JulyJohn closed 6 years ago
Make sure you source the settings.sh file in the SDAccel install directory, the Makefile depends on the environment variables being set from that script.
Also in Centos 7 cblas and atlas require symbolic links to I think satlas and tatlas because the naming scheme changed. I can't remember exactly what the symbolic links need to be since most of my builds have been done with Centos 6.
Also, if you want to build some of the standalone FPGA tests, you can run make testfpga which will build the FPGA tests. Some of these might fail depending on what the exponent and mantissa settings are in include/fpga_caffe/cpfp.hpp though it's not indicative that there will actually be an accuracy drop.
Hi, @dicecco1 thanks for your reply :-)
I thought I have solved the prolem above. But when the compile process almost comes to an end, I got an erro like this:
CXX .build_release/src/caffe/proto/caffe.pb.cc
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
CXX/LD -o .build_release/tools/caffe.bin
CXX/LD -o .build_release/tools/compute_image_mean.bin
CXX/LD -o .build_release/tools/convert_imageset.bin
CXX/LD -o .build_release/tools/device_query.bin
CXX/LD -o .build_release/tools/extract_features.bin
CXX/LD -o .build_release/tools/finetune_net.bin
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlOutputBufferCreateFile@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNodeGetContent@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewChild@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewDocNode@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedInputStream::~CodedInputStream()'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::GetTypeName() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::Delete(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::kEmptyString'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseCharEncoding@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&))'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseFile@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedInputStream::default_recursion_limit_'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlSearchNsByHref@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::DebugString() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilLimit() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytes(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFindCharEncodingHandler@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::New()'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlSaveFormatFileTo@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::MessageLite::ParseFromString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseMemory@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFree@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlDocGetRootElement@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::GoogleOnceInitImpl(long*, google::protobuf::Closure*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFreeDoc@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewNs@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewDoc@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteString(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::DescriptorPool::FindFileByName(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::InitializationErrorString() const'
collect2: ld returned 1 exit status
make: *** [.build_release/tools/finetune_net.bin] Error 1
make: *** Waiting for unfinished jobs....
.build_release/tools/convert_imageset.o: In function `main':
convert_imageset.cpp:(.text.startup+0x7fe): undefined reference to `google::protobuf::MessageLite::SerializeToString(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlOutputBufferCreateFile@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNodeGetContent@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewChild@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewDocNode@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedInputStream::~CodedInputStream()'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::GetTypeName() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::Delete(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::kEmptyString'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseCharEncoding@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&))'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseFile@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedInputStream::default_recursion_limit_'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlSearchNsByHref@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::DebugString() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilLimit() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytes(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFindCharEncodingHandler@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::New()'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlSaveFormatFileTo@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::MessageLite::ParseFromString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseMemory@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFree@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlDocGetRootElement@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::GoogleOnceInitImpl(long*, google::protobuf::Closure*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFreeDoc@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewNs@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewDoc@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteString(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::DescriptorPool::FindFileByName(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::InitializationErrorString() const'
collect2: ld returned 1 exit status
make: *** [.build_release/tools/convert_imageset.bin] Error 1
.build_release/tools/extract_features.o: In function `int feature_extraction_pipeline<float>(int, char**)':
extract_features.cpp:(.text._Z27feature_extraction_pipelineIfEiiPPc[int feature_extraction_pipeline<float>(int, char**)]+0xb8a): undefined reference to `google::protobuf::internal::kEmptyString'
extract_features.cpp:(.text._Z27feature_extraction_pipelineIfEiiPPc[int feature_extraction_pipeline<float>(int, char**)]+0x117b): undefined reference to `google::protobuf::MessageLite::SerializeToString(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlOutputBufferCreateFile@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNodeGetContent@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewChild@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewDocNode@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedInputStream::~CodedInputStream()'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::GetTypeName() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::Delete(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseCharEncoding@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&))'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseFile@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedInputStream::default_recursion_limit_'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlSearchNsByHref@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::DebugString() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilLimit() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytes(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFindCharEncodingHandler@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::New()'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlSaveFormatFileTo@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::MessageLite::ParseFromString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseMemory@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFree@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlDocGetRootElement@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::GoogleOnceInitImpl(long*, google::protobuf::Closure*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFreeDoc@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewNs@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewDoc@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteString(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::DescriptorPool::FindFileByName(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::InitializationErrorString() const'
collect2: ld returned 1 exit status
make: *** [.build_release/tools/extract_features.bin] Error 1
/.build_releaseusr//toolslib64//compute_image_mean.olibgstreamer:- 0.10.so.0In: functionundefined `referencemain 'to:
`compute_image_mean.cppxmlOutputBufferCreateFile:@(LIBXML2_2.4.30.'text.startup
+/0x14fusr)/:lib64 /undefinedlibgstreamer -reference0.10.so.0 :to undefined` reference to `xmlNodeGetContent@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::MessageLite::ParseFromString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
compute_image_mean.cpp:(.text.startup+0x2c2): undefined referencegoogle::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*) 'to
/`usr/lib64google::protobuf::MessageLite::ParseFromString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)/'libgstreamer
-/0.10.so.0usr:/ lib64undefined/ libgstreamerreference- 0.10.so.0to: `undefinedxmlNewChild @referenceLIBXML2_2.4.30 'to
/`usrxmlOutputBufferCreateFile/@lib64LIBXML2_2.4.30/'libgstreamer
-/0.10.so.0usr:/ lib64undefined/ libgstreamerreference- 0.10.so.0to: `undefinedxmlNewDocNode @referenceLIBXML2_2.4.30 'to
.`build_releasexmlNodeGetContent/@libLIBXML2_2.4.30/'libcaffe.so
:. build_releaseundefined/ libreference/ libcaffe.soto: `undefined reference google::protobuf::io::CodedInputStream::~CodedInputStream()to'
`.build_release/lib/libcaffe.sogoogle::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*):'
undefined/ usrreference/ lib64to/ libgstreamer`-0.10.so.0:google::protobuf::Message::GetTypeName() const 'undefined
.referencebuild_release /tolib /`libcaffe.soxmlNewChild:@ LIBXML2_2.4.30undefined'
reference/ usrto/ lib64`/libgstreamer-google::protobuf::internal::StringTypeHandlerBase::Delete(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)0.10.so.0':
.undefinedbuild_release /referencelib /tolibcaffe.so :` xmlNewDocNodeundefined@ LIBXML2_2.4.30reference'
to. build_release`/libgoogle::protobuf::internal::kEmptyString/'libcaffe.so
:/ usrundefined/ lib64reference/ libgstreamerto- 0.10.so.0`: undefinedgoogle::protobuf::io::CodedInputStream::~CodedInputStream() 'reference
.tobuild_release /`libxmlParseCharEncoding/@libcaffe.soLIBXML2_2.4.30:'
undefined. build_releasereference/ libto/ libcaffe.so`: google::protobuf::Message::GetTypeName() constundefined'
reference. build_releaseto/ lib`/libcaffe.so: google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&))undefined'
reference/ usrto/ lib64`/libgstreamergoogle::protobuf::internal::StringTypeHandlerBase::Delete(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)-'0.10.so.0
:. build_releaseundefined/ libreference/ libcaffe.soto: `undefinedxmlParseFile @referenceLIBXML2_2.4.30 'to
.`build_release/google::protobuf::internal::kEmptyStringlib'/
libcaffe.so/:usr /undefinedlib64 /referencelibgstreamer -to0.10.so.0 :` undefinedgoogle::protobuf::io::CodedInputStream::default_recursion_limit_ 'reference
/tousr /`lib64xmlParseCharEncoding/@libgstreamerLIBXML2_2.4.30-'0.10.so.0
:. build_releaseundefined/ libreference/ libcaffe.soto: `undefinedxmlSearchNsByHref @referenceLIBXML2_2.4.30 'to
.`build_release/lib/google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&))libcaffe.so':
/undefinedusr /referencelib64 /tolibgstreamer -`0.10.so.0:google::protobuf::Message::DebugString() const 'undefined
.referencebuild_release /tolib /`libcaffe.soxmlParseFile:@ LIBXML2_2.4.30undefined'
reference. build_releaseto/ lib`/libcaffe.sogoogle::protobuf::io::CodedInputStream::BytesUntilLimit() const:'
undefined. build_releasereference/ libto/ libcaffe.so`: google::protobuf::io::CodedInputStream::default_recursion_limit_undefined'
reference/ usrto/ lib64`/libgstreamer-0.10.so.0: undefinedgoogle::protobuf::internal::WireFormatLite::WriteBytes(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*) 'reference
/tousr /`lib64xmlSearchNsByHref/@libgstreamerLIBXML2_2.4.30-'0.10.so.0
:. build_releaseundefined/ libreference/ libcaffe.soto: `undefinedxmlFindCharEncodingHandler @referenceLIBXML2_2.4.30 'to
.`build_release/google::protobuf::Message::DebugString() constlib'/
libcaffe.so.:build_release /undefinedlib /referencelibcaffe.so :to undefined` referencegoogle::protobuf::internal::StringTypeHandlerBase::New() 'to
/`usr/google::protobuf::io::CodedInputStream::BytesUntilLimit() constlib64'/
libgstreamer.-build_release0.10.so.0/:lib /undefinedlibcaffe.so :reference undefinedto reference` xmlSaveFormatFileToto@ LIBXML2_2.4.30`'
.google::protobuf::internal::WireFormatLite::WriteBytes(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)build_release'/
lib//usrlibcaffe.so/:lib64 /undefinedlibgstreamer -reference0.10.so.0 :to undefined` reference google::protobuf::MessageLite::ParseFromString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)to'
`/xmlFindCharEncodingHandlerusr@/LIBXML2_2.4.30lib64'/
libgstreamer.-build_release0.10.so.0/:lib /undefinedlibcaffe.so :reference undefinedto reference` xmlParseMemoryto@ LIBXML2_2.4.30`'
google::protobuf::internal::StringTypeHandlerBase::New()/'usr
//lib64usr//libgstreamerlib64-/0.10.so.0libgstreamer:- 0.10.so.0undefined: referenceundefined toreference `toxmlFree @`LIBXML2_2.4.30xmlSaveFormatFileTo'@
LIBXML2_2.4.30.'build_release
//libusr//libcaffe.solib64:/ libgstreamerundefined- 0.10.so.0reference: toundefined `reference togoogle::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int) '`
xmlParseMemory/@usrLIBXML2_2.4.30/'lib64
//libgstreamerusr-/0.10.so.0lib64:/ libgstreamerundefined- 0.10.so.0reference: toundefined `referencexmlDocGetRootElement @to LIBXML2_2.4.30`'xmlFree
@.LIBXML2_2.4.30build_release'/
lib./build_releaselibcaffe.so/:lib /undefinedlibcaffe.so :reference undefinedto reference` togoogle::protobuf::GoogleOnceInitImpl(long*, google::protobuf::Closure*) '`
/usrgoogle::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)/'lib64
//libgstreamerusr-/0.10.so.0lib64:/ libgstreamerundefined- 0.10.so.0reference: toundefined `referencexmlFreeDoc @toLIBXML2_2.4.30 '`
xmlDocGetRootElement/@usrLIBXML2_2.4.30/'lib64
/.libgstreamerbuild_release-/0.10.so.0lib:/ libcaffe.soundefined: referenceundefined toreference `toxmlNewNs @`LIBXML2_2.4.30'
google::protobuf::GoogleOnceInitImpl(long*, google::protobuf::Closure*)/'usr
//lib64usr//libgstreamerlib64-/0.10.so.0libgstreamer:- 0.10.so.0undefined: referenceundefined toreference `toxmlNewDoc @`LIBXML2_2.4.30xmlFreeDoc'@
LIBXML2_2.4.30.'build_release
//usr/liblib64//libcaffe.solibgstreamer:- 0.10.so.0undefined: referenceundefined toreference `to `xmlNewNs@LIBXML2_2.4.30google::protobuf::internal::WireFormatLite::WriteString(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)'
'/
usr./build_releaselib64//liblibgstreamer/-libcaffe.so0.10.so.0:: undefinedundefined referencereference toto ``xmlNewDoc@google::protobuf::DescriptorPool::FindFileByName(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) constLIBXML2_2.4.30''
..build_releasebuild_release//liblib//libcaffe.solibcaffe.so:: undefinedundefined referencereference toto ``google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'google::protobuf::internal::WireFormatLite::WriteString(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)
'.
build_release./build_releaselib//liblibcaffe.so/:libcaffe.so :undefined undefinedreference referenceto to` `google::protobuf::Message::InitializationErrorString() const'google::protobuf::DescriptorPool::FindFileByName(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const
'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
.collect2: build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::InitializationErrorString() const'
ld returned 1 exit status
collect2: ld returned 1 exit status
make: *** [.build_release/tools/compute_image_mean.bin] Error 1
make: *** [.build_release/tools/device_query.bin] Error 1
.build_release/tools/caffe.o: In function `train()':
caffe.cpp:(.text+0x3130): undefined reference to `google::protobuf::internal::StringTypeHandlerBase::New()'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlOutputBufferCreateFile@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNodeGetContent@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewChild@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewDocNode@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedInputStream::~CodedInputStream()'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::GetTypeName() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::Delete(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::kEmptyString'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseCharEncoding@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&))'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseFile@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedInputStream::default_recursion_limit_'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlSearchNsByHref@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::DebugString() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilLimit() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytes(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFindCharEncodingHandler@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlSaveFormatFileTo@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::MessageLite::ParseFromString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseMemory@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFree@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlDocGetRootElement@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::GoogleOnceInitImpl(long*, google::protobuf::Closure*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFreeDoc@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewNs@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewDoc@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteString(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::DescriptorPool::FindFileByName(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::InitializationErrorString() const'
collect2: ld returned 1 exit status
make: *** [.build_release/tools/caffe.bin] Error 1
it seems that the protobuf happens to some problem, could you provide any suggestion on this?
Which version of protobuf do you have? I saw some issues a while ago that forced me to use an earlier version of protobuf because of the version that SDAccel uses. It doesn't look like it's the exact same issue but it might help out regardless.
I did see some similar issues when trying to build on Ubuntu 16.04, which again I think was related to the version of protobuf that was used.
@dicecco1 I'm using protobuf-2.5.0-8.el7.x86_64, and I think it's an old enough version :-) Could you specify which version you are using? Maybe that helps.
I used 2.4.1 installed from the git repo.
Hi,@dicecco1
after uninstall the protobuf v2.5.0, I compile and install the v2.4.1 from the git repo.
"make all" again, I got this erro:
CXX src/caffe/util/upgrade_proto.cpp
AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so.1.0.0
CXX tools/caffe.cpp
CXX/LD -o .build_release/tools/caffe.bin
.build_release/tools/caffe.o: In function `train()':
caffe.cpp:(.text+0x3128): undefined reference to `google::protobuf::internal::StringTypeHandlerBase::New()'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlOutputBufferCreateFile@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNodeGetContent@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewChild@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewDocNode@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::GetTypeName() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::Delete(std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::kEmptyString'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseCharEncoding@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&))'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseFile@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlSearchNsByHref@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::DebugString() const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytes(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFindCharEncodingHandler@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlSaveFormatFileTo@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::MessageLite::ParseFromString(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlParseMemory@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFree@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::NameOfEnum(google::protobuf::EnumDescriptor const*, int)'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlDocGetRootElement@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlFreeDoc@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewNs@LIBXML2_2.4.30'
/usr/lib64/libgstreamer-0.10.so.0: undefined reference to `xmlNewDoc@LIBXML2_2.4.30'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteString(int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::DescriptorPool::FindFileByName(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*)'
.build_release/lib/libcaffe.so: undefined reference to `google::protobuf::Message::InitializationErrorString() const'
collect2: ld returned 1 exit status
make: *** [.build_release/tools/caffe.bin] Error 1
it's more likely that the "libgstreamer-0.10.so.0" is the actual problem, do you have any suggestion?
Are you able to build standalone Caffe? Trying to diagnose if this is a problem related to one of the libraries used by SDAccel or not. It looks like it's a problem with whatever version of libxml you have judging from: xmlFree@LIBXML2_2.4.30
hi, @dicecco1
I have built up the CPU version Caffe successfully on the same machine, but when I try to build up your caffe again, it still gives the same erro.
I'm using centos7 and SDAccel 2017.1. When I want to compile following your instructs in https://github.com/dicecco1/fpga_caffe/issues/3#issuecomment-321656459
After command "make all", I got a problem like this :
So, where shall I found the lxilinxopencl?
or could you please give a more detailed installation tutorial, such as how did you modify your Makefile.config ?