[
https://issues.apache.org/jira/browse/XERCESC-1867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12703297#action_12703297
]
David Bertoni commented on XERCESC-1867:
----------------------------------------
This is a compiler bug, since the extra top-level CV qualifier should not be
part of the signature of the function. What compiler are you using?
> Linking error about
> DOMLSSerializerImpl::canSetParameter()/setParameter()/getParameter()
> ----------------------------------------------------------------------------------------
>
> Key: XERCESC-1867
> URL: https://issues.apache.org/jira/browse/XERCESC-1867
> Project: Xerces-C++
> Issue Type: Bug
> Components: Build
> Affects Versions: 3.1.0
> Environment: Solaris SPARCv9, Sun CC
> Reporter: rucong zhao
> Assignee: Alberto Massari
> Fix For: 3.0.2, 3.1.0
>
>
> The building passed on Solaris SPARCv9 Sun CC, but following linking issues
> occurs:
> Undefined first referenced
> symbol in file
> bool xercesc_3_0::DOMLSSerializerImpl::canSetParameter(const unsigned
> short*,bool)const .libs/XPath2NodeSerializer.o
> bool xercesc_3_0::DOMLSSerializerImpl::canSetParameter(const unsigned
> short*,const void*)const .libs/XPath2NodeSerializer.o
> void xercesc_3_0::DOMLSSerializerImpl::setParameter(const unsigned
> short*,bool) .libs/XPath2NodeSerializer.o
> void xercesc_3_0::DOMLSSerializerImpl::setParameter(const unsigned
> short*,const void*) .libs/XPath2NodeSerializer.o
> const void*xercesc_3_0::DOMLSSerializerImpl::getParameter(const unsigned
> short*)const .libs/XPath2NodeSerializer.o
> ld: fatal: Symbol referencing errors. No output written to
> .libs/libxqilla.so.5.0.1
> *** Error code 1
> make: Fatal error: Command failed for target `libxqilla.la'
> Current working directory /export/home/db/rucong/dbxml-2.5.6/xqilla/build
> *** Error code 1
> George Feinberg had figure out the cause and gave the fix. The cause is type
> mismatching between DOMLSSerializerImpl.hpp and DOMLSSerializerImpl.cpp:
> In the .hpp file(xercesc/dom/impl/DOMLSSerializerImpl.hpp):
> virtual void setParameter(const XMLCh* name, const void* value);
> From the .cpp file:
> bool DOMLSSerializerImpl::canSetParameter(const XMLCh* const featName
> , const void* /*value*/) const
> Note that the .cpp uses "const XMLCh * const featName" where the .hpp file
> uses "const XMLCh *name"
> The fix is removing the extra "const" from the .cpp file:
> edit xercesc/dom/impl/DOMLSSerializerImpl.cpp
> - bool DOMLSSerializerImpl::canSetParameter(const XMLCh* const featName
> + bool DOMLSSerializerImpl::canSetParameter(const XMLCh* featName
> - bool DOMLSSerializerImpl::canSetParameter(const XMLCh* const featName
> + bool DOMLSSerializerImpl::canSetParameter(const XMLCh* featName
> - void DOMLSSerializerImpl::setParameter(const XMLCh* const featName
> + void DOMLSSerializerImpl::setParameter(const XMLCh* featName
> - void DOMLSSerializerImpl::setParameter(const XMLCh* const featName
> + void DOMLSSerializerImpl::setParameter(const XMLCh* featName
> - const void* DOMLSSerializerImpl::getParameter(const XMLCh* const featName)
> const
> + const void* DOMLSSerializerImpl::getParameter(const XMLCh* featName) const
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]