Operating System - OpenVMS
1823724 Members
3656 Online
109664 Solutions
New Discussion юеВ

Linking using .obj on Integrity VMS Server

 
SOLVED
Go to solution
Paul Whapshott
Frequent Advisor

Linking using .obj on Integrity VMS Server

HI,
I am running a brief feasability study on the amount of work to get our Alpha vms Cobol images running on the integrity vms platform.

My Alpha VMS server is 8.3 (cobol 2.8)

I am trying to see if i can just port the obj and link against that on the integrity box but get the same error with several images, any ideas?

Directory :[EXE]

L300.EXE;6 L300.OBJ;1

Total of 2 files.
RX2620_>link l300
%ILINK-E-INVLDHDR, invalid ELF header; field 'ehdr$b_ei_mag0' has invalid value
%X3D
module:
file: :[EXE]L300.OBJ;1
%ILINK-F-NOMODS, no input modules specified (or found)

Regards,
Paul.
6 REPLIES 6
Karl Rohwedder
Honored Contributor

Re: Linking using .obj on Integrity VMS Server

Paul,

what do you mean by 'port the object'?
You had to compile and link on IA64.

See Help/message INVLDHDR for more information.

regards Kalle
Hein van den Heuvel
Honored Contributor

Re: Linking using .obj on Integrity VMS Server

>> I am running a brief feasability study on the amount of work to get our Alpha vms Cobol images running on the integrity vms platform.

You can get the images running iwth binary translation, but I would not recommend that.

You can NOT use the objects, as you foudn out.

You can just re-compile, link and go.

For 'normal' cobol programs this is likely all you need to do. Just compile and go. For bonus points you may want to monitor the 'allignment faults' during the initial runs to see if there is poor coding/datalayout which was sub-obtipaml on Alpha alerady, but which may have become problematic (performance) on Itanium.

Be sure to check the OpenVMS website and google for detailed advise, and please consider to engage someone 'who has been there' to help you.

Enjoy the Itanium!
Hein.

John Reagan
Respected Contributor
Solution

Re: Linking using .obj on Integrity VMS Server

OBJ files contain machine instructions.

OBJ files from Alpha, contain Alpha instructions in an OpenVMS Alpha-specific file format.

The Itanium linker is expecting an Itanium object file. That contains Itanium instructions in a different file format called ELF. The linker told you that the file was not a valid Itanium OBJ file.

The Itanium linker does not know now to take Alpha objects and magically turn them into Itanium images.

As others have said, the I64 COBOL compiler (current version is 2.9) should be able to recompile your COBOL source and create Itanium objects for you.
Paul Whapshott
Frequent Advisor

Re: Linking using .obj on Integrity VMS Server

Thanks everyone.

You have pointed me in the right direction. As I say im no programmer but I understand now that I need get get Cobol and temporary license on this server which I am now progressing. I will copy the soure cobol code over and compile and relink once I have the cobol license.

Thanks again,

Paul
Hein van den Heuvel
Honored Contributor

Re: Linking using .obj on Integrity VMS Server

If timing is critical, and license/compiler seems slow in happening, then you may want to pursue getting access to the HP test drive system (td183) and try there.
Google: testdrive +site:hp.com

There are folks out there (like myself) who would be interested to assist you with a conversion effort as an assignment.

Hope this helps some,
Hein van den Heuvel (at gmail dot com)
HvdH Performance Consulting

Robert Gezelter
Honored Contributor

Re: Linking using .obj on Integrity VMS Server

Paul,

As has been noted, OBJ files are architecture specific. So, the code will need to be recompiled.

If the codebase is old, I generally recommend that clients recompile (and verify that the code recompiles correctly and runs correctly) on Alpha; then recompile and test on Itanium.

Your mileage (or kilometerage) may vary, but well written build procedures often work with no problem.

Recompilation is the preferred route, however, image translation is useful tool for transitioning large code bases.

Some comments on this are contained in my OpenVMS Technical Journal article, "Strategies for Migrating from Alpha and VAX systems to HP Integrity Servers on OpenVMS" (Volume 10, June 2007). An abstract of that article, together with a link to the complete article, can be found at: http://www.rlgsc.com/publications/vmstechjournal/migrationstrategies.html

- Bob Gezelter, http://www.rlgsc.com