[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::digital_unix

Title:DIGITAL UNIX(FORMERLY KNOWN AS DEC OSF/1)
Notice:Welcome to the Digital UNIX Conference
Moderator:SMURF::DENHAM
Created:Thu Mar 16 1995
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:10068
Total number of notes:35879

9301.0. "Build applic. for old version in new one?" by VELENO::MICHIELI (Is IBM DEClining?) Wed Mar 26 1997 13:36

    Hi all.
    
    Supposing I've a working version X how can I (my customer) build
    applications or works as I'm in a different and lower, X-1, version?
    This is a real problem that keep moving the AlphaServer 8400, the
    production system, to V4.x,now distributed from long time, but they
    need to mantain and support applications based on previous versions,
    even 3.2c.
    This was managed with 'logical names' under VMS.
    
    I've thought to chroot(1) as starting point, changing to a directory
    containing the /usr/lib and /usr/include of the old version and then
    running scripts for makefile and the like, but may be your
    experience can help better. Please give me a guidelines or pointer,
    with some theory behind.
    
    Best regards,
     Gabriele
T.RTitleUserPersonal
Name
DateLines
9301.1QUARRY::metskyI'm hysterical and I'm wetWed Mar 26 1997 16:0527
What you are attempting is fraught with peril.  It's not impossible, just
very difficult.

In general, you can't build on version X and expect to run on version X-1.
That is, an executable built with libraries and include files from version X
will probably have problems (too numerous to mention) when running on a
system at version X-1.

What you're talking about is possible, but you have to make sure that your
faithfully recreate the ENTIRE version X-1 build environment.  This includes
libraries, include files, linkers, compilers, crt0, etc.  Make sure that you
are picking up nothing from the base system.  The resulting executable will
run on a version X system when using the version X runtime libraries, or on
a version X-1 with version X-1 libraries.  If you try to mix the libraries 
and the system (especially libc and libpthread) all bets are off.

This is basically what the ODE environment in ZK3 does to build our system, 
but we still find problems.  It's not a trivial task.  If it were me, I'd
keep a disk with V3.2C around and boot it when I needed to build a V3.2C
executable.

Support issues for this may be very difficult as well.  You'll need the 
ability to recreate the environment that was used to build the executables.

Good luck, you'll need it.

 -dave-
9301.2What we do...DECWET::DIPIETROThu Mar 27 1997 09:393
We keep the old OS loaded on a spare disk.  When we need to build
on the old OS, we reboot using the old version.  Not an elegant
solution, but effective.
9301.3VELENO::MICHIELIIs IBM DEClining?Thu Mar 27 1997 11:487
    Thank you all for previous reply.
    I aggree on the difficult tasks and the best way is to have a apre old
    version from where to boot. Easy when you have a workstation, not so
    with a depatmental system like an 8400 with lot of users.
    
    Thank you all again,
     Gabriele.