Skip to Content
author's profile photo Former Member
Former Member

AIX Unicode RFC woes

Hi All,

I put this request up on the SAPGenie forums thought that I might try here too. Just in case there are any SAP AIX C/C++ coders monitoring the forum :-).

Can anyone suggest where to go next?

Thanks,

Paul.

--- Message follows ---

Hi all,

Has anyone hit this problem before?

I'm building an application on AIX 5.1 with gcc 3.3.4 which (among many other things) uses the RFC SDK to dynamically call remote enabled BAPIS.

Everything is fine when using the non unicode librfc.a (I've no idea what the version is). However, then linking against the unicode library (<b>librfcu.a</b>) there are a number of undefined symbols that look like they should be defined in the system libs.

One such symbol is <b>__PureVirtualCalled</b>

A little digging with the -bnoquiet option in the linker and the offending symbols seem to relate to the object file cpictlib.o ala the line below

__PureVirtualCalled [300] ER DS nixxhs_r.i(../../../../Packages/aix/64/SAP/lib/librfcu.a[<b>cpictlib.o</b>])

Hunting further I turned up an old cpictlib.o (no idea where it came from) and took a chance by linking this file as well.

This solved my linking problems (had to make sure that the cpictlib.o file appears <i>before</i> the -lrfcu on the link line)

Unfortunately, this cpictlib.o file is not of the same stock as the Unicode SDK that I have. cpictlib.o uses <u>icu 2.0</u> where as the SDK I have uses <u>icu 2.6</u>. That means that when I try to run the application, cpictlib.o hits dynamic linking issues when looking for icu 2.0 symbols (e.g. u_errorname_2_0).

Finally, this leads to the following questions.

1. Has anyone hit this issue with undefined symbols while linking with librfcu.a on AIX? If so, were you able to get around the problem?

2. Is there a way around it without linking in cpictlib.o?

3. cpictlib.o was not packaged in the SDK I am using - should it be?

4. What SDK is cpictlib.o normally packaged with? I suspect it's the CPIC SDK and If so, How would one acquire it?

Yours, in anticipation,

Paul.

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Dec 01, 2004 at 09:17 AM

    Hi All,

    I've received the answer to my question from SAP support.

    The issue ultimately comes down to libraries. Instead of linking against <b>librfcu.a</b> I should have been linking with <b>librfcum.o</b>.

    For those who would like to know the entire recommended linking scenario, here it is (for the native AIX compiler and linking the sapinfo example program from the RFCSDK)

    xlC_r -q64 -brtl -bnortllib -LRFCSDK/lib librfcum.o libsapu16_mt.so libsapucum.so -o sapinfo sapinfo.o

    You may need to adjust the line (as I did) for your own compiler/linker setup.

    The details for linking against all supported platforms are listed in a compiler options text file. Unfortunately this text file is not currently packaged with the unicode RFCSDK. I am assured the compiler options will be provided in the new RFCSDK patch.

    I hope that this of some use to others on the list.

    Cheers,

    Paul.

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.