C compiler backward compatibility

C compiler backward compatibility

Post by Pete Forma » Thu, 11 Mar 1999 04:00:00



    darius> We recent upgraded from AIX 4.2.1 to 4.3.1
    darius> Our systems guys told us that the C compiler had to be
    darius> upgraded too.  Now, a lot of programs compiled with the
    darius> new compiler does not run on our client's machine (AIX
    darius> v4.2.1). The typical runtime message is:
    darius> 0509-023 Symbol __iso_wcsftime in ksh is not defined

    darius> Is there any way to compile on v4.3.1 and still create
    darius> programs that are backward-compatible upto some previous
    darius> release.

A suitable method is described in an article by Hablutzel Consulting
Services.   The URL is something like

   http://www.hablutzel.com/aix_compatibility_build.html

If that is way off, try searching for Hablutzel in DejaNews for this
group.
--
Pete Forman
Western Geophysical

 
 
 

C compiler backward compatibility

Post by Gary R. Hoo » Fri, 12 Mar 1999 04:00:00



> 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.

Quote:> 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).

Quote:> >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

 
 
 

C compiler backward compatibility

Post by BladeHea » Sat, 13 Mar 1999 04:00:00


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

 
 
 

C compiler backward compatibility

Post by Bob Hablutz » Sat, 13 Mar 1999 04:00:00


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

--

 
 
 

1. 4.8-R libc stdio backward binary compatibility

I don't quite understand the following from the 4.8-R release notes:

If I have a dynamically linked binary from 4.7-R or an earlier 4.x and the code
references stdin, will that binary work with the native libc on 4.8-R?  Or do
I need the compat4x libraries?

I have something that I can't recompile (no source).

--
Carl Mascott

If replying by e-mail please correct my address.

2. ppp monitor

3. backward compatibility between 2.5 and 2.4

4. Compex RL2000A-PNP

5. GLIBC and Backward Compatibility

6. Console DT session : Blank screen ; Install Fixes problem

7. Help: backward compatibility problems with SunOS 5.1

8. scrolling in rn

9. Backward compatibility of linux libraries?

10. Solaris7 backward compatibility question

11. GCC and backward compatibility: Solaris 2.6 -> 2.5

12. HP DDS2 and DDS3 backward compatibility

13. Redhat backward compatibility