Qt on Pi Zero - XmlPatterns linker error



  • I am trying to build Qt on a Pi Zero. I am following this post:

    wiki.qt.io/Native_Build_of_Qt5_on_a_Raspberry_Pi

    I am at the make step. I am getting these errors. Please let me know what to do (the error is near the bottom. I wanted to show the command so you would know where it is at in the build process):

    /usr/bin/g++ -Wl,-rpath-link,/opt/vc/lib
    -Wl,-rpath-link,/usr/lib/arm-linux-gnueabihf
    -Wl,-rpath-link,/lib/arm-linux-gnueabihf -mfloat-abi=hard
    -Wl,--no-undefined -Wl,--version-script,QtXmlPatterns.version -Wl,-O1
    -fuse-ld=gold -Wl,--enable-new-dtags -Wl,-z,origin -Wl,-rpath,$ORIGIN
    -shared -Wl,-soname,libQt5XmlPatterns.so.5 -o
    libQt5XmlPatterns.so.5.6.1 .obj/qacceltree.o
    .obj/qacceltreeresourceloader.o .obj/qacceliterators.o
    .obj/qcompressedwhitespace.o .obj/qvariableloader.o
    .obj/qabstractmessagehandler.o .obj/qabstracturiresolver.o
    .obj/qabstractxmlnodemodel.o .obj/qabstractxmlpullprovider.o
    .obj/qabstractxmlreceiver.o .obj/qiodevicedelegate.o
    .obj/qnetworkaccessdelegator.o .obj/qpullbridge.o
    .obj/qresourcedelegator.o .obj/qsimplexmlnodemodel.o
    .obj/qsourcelocation.o .obj/quriloader.o .obj/qxmlformatter.o
    .obj/qxmlname.o .obj/qxmlnamepool.o .obj/qxmlquery.o
    .obj/qxmlresultitems.o .obj/qxmlserializer.o
    .obj/qcoloringmessagehandler.o .obj/qcoloroutput.o .obj/qxmlschema.o
    .obj/qxmlschema_p.o .obj/qxmlschemavalidator.o
    .obj/qabstractdatetime.o .obj/qabstractduration.o .obj/qanyuri.o
    .obj/qatomiccaster.o .obj/qatomiccasters.o .obj/qatomiccomparator.o
    .obj/qatomiccomparators.o .obj/qatomicmathematician.o
    .obj/qatomicmathematicians.o .obj/qatomicstring.o .obj/qatomicvalue.o
    .obj/qbase64binary.o .obj/qboolean.o .obj/qcommonvalues.o
    .obj/qcomparisonfactory.o .obj/qdate.o .obj/qdaytimeduration.o
    .obj/qdecimal.o .obj/qduration.o .obj/qgday.o .obj/qgmonth.o
    .obj/qgmonthday.o .obj/qgyear.o .obj/qgyearmonth.o .obj/qhexbinary.o
    .obj/qinteger.o .obj/qitem.o .obj/qnodebuilder.o .obj/qnodemodel.o
    .obj/qqnamevalue.o .obj/qresourceloader.o .obj/qschemadatetime.o
    .obj/qschemanumeric.o .obj/qschematime.o .obj/qsorttuple.o
    .obj/quntypedatomic.o .obj/qvalidationerror.o .obj/qvaluefactory.o
    .obj/qyearmonthduration.o .obj/qcurrentitemcontext.o
    .obj/qdelegatingdynamiccontext.o .obj/qdelegatingstaticcontext.o
    .obj/qdynamiccontext.o .obj/qfocus.o .obj/qgenericdynamiccontext.o
    .obj/qgenericstaticcontext.o .obj/qreceiverdynamiccontext.o
    .obj/qreportcontext.o .obj/qstaticbaseuricontext.o
    .obj/qstaticcontext.o .obj/qstaticcurrentcontext.o
    .obj/qstaticfocuscontext.o .obj/qstaticcompatibilitycontext.o
    .obj/qstaticnamespacecontext.o .obj/qandexpression.o
    .obj/qapplytemplate.o .obj/qargumentreference.o
    .obj/qarithmeticexpression.o .obj/qattributeconstructor.o
    .obj/qattributenamevalidator.o .obj/qaxisstep.o .obj/qcallsite.o
    .obj/qcalltargetdescription.o .obj/qcalltemplate.o .obj/qcastableas.o
    .obj/qcastas.o .obj/qcollationchecker.o .obj/qcombinenodes.o
    .obj/qcommentconstructor.o .obj/qcomputednamespaceconstructor.o
    .obj/qcontextitem.o .obj/qcopyof.o .obj/qcurrentitemstore.o
    .obj/qdocumentconstructor.o .obj/qdocumentcontentvalidator.o
    .obj/qdynamiccontextstore.o .obj/qelementconstructor.o
    .obj/qemptycontainer.o .obj/qemptysequence.o .obj/qexpression.o
    .obj/qexpressionfactory.o .obj/qexpressionsequence.o
    .obj/qexpressionvariablereference.o .obj/qexternalvariableloader.o
    .obj/qexternalvariablereference.o .obj/qfirstitempredicate.o
    .obj/qforclause.o .obj/qgeneralcomparison.o .obj/qgenericpredicate.o
    .obj/qifthenclause.o .obj/qinstanceof.o .obj/qletclause.o
    .obj/qliteral.o .obj/qliteralsequence.o .obj/qnamespaceconstructor.o
    .obj/qncnameconstructor.o .obj/qnodecomparison.o .obj/qnodesort.o
    .obj/qoptimizationpasses.o .obj/qoptimizerblocks.o
    .obj/qoptimizerframework.o .obj/qorderby.o .obj/qorexpression.o
    .obj/qpaircontainer.o .obj/qparentnodeaxis.o .obj/qpath.o
    .obj/qpositionalvariablereference.o
    .obj/qprocessinginstructionconstructor.o .obj/qqnameconstructor.o
    .obj/qquantifiedexpression.o .obj/qrangeexpression.o
    .obj/qrangevariablereference.o .obj/qreturnorderby.o
    .obj/qsimplecontentconstructor.o .obj/qsinglecontainer.o
    .obj/qsourcelocationreflection.o .obj/qstaticbaseuristore.o
    .obj/qstaticcompatibilitystore.o .obj/qtemplate.o
    .obj/qtemplateinvoker.o .obj/qtemplatemode.o
    .obj/qtemplateparameterreference.o .obj/qtextnodeconstructor.o
    .obj/qtreatas.o .obj/qtriplecontainer.o .obj/qtruthpredicate.o
    .obj/qunaryexpression.o .obj/qunlimitedcontainer.o
    .obj/qunresolvedvariablereference.o .obj/quserfunctioncallsite.o
    .obj/quserfunction.o .obj/qvalidate.o .obj/qvaluecomparison.o
    .obj/qvariabledeclaration.o .obj/qvariablereference.o
    .obj/qxsltsimplecontentconstructor.o .obj/qabstractfunctionfactory.o
    .obj/qaccessorfns.o .obj/qaggregatefns.o .obj/qaggregator.o
    .obj/qassemblestringfns.o .obj/qbooleanfns.o .obj/qcomparescaseaware.o
    .obj/qcomparestringfns.o .obj/qconstructorfunctionsfactory.o
    .obj/qcontextfns.o .obj/qcontextnodechecker.o .obj/qcurrentfn.o
    .obj/qdatetimefn.o .obj/qdeepequalfn.o .obj/qdocumentfn.o
    .obj/qelementavailablefn.o .obj/qerrorfn.o .obj/qfunctionargument.o
    .obj/qfunctionavailablefn.o .obj/qfunctioncall.o
    .obj/qfunctionfactorycollection.o .obj/qfunctionfactory.o
    .obj/qfunctionsignature.o .obj/qgenerateidfn.o .obj/qnodefns.o
    .obj/qnumericfns.o .obj/qpatternmatchingfns.o .obj/qpatternplatform.o
    .obj/qqnamefns.o .obj/qresolveurifn.o .obj/qsequencefns.o
    .obj/qsequencegeneratingfns.o .obj/qstaticnamespacescontainer.o
    .obj/qstringvaluefns.o .obj/qsubstringfns.o .obj/qsystempropertyfn.o
    .obj/qtimezonefns.o .obj/qtracefn.o .obj/qtypeavailablefn.o
    .obj/qunparsedentitypublicidfn.o .obj/qunparsedentityurifn.o
    .obj/qunparsedtextavailablefn.o .obj/qunparsedtextfn.o
    .obj/qxpath10corefunctions.o .obj/qxpath20corefunctions.o
    .obj/qxslt20corefunctions.o .obj/qcachingiterator.o
    .obj/qdeduplicateiterator.o .obj/qdistinctiterator.o
    .obj/qexceptiterator.o .obj/qindexofiterator.o
    .obj/qinsertioniterator.o .obj/qintersectiterator.o
    .obj/qrangeiterator.o .obj/qremovaliterator.o
    .obj/qsubsequenceiterator.o .obj/qtocodepointsiterator.o
    .obj/qunioniterator.o .obj/qargumentconverter.o .obj/qatomizer.o
    .obj/qcardinalityverifier.o .obj/qebvextractor.o .obj/qitemverifier.o
    .obj/quntypedatomicconverter.o .obj/qquerytransformparser.o
    .obj/qparsercontext.o .obj/qtokenrevealer.o .obj/qtokensource.o
    .obj/qxquerytokenizer.o .obj/qxslttokenizer.o .obj/qxslttokenlookup.o
    .obj/qdocumentprojector.o .obj/qnamespacesupport.o
    .obj/qxsdalternative.o .obj/qxsdannotated.o .obj/qxsdannotation.o
    .obj/qxsdapplicationinformation.o .obj/qxsdassertion.o
    .obj/qxsdattribute.o .obj/qxsdattributereference.o
    .obj/qxsdattributeterm.o .obj/qxsdattributeuse.o
    .obj/qxsdattributegroup.o .obj/qxsdcomplextype.o
    .obj/qxsddocumentation.o .obj/qxsdelement.o .obj/qxsdfacet.o
    .obj/qxsdidcache.o .obj/qxsdidchelper.o .obj/qxsdidentityconstraint.o
    .obj/qxsdinstancereader.o .obj/qxsdmodelgroup.o .obj/qxsdnotation.o
    .obj/qxsdparticle.o .obj/qxsdparticlechecker.o .obj/qxsdreference.o
    .obj/qxsdsimpletype.o .obj/qxsdschema.o .obj/qxsdschemachecker.o
    .obj/qxsdschemachecker_setup.o .obj/qxsdschemacontext.o
    .obj/qxsdschemadebugger.o .obj/qxsdschemahelper.o
    .obj/qxsdschemamerger.o .obj/qxsdschemaparser.o
    .obj/qxsdschemaparser_setup.o .obj/qxsdschemaparsercontext.o
    .obj/qxsdschemaresolver.o .obj/qxsdschematoken.o
    .obj/qxsdschematypesfactory.o .obj/qxsdstatemachinebuilder.o
    .obj/qxsdterm.o .obj/qxsdtypechecker.o .obj/qxsdwildcard.o
    .obj/qxsdvalidatedxmlnodemodel.o .obj/qxsdvalidatinginstancereader.o
    .obj/qxsdxpathexpression.o .obj/qabstractnodetest.o
    .obj/qanyitemtype.o .obj/qanynodetype.o .obj/qanysimpletype.o
    .obj/qanytype.o .obj/qatomiccasterlocator.o
    .obj/qatomiccomparatorlocator.o .obj/qatomicmathematicianlocator.o
    .obj/qatomictype.o .obj/qbasictypesfactory.o .obj/qbuiltinatomictype.o
    .obj/qbuiltinatomictypes.o .obj/qcardinality.o
    .obj/qcommonsequencetypes.o .obj/qebvtype.o .obj/qemptysequencetype.o
    .obj/qgenericsequencetype.o .obj/qitemtype.o .obj/qlocalnametest.o
    .obj/qmultiitemtype.o .obj/qnamedschemacomponent.o
    .obj/qnamespacenametest.o .obj/qnonetype.o .obj/qnumerictype.o
    .obj/qqnametest.o .obj/qschemacomponent.o .obj/qschematype.o
    .obj/qschematypefactory.o .obj/qsequencetype.o .obj/qtypechecker.o
    .obj/quntyped.o .obj/qxsltnodetest.o .obj/qgenericnamespaceresolver.o
    .obj/qpatternistlocale.o .obj/qnamepool.o .obj/qnamespaceresolver.o
    .obj/qoutputvalidator.o .obj/qxpathhelper.o
    .obj/qdelegatingnamespaceresolver.o .obj/qnodenamespaceresolver.o
    .obj/qrc_builtinschemas.o .obj/moc_qabstractmessagehandler.o
    .obj/moc_qabstracturiresolver.o .obj/moc_qiodevicedelegate_p.o
    -L/home/pi/opt/qt5/qtbase/lib -lQt5Network -lQt5Core -lpthread
    /usr/bin/ld.gold: error: .obj/qxsdvalidatedxmlnodemodel.o: file is empty
    /usr/bin/ld.gold: error: .obj/qxsdvalidatinginstancereader.o: file is empty
    .obj/qxmlschemavalidator.o:qxmlschemavalidator.cpp:function
    QXmlSchemaValidator::validate(QIODevice*, QUrl const&) const: error:
    undefined reference to
    'QPatternist::XsdValidatedXmlNodeModel::XsdValidatedXmlNodeModel(QAbstractXmlNodeModel
    const*)'
    .obj/qxmlschemavalidator.o:qxmlschemavalidator.cpp:function
    QXmlSchemaValidator::validate(QIODevice*, QUrl const&) const: error:
    undefined reference to
    'QPatternist::XsdValidatingInstanceReader::XsdValidatingInstanceReader(QPatternist::XsdValidatedXmlNodeModel*,
    QUrl const&, QExplicitlySharedDataPointerQPatternist::XsdSchemaContext
    const&)'
    .obj/qxmlschemavalidator.o:qxmlschemavalidator.cpp:function
    QXmlSchemaValidator::validate(QIODevice*, QUrl const&) const: error:
    undefined reference to
    'QPatternist::XsdValidatingInstanceReader::addSchema(QExplicitlySharedDataPointerQPatternist::XsdSchema
    const&, QUrl const&)'
    .obj/qxmlschemavalidator.o:qxmlschemavalidator.cpp:function
    QXmlSchemaValidator::validate(QIODevice*, QUrl const&) const: error:
    undefined reference to
    'QPatternist::XsdValidatingInstanceReader::read()'
    collect2: error: ld returned 1 exit status
    Makefile:1419: recipe for target '../../lib/libQt5XmlPatterns.so.5.6.1' failed
    make[3]: *** [../../lib/libQt5XmlPatterns.so.5.6.1] Error 1
    make[3]: Leaving directory '/home/pi/opt/qt5/qtxmlpatterns/src/xmlpatterns'
    Makefile:42: recipe for target 'sub-xmlpatterns-make_first' failed
    make[2]: *** [sub-xmlpatterns-make_first] Error 2
    make[2]: Leaving directory '/home/pi/opt/qt5/qtxmlpatterns/src'
    Makefile:45: recipe for target 'sub-src-make_first' failed
    make[1]: *** [sub-src-make_first] Error 2
    make[1]: Leaving directory '/home/pi/opt/qt5/qtxmlpatterns'
    Makefile:272: recipe for target 'module-qtxmlpatterns-make_first' failed
    make: *** [module-qtxmlpatterns-make_first] Error 2



  • Something is wrong. Have you checked was is complete download ? sometimes broken download leads to an error which make no sense. Native build on pi Zero. :P
    I think u gonna kill it man



  • @vish I am not sure what you mean by broken download. I followed those instructions and didn't get any errors while installing packages or getting the git repo that I know of.

    How can I check and make sure?



  • one way to check ur download was complete is to compare md5 checksum.



  • @vish What download am I checking? I did a sudo apt-get install on the libraries and then I did a git clone and init on the qt repo. I don't remember having to download anything as a single download that I can check an md5 against.

    Are you familiar with the web page I am talking about: wiki.qt.io/Native_Build_of_Qt5_on_a_Raspberry_Pi

    There are not any single downloads in those instructions.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.