2016-12-16 125 views
1

我試圖在Ubuntu 16.04上構建RedHawkSdr CF。似乎這應該是一個相對容易的操作,但我不知道該從哪裏開始看這個問題。我相信我遵循了所有關於依賴和環境變量的特定於Ubuntu的指令。Ubuntu上的RedHawk構建失敗16.04

我得到這個錯誤:

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) 

我下載的每指令的依賴關係,雖然我更新回購時發現一個錯誤:

E: Failed to fetch http://ppa.launchpad.net/redhawksdr/redhawk/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found

E: Some index files failed to download. They have been ignored, or old ones used instead.

我不知道,如果這是否造成任何問題。

回答

1

看起來這是一個expat中的錯誤,這裏是一個link,它提供了一些類似錯誤的差異。

你需要將相同類型的修復,在elements.txx線282變化parser == 0parser.get() == 0

這是外籍人士的混帳回購協議的當前HEAD貌似和他們有相同的修訂

做出修復後,框架應該編譯。

關於404錯誤,在Trusty(14.04)中只有ppa中的軟件包。你可以看到here。在16.04的默認存儲庫中可用的omniEvents包在大多數情況下應該可以正常工作。

+0

工作正常!我正準備修改expat代碼,這真的爲我節省了一些時間。 –

+0

很高興幫助! –