You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "rucong zhao (JIRA)" <xe...@xml.apache.org> on 2009/04/27 11:29:30 UTC

[jira] Created: (XERCESC-1867) Linking error about DOMLSSerializerImpl::canSetParameter()/setParameter()/getParameter()

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: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[jira] Commented: (XERCESC-1867) Linking error about DOMLSSerializerImpl::canSetParameter()/setParameter()/getParameter()

Posted by "David Bertoni (JIRA)" <xe...@xml.apache.org>.
    [ 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: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[jira] Assigned: (XERCESC-1867) Linking error about DOMLSSerializerImpl::canSetParameter()/setParameter()/getParameter()

Posted by "Alberto Massari (JIRA)" <xe...@xml.apache.org>.
     [ https://issues.apache.org/jira/browse/XERCESC-1867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alberto Massari reassigned XERCESC-1867:
----------------------------------------

    Assignee: Alberto Massari

> 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
>
> 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: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[jira] Commented: (XERCESC-1867) Linking error about DOMLSSerializerImpl::canSetParameter()/setParameter()/getParameter()

Posted by "David Bertoni (JIRA)" <xe...@xml.apache.org>.
    [ https://issues.apache.org/jira/browse/XERCESC-1867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12703933#action_12703933 ] 

David Bertoni commented on XERCESC-1867:
----------------------------------------

The purpose of the extra CV-qualifier in the source file is to keep the code in the member function from modifying the actual parameter value. Since that's part of the implementation details, and not the formal API, the author decided to omit the extra CV-qualifier in the class definition, but have it in the implementation.

The code is legal C++ and the compiler is broken if it's mangling the name differently.

So no, it's not always "right" to keep them the same.

> 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: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[jira] Resolved: (XERCESC-1867) Linking error about DOMLSSerializerImpl::canSetParameter()/setParameter()/getParameter()

Posted by "Alberto Massari (JIRA)" <xe...@xml.apache.org>.
     [ https://issues.apache.org/jira/browse/XERCESC-1867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alberto Massari resolved XERCESC-1867.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 3.1.0
                   3.0.2

The fix is in SVN.

Thanks,
Alberto

> 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: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


[jira] Commented: (XERCESC-1867) Linking error about DOMLSSerializerImpl::canSetParameter()/setParameter()/getParameter()

Posted by "rucong zhao (JIRA)" <xe...@xml.apache.org>.
    [ https://issues.apache.org/jira/browse/XERCESC-1867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12703479#action_12703479 ] 

rucong zhao commented on XERCESC-1867:
--------------------------------------

Hi,

What I using is Sun C/C++ 5.8 2005/10/13 with "-xarch=v9". However, it's always right to keep 100% sync between hpp file and cpp file.

Thanks,
Rucong


> 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: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org