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 so...@jpmchase.com on 2007/06/08 17:06:07 UTC

Problem with cout when linking Xerces libs into executable

Hi all,

I've compiled xerces 2.7 using xlC 7.0 on AIX 5.3. The Xerces libraries 
were created using:
runConfigure -paix -cxlc_r -xxlC_r 

However, any time I link the Xerces libraries into an executable, cout no 
longer works.

Example:

#include <iostream>

int main(int argC, char* argV[])
{
    std::cout << "Hello world\n" << std::endl;

    return 0;
}

The above program works fine without Xerces libraries linked in. As soon 
as the libraries are linked, I get the following error and the program 
cores:

/app/sourcepro/Ed9/include/rw/_ioinsert.cc:116: Assertion '0 != 
__strm.rdbuf ()' failed.

( we are using Roguewave libraries in our app)

Any ideas? Please let me know if I should provide more info.

Regards,
Sudi Beheshti






-----------------------------------------
This communication is for informational purposes only. It is not
intended as an offer or solicitation for the purchase or sale of
any financial instrument or as an official confirmation of any
transaction. All market prices, data and other information are not
warranted as to completeness or accuracy and are subject to change
without notice. Any comments or statements made herein do not
necessarily reflect those of JPMorgan Chase & Co., its subsidiaries
and affiliates.

This transmission may contain information that is privileged,
confidential, legally privileged, and/or exempt from disclosure
under applicable law. If you are not the intended recipient, you
are hereby notified that any disclosure, copying, distribution, or
use of the information contained herein (including any reliance
thereon) is STRICTLY PROHIBITED. Although this transmission and any
attachments are believed to be free of any virus or other defect
that might affect any computer system into which it is received and
opened, it is the responsibility of the recipient to ensure that it
is virus free and no responsibility is accepted by JPMorgan Chase &
Co., its subsidiaries and affiliates, as applicable, for any loss
or damage arising in any way from its use. If you received this
transmission in error, please immediately contact the sender and
destroy the material in its entirety, whether in electronic or hard
copy format. Thank you.

Please refer to http://www.jpmorgan.com/pages/disclosures for
disclosures relating to UK legal entities.

Re: Problem with cout when linking Xerces libs into executable

Posted by so...@jpmchase.com.
Thank you both for your suggestions. 

I also noticed that all of our application was being built with -brtl flag 
whereas only a small subset of our app uses runtime linking. Taking out 
the -brtl flag seem to have resolved the issue ... but this was (I 
believe) a Roguewave Sourcepro specific problem (not related to Xerces.)

Thanks and regards,
Sudi Beheshti







Neil Graham <ne...@ca.ibm.com> 
06/08/2007 12:32 PM
Please respond to
c-dev@xerces.apache.org


To
c-dev@xerces.apache.org
cc

Subject
Re: Problem with cout when linking Xerces libs into executable






Hello, 

Instead of using -xxlC_r, try using -xxlCcore_r .  the xlCcore_r (and 
xlCcore) commands are provided by xlC to allow the use of standard 
libraries other than the default.  You may have to do the same thing when 
building your Xerces-C library.

Cheers,
Neil
Neil Graham
Manager, XSLT Development
IBM Toronto Lab
Phone:  905-413-3519, T/L 969-3519
E-mail:  neilg@ca.ibm.com





David Bertoni <db...@apache.org> 
06/08/07 11:18 AM
Please respond to
c-dev@xerces.apache.org


To
c-dev@xerces.apache.org
cc

Subject
Re: Problem with cout when linking Xerces libs into executable






soudabeh.x.beheshti@jpmchase.com wrote:
> 
> Hi all,
> 
> I've compiled xerces 2.7 using xlC 7.0 on AIX 5.3. The Xerces libraries 
> were created using:
> runConfigure -paix -cxlc_r -xxlC_r
> 
> However, any time I link the Xerces libraries into an executable, cout 
> no longer works.
> 
> Example:
> 
> #include <iostream>
> 
> int main(int argC, char* argV[])
> {
>    std::cout << "Hello world\n" << std::endl;
> 
>    return 0;
> }
> 
> The above program works fine without Xerces libraries linked in. As soon 


> as the libraries are linked, I get the following error and the program 
> cores:
> 
> /app/sourcepro/Ed9/include/rw/_ioinsert.cc:116: Assertion '0 != 
> __strm.rdbuf ()' failed.
> 
> ( we are using Roguewave libraries in our app)

But the xlC compiler has its own version of the standard library from 
Dinkunware.  Are you sure you can mix the two?  You might need to make the 


necessary changes to the Xerces-C makefiles to have Xerces-C also the 
Rogue 
Wave version.

Dave

Dave

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org





-----------------------------------------
This communication is for informational purposes only. It is not
intended as an offer or solicitation for the purchase or sale of
any financial instrument or as an official confirmation of any
transaction. All market prices, data and other information are not
warranted as to completeness or accuracy and are subject to change
without notice. Any comments or statements made herein do not
necessarily reflect those of JPMorgan Chase & Co., its subsidiaries
and affiliates.

This transmission may contain information that is privileged,
confidential, legally privileged, and/or exempt from disclosure
under applicable law. If you are not the intended recipient, you
are hereby notified that any disclosure, copying, distribution, or
use of the information contained herein (including any reliance
thereon) is STRICTLY PROHIBITED. Although this transmission and any
attachments are believed to be free of any virus or other defect
that might affect any computer system into which it is received and
opened, it is the responsibility of the recipient to ensure that it
is virus free and no responsibility is accepted by JPMorgan Chase &
Co., its subsidiaries and affiliates, as applicable, for any loss
or damage arising in any way from its use. If you received this
transmission in error, please immediately contact the sender and
destroy the material in its entirety, whether in electronic or hard
copy format. Thank you.

Please refer to http://www.jpmorgan.com/pages/disclosures for
disclosures relating to UK legal entities.

Re: Problem with cout when linking Xerces libs into executable

Posted by Neil Graham <ne...@ca.ibm.com>.
Hello, 

Instead of using -xxlC_r, try using -xxlCcore_r .  the xlCcore_r (and 
xlCcore) commands are provided by xlC to allow the use of standard 
libraries other than the default.  You may have to do the same thing when 
building your Xerces-C library.

Cheers,
Neil
Neil Graham
Manager, XSLT Development
IBM Toronto Lab
Phone:  905-413-3519, T/L 969-3519
E-mail:  neilg@ca.ibm.com





David Bertoni <db...@apache.org> 
06/08/07 11:18 AM
Please respond to
c-dev@xerces.apache.org


To
c-dev@xerces.apache.org
cc

Subject
Re: Problem with cout when linking Xerces libs into executable






soudabeh.x.beheshti@jpmchase.com wrote:
> 
> Hi all,
> 
> I've compiled xerces 2.7 using xlC 7.0 on AIX 5.3. The Xerces libraries 
> were created using:
> runConfigure -paix -cxlc_r -xxlC_r
> 
> However, any time I link the Xerces libraries into an executable, cout 
> no longer works.
> 
> Example:
> 
> #include <iostream>
> 
> int main(int argC, char* argV[])
> {
>    std::cout << "Hello world\n" << std::endl;
> 
>    return 0;
> }
> 
> The above program works fine without Xerces libraries linked in. As soon 

> as the libraries are linked, I get the following error and the program 
> cores:
> 
> /app/sourcepro/Ed9/include/rw/_ioinsert.cc:116: Assertion '0 != 
> __strm.rdbuf ()' failed.
> 
> ( we are using Roguewave libraries in our app)

But the xlC compiler has its own version of the standard library from 
Dinkunware.  Are you sure you can mix the two?  You might need to make the 

necessary changes to the Xerces-C makefiles to have Xerces-C also the 
Rogue 
Wave version.

Dave

Dave

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Problem with cout when linking Xerces libs into executable

Posted by David Bertoni <db...@apache.org>.
soudabeh.x.beheshti@jpmchase.com wrote:
> 
> Hi all,
> 
> I've compiled xerces 2.7 using xlC 7.0 on AIX 5.3. The Xerces libraries 
> were created using:
> runConfigure -paix -cxlc_r -xxlC_r
> 
> However, any time I link the Xerces libraries into an executable, cout 
> no longer works.
> 
> Example:
> 
> #include <iostream>
> 
> int main(int argC, char* argV[])
> {
>    std::cout << "Hello world\n" << std::endl;
> 
>    return 0;
> }
> 
> The above program works fine without Xerces libraries linked in. As soon 
> as the libraries are linked, I get the following error and the program 
> cores:
> 
> /app/sourcepro/Ed9/include/rw/_ioinsert.cc:116: Assertion '0 != 
> __strm.rdbuf ()' failed.
> 
> ( we are using Roguewave libraries in our app)

But the xlC compiler has its own version of the standard library from 
Dinkunware.  Are you sure you can mix the two?  You might need to make the 
necessary changes to the Xerces-C makefiles to have Xerces-C also the Rogue 
Wave version.

Dave

Dave

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org