LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Red Hat (https://www.linuxquestions.org/questions/red-hat-31/)
-   -   Running legacy C programs withoout errors (https://www.linuxquestions.org/questions/red-hat-31/running-legacy-c-programs-withoout-errors-648319/)

jask496 06-10-2008 11:19 AM

Running legacy C programs withoout errors
 
I am trying to run C programs written around 1990 with Red Hat Linux 9. I get error messages with practically every reply to the menu programs and to the programs that are run from the menu. They do not crash, but I have to type ENTER to get to where I want to be. I am told this has something to do with standards that were changed. The programs run fine under Red Hat Linux 8.2. Is there any way to solve the problem - a newer version of Red Hat maybe?

lazlow 06-10-2008 12:47 PM

If the programs are recompiling ok under the new Version I am not sure if this will help, but there are a series of compatibility libs for both gcc 2.96 and 3.4.

compat-libstdc++-33

compat-libstdc++296

compat-gcc-34

compat-gcc-34-c++


These are just a few that I could find for F8.

cmnorton 06-10-2008 01:15 PM

Was it errno.h?
 
Wasn't this little jem was it?

"Incorrectly built binary which accesses errno, h_errno or _res directly. Needs to be fixed."

jask496 06-10-2008 03:20 PM

The "Incorrectly built binary ..." message is exactly what I get.

cmnorton 06-11-2008 12:07 PM

Live With Problem or Upgrade
 
Hopefully wiser elders will add their voices, but I have never tried fixing this problem on our RH 9 system, because it involves a lot of difficult work of upgrading the C-RTL and kernel. My thinking is, if you are going to do all that labor, why not upgrade.

Someone decided to enforce this error in RH 9's CRTL and RH EL 3. That has been debated endlessly along with the fate of RH 9 in this and other forums, and I'm not going there.

http://www.linuxquestions.org/questi...y+built+binary

For one of our commercial backup agent products, we wound up patching one of their shell scripts with a call to sed to strip out the message, after calling uname -s, which should have returned the string Linux, but instead returned "Linux" along with that foolish errno message.

PATTERN="^\[[0-9]*\]"
sed -n '/'${PATTERN}'/'p ${AGENTCFG} | cut -d" " -f1

RH 9 is no longer supported, and unless you want the academic exercise of upgrading the kernel and the C-RTL, you are better off either living with this error or upgrading to paid RH EL or CentOS.


All times are GMT -5. The time now is 07:22 AM.