[Programación] Re: [Programación] Ejecucion de un binario viejo
J. Mario Oroz
programacion@lugro.org.ar
Wed, 28 Apr 2004 09:09:25 -0300
----- Original Message -----
From: "Pablo" <paa@argentina.com>
To: <programacion@lugro.org.ar>
Sent: Tuesday, April 27, 2004 7:37 PM
Subject: [Programación] Re: [Programación] Ejecucion de un binario
viejo
> ----- Original Message -----
> From: "J. Mario Oroz"
> To: <programacion@lugro.org.ar>
> Sent: Monday, April 26, 2004 11:25 AM
> Subject: [Programación] Ejecucion de un binario viejo
>
>
> > Buenas Lista!
> > Una para los Cráneos en C y los chochamus
> > del Curso de C de lugro -Dios los preserve en formol-
> >
> > Al ejecutar un binario compilado en RH6.2 o inferior en un
> > RH9 o Fedora me sale el siguiente mensaje por stdout:
> >
> > "Incorrectly built binary which accesses errno, h_errno or _res
> > directly.
> > Needs to be fixed."
>
> Es porque en las nuevas versiones de la libc errno no es una
variable
> sino una funcion (por el tema de los threads) y como el binario esta
> compilado con una version vieja esta tratando de acceder a errno
> como si fuera una variable pero ahora, en la version de libc que
> vos tenes en tu sistema, es una funcion.
No hay manera de encontrar por otro lado la solucion, Nestor (gracias)
menciono el tema de instalar el entorno de las bibliotecas y gcc que
se
encuentran en la vieja distro RH6.2; les comento que el problema lo
tengo
en RH9, como haria para hacer convivir las dos estructuras
(bibliotecas y gcc)
y hacerle saber a mi binario que vea esa diferencia y opte por las
viejas bibliotecas.
Creo que comente el hecho de setear una variable de entorno que le
indica
con que version simula trabajar el binario:
LD_ASSUME_KERNEL= "2.4.19" (Linux threads with floating slack)
o "2.2.5" (Linux threads without floating slack).
Es decir con un kernel que implementa threading o no, pero es parcial
la
solucion ya que no se aplica a todas las distros.
Tengo un buen lio en el mate en cuanto a los nombre de las bibliotecas
standar
de gnu/linux en cuanto a la implementacion de C; no seria en ves de
libc (que creo
que son las viejas -la libc5); la glibc, a la que te referis. Podrias
ponerme un
poco a tono aunque sea nombrandomelas cronologicamente.
> Busca las fuentes y recompila la aplicacion, deberia funcionar bien
despues
> de eso.
Imposible ya que se trata de soft comercial -no libre-. Se trata de la
suit
RDBM Progress.
Saludos.