I am having the following errors regarding the non-exporting of certain
symbols by ansi_32.o of libC.a on AIX 5.1 machine:-
0509-130 Symbol resolution failed for libxxxx.o because:
0509-136 Symbol adjustfield__Q2_3std8ios_base (number 105) is
not exported from
dependent module /usr/lib/libC.a(ansi_32.o).
0509-136 Symbol badbit__Q2_3std8ios_base (number 106) is not
exported from
dependent module /usr/lib/libC.a(ansi_32.o).
0509-136 Symbol failbit__Q2_3std8ios_base (number 108) is not
exported from
dependent module /usr/lib/libC.a(ansi_32.o).
0509-136 Symbol goodbit__Q2_3std8ios_base (number 109) is not
exported from
dependent module /usr/lib/libC.a(ansi_32.o).
0509-136 Symbol left__Q2_3std8ios_base (number 110) is not
exported from
dependent module /usr/lib/libC.a(ansi_32.o).
0509-136 Symbol unitbuf__Q2_3std8ios_base (number 112) is not
exported from
dependent module /usr/lib/libC.a(ansi_32.o).
0509-192 Examine .loader section symbols with the
'dump -Tv' command.
Strangely, these errors are not coming on AIX 5.2 and 5.3 machines. IS
there some difference in libC.a of these systems? If there is, which
library should be used to provide the definitions of these symbols on
AIX 5.1?
Any help will be grateful,
Thanks in advance,
Anunay
YOu can not build an application on a later level of any AIX fileset
and presume that it will run with earlier levels. This applies to AIX
as well as the C++ runtime.
lslpp -l xlC.aix50.rte will be helpful. And build on the earliest level
of AIX that want to run on.
On my build machine (also AIX 5.1)
bash-2.05b# lslpp -l xlC.aix50.rte
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
xlC.aix50.rte 6.0.0.13 COMMITTED C Set ++ Runtime for
AIX 5.0
________________________________________________________________________________
ON my test machine (AIX 5.1):-
bash-2.03# lslpp -l xlC.aix50.rte
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
xlC.aix50.rte 5.0.2.2 COMMITTED C Set ++ Runtime for
AIX 5.0
So, does that mean I need to upgrade the level of this fileset
xlC.aix50.rte ?
Thanks.
> Strangely, these errors are not coming on AIX 5.2 and 5.3 machines.
The 5.2 and 5.3 machines probably have later revision of xlC.aix50.rte.
> IS there some difference in libC.a of these systems?
At the same revision level of xlC.aix50.rte: no.
Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.
> So, does that mean I need to upgrade the level of this fileset
> xlC.aix50.rte ?
You must upgrade test machine (and all machines this program will
eventually have to run on) to at least 6.0.0.13, or downgrade the
build machine to at most 5.0.2.2
The latter is not easily done.
It's a gift :-)
> So, does that mean I need to upgrade the level of this fileset
> xlC.aix50.rte ?
Every machine has to be at or above the level you wish to support.
Note that the C++ runtime is now at 8.0.0.1. Should you run into
any problems during build/test, first consider the you should try
installing (apply, not commit) a later level of the runtime.
Also, the levels of the runtime are intended to be sequential.
The sequence would be something like
6.0.0.13 -> 6.0.0.14 -> 7.0.0.0 -> 7.0.0.1 ... 7.0.0.6 -> 8.0.0.0 ...