The problem isn't so much with the compiler rte, but with the cstub
startup and other system libraries. They tend to change from release to
release, and are upward compatible only.
It can be done, though - you basically have to trick the 4.3 system into
building a 4.1 executable. Check out
http://www.hablutzel.com/aix_compatibility_build.html
Bob
>Darius,
>If your application successfully compiles and runs with your new compiler, why
>don't you just simply ship the client the 3.6.4 C++ Runtime, and your new
>executables?
>Worst case, if your programs need to run on AIX 4.3.x, they may have topurchase
>an OS upgrade too...
>Cset++ 3.1.4 is not supported on the 7017-S7x series (AIX 4.3.x), so yes - you
>are officially limited to C++ 3.6.4 or VisualAge 4.0 under that environment,
>but 3.1.4 can be installed under AIX 4.3, it's just not supported by IBM....How
>well it works is another story - I'm not sure if there are problems or not.
>>Subject: Re: C compiler backward compatibility
>>Date: 3/11/99 1:19 PM Eastern Standard Time
>>> You've gone from a 32 bit compiler to a 64 bit compiler.
>>No, it's a compiler that can produce both 32-bit and 64-bit object
>>code/executables.
>>The default mode is 32-bit. You can add -q64 or set OBJECT_MODE=64 in
>>your
>>environment to work in 64-bit mode.
>>> Some basic types
>>> have changed as well as loads of shared libraries. IBM warns of no backward
>>> compatibility between compilers.
>>AIX 4.3 supports both 32-bit and 64-bit applications. Both types can be
>>created
>>on either 32-bit or 64-bit hardware, but you can only _execute_ 64-bit
>>apps on
>>64-bit hardware. It might be useful to look at the 4.3 Differences
>>Guide
>> http://www.redbooks.ibm.com/abstracts/sg242014.html
>>> >We recent upgraded from AIX 4.2.1 to 4.3.1
>>> >Our systems guys told us that the C compiler had to be upgraded too.
>>You need (at least) the 3.6 compiler on 4.3 (the supported
>>configuration).
>>> >Now, a lot of programs compiled with the new compiler does not run on our
>>> >client's machine (AIX v4.2.1). The typical runtime message is:
>>> >0509-023 Symbol __iso_wcsftime in ksh is not defined
>>> >Is there any way to compile on v4.3.1 and still create programs that are
>>> >backward-compatible upto some previous release.
>>No supported technique. Generally, you compile and build on the oldest
>>level
>>you wish to support; for dynamically-linked applications (which is most)
>>you
>>get binary compatibility on later (newer) releases.
>>--
>>Gary R. Hook / AIX Kernel Development, IBM / These opinions are _MINE_
>>________________________________________________________________________
>>A piece of canvas is only the beginning
>>It takes on character with every loving stroke
>>This thing of beauty is the passion of an artist's heart
>>By God's design, we are a skin kaleidoscope "Colored people", dc Talk
--