首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu16.04上的RedHawk构建失败

Ubuntu16.04上的RedHawk构建失败
EN

Stack Overflow用户
提问于 2016-12-16 18:22:30
回答 1查看 373关注 0票数 1

我正在Ubuntu16.04上构建RedHawkSdr CF。似乎这应该是一个相对容易的操作,但我不知道从哪里开始研究这个问题。我相信我遵循了关于依赖项和环境变量的所有特定于Ubuntu的说明。

我得到了一个错误:

代码语言:javascript
复制
make[2]: Entering directory '/home/brasssm1/workspace/draco/redhawk-src-2.0.3/redhawk/src/control/parser'
xsdcxx cxx-parser --root-element deviceconfiguration --type-map internal/dcd.map --hxx-suffix .h --cxx-suffix .cpp --xml-parser expat --output-dir internal --generate-validation ../../xml/xsd/dcd.xsd; sed -i 's/ns == "urn:mil:jpeojtrs:sca:dcd"/ns.empty()/g' internal/dcd-pskel.cpp; sed -i 's/"urn:mil:jpeojtrs:sca:dcd"/""/g' internal/dcd-pskel.cpp 
xsdcxx cxx-parser --root-element domainmanagerconfiguration --type-map internal/dmd.map --hxx-suffix .h --cxx-suffix .cpp --xml-parser expat --output-dir internal --generate-validation ../../xml/xsd/dmd.xsd; sed -i 's/ns == "urn:mil:jpeojtrs:sca:dmd"/ns.empty()/g' internal/dmd-pskel.cpp; sed -i 's/"urn:mil:jpeojtrs:sca:dmd"/""/g' internal/dmd-pskel.cpp 
xsdcxx cxx-parser --root-element devicepkg --hxx-suffix .h --cxx-suffix .cpp --xml-parser expat --output-dir internal --generate-validation ../../xml/xsd/dpd.xsd
xsdcxx cxx-parser --root-element properties --type-map internal/prf.map --hxx-suffix .h --cxx-suffix .cpp --xml-parser expat --output-dir internal --generate-validation ../../xml/xsd/prf.xsd; sed -i 's/ns == "urn:mil:jpeojtrs:sca:prf"/ns.empty()/g' internal/prf-pskel.cpp; sed -i 's/"urn:mil:jpeojtrs:sca:prf"/""/g' internal/prf-pskel.cpp
xsdcxx cxx-parser --root-element profile --hxx-suffix .h --cxx-suffix .cpp --xml-parser expat --output-dir internal --generate-validation ../../xml/xsd/profile.xsd
xsdcxx cxx-parser --root-element softwareassembly --type-map internal/sad.map --hxx-suffix .h --cxx-suffix .cpp --xml-parser expat --output-dir internal --generate-validation ../../xml/xsd/sad.xsd; sed -i 's/ns == "urn:mil:jpeojtrs:sca:sad"/ns.empty()/g' internal/sad-pskel.cpp; sed -i 's/"urn:mil:jpeojtrs:sca:sad"/""/g' internal/sad-pskel.cpp
xsdcxx cxx-parser --root-element softwarecomponent --type-map internal/scd.map --hxx-suffix .h --cxx-suffix .cpp --xml-parser expat --output-dir internal --generate-validation ../../xml/xsd/scd.xsd; sed -i 's/ns == "urn:mil:jpeojtrs:sca:scd"/ns.empty()/g' internal/scd-pskel.cpp; sed -i 's/"urn:mil:jpeojtrs:sca:scd"/""/g' internal/scd-pskel.cpp
xsdcxx cxx-parser --root-element softpkg --type-map internal/spd.map --hxx-suffix .h --cxx-suffix .cpp --xml-parser expat --output-dir internal --generate-validation ../../xml/xsd/spd.xsd; sed -i 's/ns == "urn:mil:jpeojtrs:sca:spd"/ns.empty()/g' internal/spd-pskel.cpp; sed -i 's/"urn:mil:jpeojtrs:sca:spd"/""/g' internal/spd-pskel.cpp 
make  all-am
make[3]: Entering directory '/home/brasssm1/workspace/draco/redhawk-src-2.0.3/redhawk/src/control/parser'
  CXX      libossieparser_la-Properties.lo
  CXX      libossieparser_la-debug.lo
  CXX      libossieparser_la-SoftPkg.lo
  CXX      libossieparser_la-DomainManagerConfiguration.lo
  CXX      libossieparser_la-ComponentDescriptor.lo
  CXX      libossieparser_la-SoftwareAssembly.lo
  CXX      libossieparser_la-componentProfile.lo
  CXX      libossieparser_la-DeviceManagerConfiguration.lo
  CXX      internal/libossieparser_la-prf-pskel.lo
In file included from /usr/include/xsd/cxx/parser/expat/elements.hxx:362:0,
                 from internal/sad-pskel.h:114,
                 from internal/sad-pimpl.h:30,
                 from internal/sad-parser.h:27,
                 from SoftwareAssembly.cpp:22:
/usr/include/xsd/cxx/parser/expat/elements.txx: In member function ‘bool xsd::cxx::parser::expat::document<C>::parse(std::istream&, const std::__cxx11::basic_string<_CharT>*, const std::__cxx11::basic_string<_CharT>*, xsd::cxx::xml::error_handler<C>&)’:
/usr/include/xsd/cxx/parser/expat/elements.txx:282:22: error: no match for ‘operator==’ (operand types are ‘xsd::cxx::parser::expat::parser_auto_ptr’ and ‘int’)
           if (parser == 0)
                      ^
In file included from /usr/include/xsd/cxx/parser/xml-schema.hxx:569:0,
                 from internal/sad-pskel.h:109,
                 from internal/sad-pimpl.h:30,
                 from internal/sad-parser.h:27,
                 from SoftwareAssembly.cpp:22:
/usr/include/xsd/cxx/parser/xml-schema.txx:15:7: note: candidate: template<class C> bool xsd::cxx::parser::operator==(const xsd::cxx::parser::string_sequence<C>&, const xsd::cxx::parser::string_sequence<C>&)
       operator== (const string_sequence<C>& a, const string_sequence<C>& b)
       ^
/usr/include/xsd/cxx/parser/xml-schema.txx:15:7: note:   template argument deduction/substitution failed:
In file included from /usr/include/xsd/cxx/parser/expat/elements.hxx:362:0,
                 from internal/sad-pskel.h:114,
                 from internal/sad-pimpl.h:30,
                 from internal/sad-parser.h:27,
                 from SoftwareAssembly.cpp:22:
/usr/include/xsd/cxx/parser/expat/elements.txx:282:25: note:   ‘xsd::cxx::parser::expat::parser_auto_ptr’ is not derived from ‘const xsd::cxx::parser::string_sequence<C>’
           if (parser == 0)

我根据指令下载了依赖项,但在更新repos时注意到了一个错误:

E:未能获取http://ppa.launchpad.net/redhawksdr/redhawk/ubuntu/dists/xenial/main/binary-amd64/Packages 404未找到 E:有些索引文件下载失败。他们被忽略了,或者用旧的代替。

我不确定这是否会引起任何问题。

EN

回答 1

Stack Overflow用户

发布于 2016-12-17 16:41:39

看起来这是expat中的一个bug,这里是一个链接,它为类似的bug提供了一些差异。

您需要应用相同类型的修复,在elements.txx第282行中,将parser == 0更改为parser.get() == 0

这就是当前expat的git的,它们具有相同的修复程序

在进行了修复之后,框架应该进行编译。

对于404错误,只有ppa中的包是可靠的(14.04)。你可以看到那个这里。在大多数情况下,16.04默认存储库中可用的omniEvents包应该工作得很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41190266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档