Quite reasonable questions. And No, you didn't miss anything.
Yes, we need to use static libraries/objects that we can place under configuration control. And static linking is mandatory for us. That's why I have used "rpm2cpio" to extract the 3 objects from "glibc-devel" that are used by gpc.
Now I just have to figure out how to get gpc to use these 3 files and how to split gpc into separate compile and link phases and also get gpc to place the object files into their own permanent folder. Once that is done I should be able to rebuild our application on RHEL 5.4.
Any hints here would be greatly appreciated.
I agree with your point about commercial software but the choice of O/S, compiler, etc. was determined by the FAA, not us. They also provide us with a special purpose library that we must use (link to) when interfacing to their systems. That library pretty much forces us to use gpc and/or other gnu-based tools/compilers (gcc, gnat, etc). Gpc is being used for compatability to the library and because that is what was used to port our Pascal interface code (originally developed for HPUX in the mid 90s) to 32-bit RHEL.
The reason behind behind what we are doing is that the FAA is moving a system we use to 64-bit RHEL5.4. The nature and importance of this system means we must move in lockstep with them. Part of our effort requires porting (for the second time) the existing code and development tools. While the current 32-bit executable should run without problems on RHEL5.4 we will have to maintain and upgrade this software for many years.
BTW, I hope everyone understands that I have to play Devil's Advocate and think of the worst possible outcome that would occur if all the holes in the "Swiss Cheese" model line up. I only handle one of many slices; if any other slice blocks the hole in my layer then there is no safety issue.
-----Original Message----- From: Hiltibidal, Rob [mailto:Rob.Hiltibidal@argushealth.com] Sent: September 1, 2010 05:10 PM To: Morton, John Subject: RE: GPC linker errors - help needed
I think I missed something here...
Why not use static libraries at this point?
In all honesty if its safety/life-critical systems why not use commercial software that is supportable?