Re: u_toupper_3_2 and u_tolower_3_2 (122 Views)
Reply
reb
Occasional Advisor
reb
Posts: 12
Registered: ‎03-20-1997
Message 1 of 7 (122 Views)
Accepted Solution

u_toupper_3_2 and u_tolower_3_2

I'm trying to compile a perl module using aCC on HPUX 11.23 IA64, and using the HP-installed 32-bit perl 5.8.3. (The module is ARS 1.90).

I'm pretty new to Itanium, so there's a good chance that the problem is with me.

The module compiles with -Ae, with some warnings about using negative numbers in an unsigned int variable (hey - not my code...), but then refuses to load with undefined externals. I originally got errors on three routines:

'__cxa_personality_routine'
'u_toupper_3_2'
'u_tolower_3_2'

I was able to fix the "__cxa_personality_routine" error by adding '-lCsup' into the libraries variable in the makefile. The other two, I can not seem to fix. I have tried all of the following:

-lstd -lstream -lCsup -lm -lcl -ldld -lnsl -lnsl_s -lntl

(just sort of grasping at straws from other successful compiles and suggestions in other forum entries).

Does anyone know where to locate these two routines, or am I missing something more elementary than providing a path to a missing library?
Please use plain text.
Honored Contributor
TY 007
Posts: 377
Registered: ‎08-06-2007
Message 2 of 7 (122 Views)

Re: u_toupper_3_2 and u_tolower_3_2

Hello,

>> the HP-installed 32-bit perl 5.8.3

Download & Install Latest HP Perl 5.8.8:
https://h20293.www2.hp.com/portal/swdepot/try.do?productNumber=PERL

Thanks
Please use plain text.
Honored Contributor
TY 007
Posts: 377
Registered: ‎08-06-2007
Message 3 of 7 (122 Views)

Re: u_toupper_3_2 and u_tolower_3_2

Hello,

>> using aCC on HPUX 11.23 IA64

aCC version + patches?

# swlist -l bundle >> swlist.txt
# swlist -l product >> swlist.txt

Post swlist.txt file

Thanks
Please use plain text.
Acclaimed Contributor
Dennis Handly
Posts: 24,380
Registered: ‎03-06-2006
Message 4 of 7 (122 Views)

Re: u_toupper_3_2 and u_tolower_3_2

I don't know about your "u_toupper*" unsats but these aren't HP-UX symbols.

If you need to search you can do:
$ nm -pxAN /usr/lib/hpux32/* path... | grep u_toupper_3_

>I was able to fix the __cxa_personality_routine error by adding -lCsup into the libraries variable in the makefile. I have tried all of the following:
-lstd -lstream -lCsup -lm -lcl -ldld

This is incorrect for IPF. It looks like PA.
The proper list aC++ plugins for -AA and IPF is:
-lstd_v2 -lCsup -lm -lunwind -ldld

See:
http://docs.hp.com/en/10946/distributing.htm#linking

>TY 007: aCC version + patches?

This isn't important since those symbols have nothing to do with aC++.
Please use plain text.
reb
Occasional Advisor
reb
Posts: 12
Registered: ‎03-20-1997
Message 5 of 7 (122 Views)

Re: u_toupper_3_2 and u_tolower_3_2

I found them - they are in the Remedy API files, but the perl module was trying to statically link in a PA-RISC archive. That's why the linker couldn't find the routines. Looks like the module authors only want to do a static link, but Remedy only supplies IA64 code in shared libraries. Ugh.

Thanks for your suggestions. I will read that link closely, as I've had more problems linking code on these new Itanium boxes in the last two months than I've had in the past 20 years on PA.javascript:postCloseThreadSubmit('submit')
Submit

Please use plain text.
reb
Occasional Advisor
reb
Posts: 12
Registered: ‎03-20-1997
Message 6 of 7 (122 Views)

Re: u_toupper_3_2 and u_tolower_3_2

By the way Dennis, I'm using -Ae, not -AA. This is straight ANSI c, and I'm using the cc component of the aCC package. I don't believe there is any C++ in this project at all. I'm not sure why I should need to add -lCsup to compile a C program, but right now I'm happy with "whatever works"...
Please use plain text.
Acclaimed Contributor
Dennis Handly
Posts: 24,380
Registered: ‎03-06-2006
Message 7 of 7 (122 Views)

Re: u_toupper_3_2 and u_tolower_3_2

>I'm using -Ae, not -AA. This is straight ANSI C
>I'm not sure why I should need to add -lCsup to compile a C program

Then you need to follow the plugin rules. Or your shlib provider should follow them and make it easy to use from C.
Please use plain text.
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation