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
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]