Newsgrupos.com  

Retroceder   Newsgrupos.com > Forum > Newsgroup es.comp.os.* Foro > Newsgroup es.comp.os.unix
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 09-05-2006, 09:46:36
J.A. Gutierrez
 
Mensajes: n/a
Predeterminado Re: Problemas con versiones de librerías y configure

Azdo <azdo_b***yahoo.es> wrote:

: estoy tratando de compilar las fuentes de un programa en un entorno un
: tanto peculiar (un Irix). La versión de la libjpeg que trae no me

entonces, deberias escribir en es.comp.os.unix

: sirve. Lo que he hecho es compilarla desde las fuentes mediante algo
: como esto:

: ./configure --prefix=/mi_directorio --program-suffix=LIM

supongo que el prefijo es /usr/local

: para que el resto de programas que dependían de la libjpeg antigua
: sigan funcionando. Tras "make && make install" me deja la jerarquía de

y para no machacar el sistema de instalacion de software
nativo y su base de datos de ficheros instalados...

Por otra parte, no especificas la version de IRIX que usas,
pero en cualquier caso, te conviene saber que es probable
que puedas descargarte una libjpeg mas actual sin salirte
del sistema "oficial".

Concretamente, el paquete "Image Format Library 1.2.2"
incluye la version 6a de la libreria jpeg. (y probablemente
exista una version mas nueva de IFL, creo recordar que era
descarga gratuita registrandose en las paginas de SGI)

: directorios de librerías, cabeceras y demás en el directorio
: "/mi_directorio". Del sufijo "LIM" pasa completamente.

no se necesita

: El caso es que en el programa que quiero compilar, especifico la
: librería jpeg que quiero usar con:

: ./configure --with-jpeg=/mi_directorio

: lo cual funciona perfectamente a la hora de compilar, dado que usa las
: cabeceras .h de mi_directorio, aunque después compruebo que el
: programa se está enlazando con las librerías dinámicas antiguas.


Puedes hacer algo como:

CC=cc CFLAGS="-Ofast" \
CPPFLAGS="-I/usr/local/include" \
LDFLAGS="-Ofast -L/usr/local/lib32 -rpath /usr/local/lib32" \
../configure \
--with-jpeg=/usr/local \
--with-libdir=/usr/local/lib32


: ¿Cómo puedo hacer para que se enlacen los programas con las
: librerías nuevas?

Creando las librerias dinamicas con numero de version
superior a las del sistema y a~nadiendo /usr/local/lib[32]
a LD_LIBRARY[N32]_PATH. Con eso el enlazador dinamico
cargara las nuevas.

Alternativamente puedes usar las opciones "-L" y "-rpath"
Ejemplo:

cc -mips3 -n32 foo.o -rpath /usr/local/lib32 -L/usr/local/lib32 -ljpeg


: ¿Será más fácil enlazarlas estáticamente? En ese caso, ¿cómo se
: haría?

Y por ultimo, puedes enlazarla estaticamente, aunque no te lo
recomiendo:

cc -mips3 -n32 foo.o /usr/local/lib32/libjpeg.a



--
PGP and other useless info at \
http://webdiis.unizar.es/~spd/ \
finger://daphne.cps.unizar.es/spd \ Timeo Danaos et dona ferentes
ftp://ivo.cps.unizar.es/pub/ \ (Virgilio)
Responder Con Cita
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Newsgrupos.com
Standard Sponsored Links

  #2 (permalink)  
Antiguo 09-05-2006, 12:00:57
Azdo
 
Mensajes: n/a
Predeterminado Re: Problemas con versiones de librerías y configure

Hola, y muchas gracias por la completa respuesta.

J.A. Gutierrez ha escrito:

> Azdo <azdo_b***yahoo.es> wrote:
>
> : estoy tratando de compilar las fuentes de un programa en un entorno un
> : tanto peculiar (un Irix). La versión de la libjpeg que trae no me
>
> entonces, deberias escribir en es.comp.os.unix


Bueno, escribí aquí porque no es que sea un tema específico de IRIX,
sino que funciona exactamente igual en Linux y porque tengo más
experiencia en Linux De todas formas, estoy usando todas las
herramientas GNU, iguales que las que se pueden encontrar en Linux.

>
> : sirve. Lo que he hecho es compilarla desde las fuentes mediante algo
> : como esto:
>
> : ./configure --prefix=/mi_directorio --program-suffix=LIM
>
> supongo que el prefijo es /usr/local


No, es otro directorio en el que quiero instalar mis librerías
especiales.

>
> : para que el resto de programas que dependían de la libjpeg antigua
> : sigan funcionando. Tras "make && make install" me deja la jerarquía de
>
> y para no machacar el sistema de instalacion de software
> nativo y su base de datos de ficheros instalados...
>


Correcto.

> Por otra parte, no especificas la version de IRIX que usas,
> pero en cualquier caso, te conviene saber que es probable
> que puedas descargarte una libjpeg mas actual sin salirte
> del sistema "oficial".


Realmente es lo primero que intenté, pero el repositorio oficial de
SGI tiene una libjpeg ligeramente desfasada.

> Concretamente, el paquete "Image Format Library 1.2.2"
> incluye la version 6a de la libreria jpeg. (y probablemente
> exista una version mas nueva de IFL, creo recordar que era
> descarga gratuita registrandose en las paginas de SGI)


Yo lo he descargado de http://freeware.sgi.com/

> : directorios de librerías, cabeceras y demás en el directorio
> : "/mi_directorio". Del sufijo "LIM" pasa completamente.
>
> no se necesita
>
> : El caso es que en el programa que quiero compilar, especifico la
> : librería jpeg que quiero usar con:
>
> : ./configure --with-jpeg=/mi_directorio
>
> : lo cual funciona perfectamente a la hora de compilar, dado que usa las
> : cabeceras .h de mi_directorio, aunque después compruebo que el
> : programa se está enlazando con las librerías dinámicas antiguas.
>
>
> Puedes hacer algo como:
>
> CC=cc CFLAGS="-Ofast" \
> CPPFLAGS="-I/usr/local/include" \
> LDFLAGS="-Ofast -L/usr/local/lib32 -rpath /usr/local/lib32" \
> ./configure \
> --with-jpeg=/usr/local \
> --with-libdir=/usr/local/lib32


Lo de --with-jpeg y compañía ya lo he hecho y funciona (la razón por
la que la libjpeg del sistema no me sirve es porque carece en algunas
estructuras del campo

void *client_data;

que usa el software que quiero compilar, por eso me da error) Cuando
uso una línea de configure similar a la tuya compila perfectamente,
pero luego los ejecutables y las librerías se quedan apuntando la la
libjpeg antigua, lo que me dará errores en el futuro.

He probado a usar '-rpath' igual que como la tienes tú en el
configure, pero resulta que el '-rpath' de sistema siempre se antepone
al mío, tal y como he podido comprobar con 'elfdump'. Tengo la
sensación de que todas estas herramientas se han pensado para permitir
la instalación de librerías en diferentes directorios del sistema,
pero no para que coexistan librerías iguales de diferente versión.

>
> : ¿Cómo puedo hacer para que se enlacen los programas con las
> : librerías nuevas?
>
> Creando las librerias dinamicas con numero de version
> superior a las del sistema y a~nadiendo /usr/local/lib[32]
> a LD_LIBRARY[N32]_PATH. Con eso el enlazador dinamico
> cargara las nuevas.
>
> Alternativamente puedes usar las opciones "-L" y "-rpath"
> Ejemplo:
>
> cc -mips3 -n32 foo.o -rpath /usr/local/lib32 -L/usr/local/lib32 -ljpeg
>
>
> : ¿Será más fácil enlazarlas estáticamente? En ese caso, ¿cómo se
> : haría?
>
> Y por ultimo, puedes enlazarla estaticamente, aunque no te lo
> recomiendo:
>
> cc -mips3 -n32 foo.o /usr/local/lib32/libjpeg.a
>


Gracias por estos últimos consejos, aunque realmente lo necesito hacer
mediante 'configure' y no invocando directamente al compilador.

Finalmente, pienso que debería ser posible. Después de todo, es más
o menos lo que hacen los 'cross-compilers', ¿no?

Responder Con Cita
  #3 (permalink)  
Antiguo 09-05-2006, 12:00:57
Azdo
 
Mensajes: n/a
Predeterminado Re: Problemas con versiones de librerías y configure

Hola, y muchas gracias por la completa respuesta.

J.A. Gutierrez ha escrito:

> Azdo <azdo_b***yahoo.es> wrote:
>
> : estoy tratando de compilar las fuentes de un programa en un entorno un
> : tanto peculiar (un Irix). La versión de la libjpeg que trae no me
>
> entonces, deberias escribir en es.comp.os.unix


Bueno, escribí aquí porque no es que sea un tema específico de IRIX,
sino que funciona exactamente igual en Linux y porque tengo más
experiencia en Linux De todas formas, estoy usando todas las
herramientas GNU, iguales que las que se pueden encontrar en Linux.

>
> : sirve. Lo que he hecho es compilarla desde las fuentes mediante algo
> : como esto:
>
> : ./configure --prefix=/mi_directorio --program-suffix=LIM
>
> supongo que el prefijo es /usr/local


No, es otro directorio en el que quiero instalar mis librerías
especiales.

>
> : para que el resto de programas que dependían de la libjpeg antigua
> : sigan funcionando. Tras "make && make install" me deja la jerarquía de
>
> y para no machacar el sistema de instalacion de software
> nativo y su base de datos de ficheros instalados...
>


Correcto.

> Por otra parte, no especificas la version de IRIX que usas,
> pero en cualquier caso, te conviene saber que es probable
> que puedas descargarte una libjpeg mas actual sin salirte
> del sistema "oficial".


Realmente es lo primero que intenté, pero el repositorio oficial de
SGI tiene una libjpeg ligeramente desfasada.

> Concretamente, el paquete "Image Format Library 1.2.2"
> incluye la version 6a de la libreria jpeg. (y probablemente
> exista una version mas nueva de IFL, creo recordar que era
> descarga gratuita registrandose en las paginas de SGI)


Yo lo he descargado de http://freeware.sgi.com/

> : directorios de librerías, cabeceras y demás en el directorio
> : "/mi_directorio". Del sufijo "LIM" pasa completamente.
>
> no se necesita
>
> : El caso es que en el programa que quiero compilar, especifico la
> : librería jpeg que quiero usar con:
>
> : ./configure --with-jpeg=/mi_directorio
>
> : lo cual funciona perfectamente a la hora de compilar, dado que usa las
> : cabeceras .h de mi_directorio, aunque después compruebo que el
> : programa se está enlazando con las librerías dinámicas antiguas.
>
>
> Puedes hacer algo como:
>
> CC=cc CFLAGS="-Ofast" \
> CPPFLAGS="-I/usr/local/include" \
> LDFLAGS="-Ofast -L/usr/local/lib32 -rpath /usr/local/lib32" \
> ./configure \
> --with-jpeg=/usr/local \
> --with-libdir=/usr/local/lib32


Lo de --with-jpeg y compañía ya lo he hecho y funciona (la razón por
la que la libjpeg del sistema no me sirve es porque carece en algunas
estructuras del campo

void *client_data;

que usa el software que quiero compilar, por eso me da error) Cuando
uso una línea de configure similar a la tuya compila perfectamente,
pero luego los ejecutables y las librerías se quedan apuntando la la
libjpeg antigua, lo que me dará errores en el futuro.

He probado a usar '-rpath' igual que como la tienes tú en el
configure, pero resulta que el '-rpath' de sistema siempre se antepone
al mío, tal y como he podido comprobar con 'elfdump'. Tengo la
sensación de que todas estas herramientas se han pensado para permitir
la instalación de librerías en diferentes directorios del sistema,
pero no para que coexistan librerías iguales de diferente versión.

>
> : ¿Cómo puedo hacer para que se enlacen los programas con las
> : librerías nuevas?
>
> Creando las librerias dinamicas con numero de version
> superior a las del sistema y a~nadiendo /usr/local/lib[32]
> a LD_LIBRARY[N32]_PATH. Con eso el enlazador dinamico
> cargara las nuevas.
>
> Alternativamente puedes usar las opciones "-L" y "-rpath"
> Ejemplo:
>
> cc -mips3 -n32 foo.o -rpath /usr/local/lib32 -L/usr/local/lib32 -ljpeg
>
>
> : ¿Será más fácil enlazarlas estáticamente? En ese caso, ¿cómo se
> : haría?
>
> Y por ultimo, puedes enlazarla estaticamente, aunque no te lo
> recomiendo:
>
> cc -mips3 -n32 foo.o /usr/local/lib32/libjpeg.a
>


Gracias por estos últimos consejos, aunque realmente lo necesito hacer
mediante 'configure' y no invocando directamente al compilador.

Finalmente, pienso que debería ser posible. Después de todo, es más
o menos lo que hacen los 'cross-compilers', ¿no?

Responder Con Cita
  #4 (permalink)  
Antiguo 09-05-2006, 12:00:57
Azdo
 
Mensajes: n/a
Predeterminado Re: Problemas con versiones de librerías y configure

Hola, y muchas gracias por la completa respuesta.

J.A. Gutierrez ha escrito:

> Azdo <azdo_b***yahoo.es> wrote:
>
> : estoy tratando de compilar las fuentes de un programa en un entorno un
> : tanto peculiar (un Irix). La versión de la libjpeg que trae no me
>
> entonces, deberias escribir en es.comp.os.unix


Bueno, escribí aquí porque no es que sea un tema específico de IRIX,
sino que funciona exactamente igual en Linux y porque tengo más
experiencia en Linux De todas formas, estoy usando todas las
herramientas GNU, iguales que las que se pueden encontrar en Linux.

>
> : sirve. Lo que he hecho es compilarla desde las fuentes mediante algo
> : como esto:
>
> : ./configure --prefix=/mi_directorio --program-suffix=LIM
>
> supongo que el prefijo es /usr/local


No, es otro directorio en el que quiero instalar mis librerías
especiales.

>
> : para que el resto de programas que dependían de la libjpeg antigua
> : sigan funcionando. Tras "make && make install" me deja la jerarquía de
>
> y para no machacar el sistema de instalacion de software
> nativo y su base de datos de ficheros instalados...
>


Correcto.

> Por otra parte, no especificas la version de IRIX que usas,
> pero en cualquier caso, te conviene saber que es probable
> que puedas descargarte una libjpeg mas actual sin salirte
> del sistema "oficial".


Realmente es lo primero que intenté, pero el repositorio oficial de
SGI tiene una libjpeg ligeramente desfasada.

> Concretamente, el paquete "Image Format Library 1.2.2"
> incluye la version 6a de la libreria jpeg. (y probablemente
> exista una version mas nueva de IFL, creo recordar que era
> descarga gratuita registrandose en las paginas de SGI)


Yo lo he descargado de http://freeware.sgi.com/

> : directorios de librerías, cabeceras y demás en el directorio
> : "/mi_directorio". Del sufijo "LIM" pasa completamente.
>
> no se necesita
>
> : El caso es que en el programa que quiero compilar, especifico la
> : librería jpeg que quiero usar con:
>
> : ./configure --with-jpeg=/mi_directorio
>
> : lo cual funciona perfectamente a la hora de compilar, dado que usa las
> : cabeceras .h de mi_directorio, aunque después compruebo que el
> : programa se está enlazando con las librerías dinámicas antiguas.
>
>
> Puedes hacer algo como:
>
> CC=cc CFLAGS="-Ofast" \
> CPPFLAGS="-I/usr/local/include" \
> LDFLAGS="-Ofast -L/usr/local/lib32 -rpath /usr/local/lib32" \
> ./configure \
> --with-jpeg=/usr/local \
> --with-libdir=/usr/local/lib32


Lo de --with-jpeg y compañía ya lo he hecho y funciona (la razón por
la que la libjpeg del sistema no me sirve es porque carece en algunas
estructuras del campo

void *client_data;

que usa el software que quiero compilar, por eso me da error) Cuando
uso una línea de configure similar a la tuya compila perfectamente,
pero luego los ejecutables y las librerías se quedan apuntando la la
libjpeg antigua, lo que me dará errores en el futuro.

He probado a usar '-rpath' igual que como la tienes tú en el
configure, pero resulta que el '-rpath' de sistema siempre se antepone
al mío, tal y como he podido comprobar con 'elfdump'. Tengo la
sensación de que todas estas herramientas se han pensado para permitir
la instalación de librerías en diferentes directorios del sistema,
pero no para que coexistan librerías iguales de diferente versión.

>
> : ¿Cómo puedo hacer para que se enlacen los programas con las
> : librerías nuevas?
>
> Creando las librerias dinamicas con numero de version
> superior a las del sistema y a~nadiendo /usr/local/lib[32]
> a LD_LIBRARY[N32]_PATH. Con eso el enlazador dinamico
> cargara las nuevas.
>
> Alternativamente puedes usar las opciones "-L" y "-rpath"
> Ejemplo:
>
> cc -mips3 -n32 foo.o -rpath /usr/local/lib32 -L/usr/local/lib32 -ljpeg
>
>
> : ¿Será más fácil enlazarlas estáticamente? En ese caso, ¿cómo se
> : haría?
>
> Y por ultimo, puedes enlazarla estaticamente, aunque no te lo
> recomiendo:
>
> cc -mips3 -n32 foo.o /usr/local/lib32/libjpeg.a
>


Gracias por estos últimos consejos, aunque realmente lo necesito hacer
mediante 'configure' y no invocando directamente al compilador.

Finalmente, pienso que debería ser posible. Después de todo, es más
o menos lo que hacen los 'cross-compilers', ¿no?

Responder Con Cita
  #5 (permalink)  
Antiguo 09-05-2006, 12:00:57
Azdo
 
Mensajes: n/a
Predeterminado Re: Problemas con versiones de librerías y configure

Hola, y muchas gracias por la completa respuesta.

J.A. Gutierrez ha escrito:

> Azdo <azdo_b***yahoo.es> wrote:
>
> : estoy tratando de compilar las fuentes de un programa en un entorno un
> : tanto peculiar (un Irix). La versión de la libjpeg que trae no me
>
> entonces, deberias escribir en es.comp.os.unix


Bueno, escribí aquí porque no es que sea un tema específico de IRIX,
sino que funciona exactamente igual en Linux y porque tengo más
experiencia en Linux De todas formas, estoy usando todas las
herramientas GNU, iguales que las que se pueden encontrar en Linux.

>
> : sirve. Lo que he hecho es compilarla desde las fuentes mediante algo
> : como esto:
>
> : ./configure --prefix=/mi_directorio --program-suffix=LIM
>
> supongo que el prefijo es /usr/local


No, es otro directorio en el que quiero instalar mis librerías
especiales.

>
> : para que el resto de programas que dependían de la libjpeg antigua
> : sigan funcionando. Tras "make && make install" me deja la jerarquía de
>
> y para no machacar el sistema de instalacion de software
> nativo y su base de datos de ficheros instalados...
>


Correcto.

> Por otra parte, no especificas la version de IRIX que usas,
> pero en cualquier caso, te conviene saber que es probable
> que puedas descargarte una libjpeg mas actual sin salirte
> del sistema "oficial".


Realmente es lo primero que intenté, pero el repositorio oficial de
SGI tiene una libjpeg ligeramente desfasada.

> Concretamente, el paquete "Image Format Library 1.2.2"
> incluye la version 6a de la libreria jpeg. (y probablemente
> exista una version mas nueva de IFL, creo recordar que era
> descarga gratuita registrandose en las paginas de SGI)


Yo lo he descargado de http://freeware.sgi.com/

> : directorios de librerías, cabeceras y demás en el directorio
> : "/mi_directorio". Del sufijo "LIM" pasa completamente.
>
> no se necesita
>
> : El caso es que en el programa que quiero compilar, especifico la
> : librería jpeg que quiero usar con:
>
> : ./configure --with-jpeg=/mi_directorio
>
> : lo cual funciona perfectamente a la hora de compilar, dado que usa las
> : cabeceras .h de mi_directorio, aunque después compruebo que el
> : programa se está enlazando con las librerías dinámicas antiguas.
>
>
> Puedes hacer algo como:
>
> CC=cc CFLAGS="-Ofast" \
> CPPFLAGS="-I/usr/local/include" \
> LDFLAGS="-Ofast -L/usr/local/lib32 -rpath /usr/local/lib32" \
> ./configure \
> --with-jpeg=/usr/local \
> --with-libdir=/usr/local/lib32


Lo de --with-jpeg y compañía ya lo he hecho y funciona (la razón por
la que la libjpeg del sistema no me sirve es porque carece en algunas
estructuras del campo

void *client_data;

que usa el software que quiero compilar, por eso me da error) Cuando
uso una línea de configure similar a la tuya compila perfectamente,
pero luego los ejecutables y las librerías se quedan apuntando la la
libjpeg antigua, lo que me dará errores en el futuro.

He probado a usar '-rpath' igual que como la tienes tú en el
configure, pero resulta que el '-rpath' de sistema siempre se antepone
al mío, tal y como he podido comprobar con 'elfdump'. Tengo la
sensación de que todas estas herramientas se han pensado para permitir
la instalación de librerías en diferentes directorios del sistema,
pero no para que coexistan librerías iguales de diferente versión.

>
> : ¿Cómo puedo hacer para que se enlacen los programas con las
> : librerías nuevas?
>
> Creando las librerias dinamicas con numero de version
> superior a las del sistema y a~nadiendo /usr/local/lib[32]
> a LD_LIBRARY[N32]_PATH. Con eso el enlazador dinamico
> cargara las nuevas.
>
> Alternativamente puedes usar las opciones "-L" y "-rpath"
> Ejemplo:
>
> cc -mips3 -n32 foo.o -rpath /usr/local/lib32 -L/usr/local/lib32 -ljpeg
>
>
> : ¿Será más fácil enlazarlas estáticamente? En ese caso, ¿cómo se
> : haría?
>
> Y por ultimo, puedes enlazarla estaticamente, aunque no te lo
> recomiendo:
>
> cc -mips3 -n32 foo.o /usr/local/lib32/libjpeg.a
>


Gracias por estos últimos consejos, aunque realmente lo necesito hacer
mediante 'configure' y no invocando directamente al compilador.

Finalmente, pienso que debería ser posible. Después de todo, es más
o menos lo que hacen los 'cross-compilers', ¿no?

Responder Con Cita
  #6 (permalink)  
Antiguo 09-05-2006, 12:00:57
Azdo
 
Mensajes: n/a
Predeterminado Re: Problemas con versiones de librerías y configure

Hola, y muchas gracias por la completa respuesta.

J.A. Gutierrez ha escrito:

> Azdo <azdo_b***yahoo.es> wrote:
>
> : estoy tratando de compilar las fuentes de un programa en un entorno un
> : tanto peculiar (un Irix). La versión de la libjpeg que trae no me
>
> entonces, deberias escribir en es.comp.os.unix


Bueno, escribí aquí porque no es que sea un tema específico de IRIX,
sino que funciona exactamente igual en Linux y porque tengo más
experiencia en Linux De todas formas, estoy usando todas las
herramientas GNU, iguales que las que se pueden encontrar en Linux.

>
> : sirve. Lo que he hecho es compilarla desde las fuentes mediante algo
> : como esto:
>
> : ./configure --prefix=/mi_directorio --program-suffix=LIM
>
> supongo que el prefijo es /usr/local


No, es otro directorio en el que quiero instalar mis librerías
especiales.

>
> : para que el resto de programas que dependían de la libjpeg antigua
> : sigan funcionando. Tras "make && make install" me deja la jerarquía de
>
> y para no machacar el sistema de instalacion de software
> nativo y su base de datos de ficheros instalados...
>


Correcto.

> Por otra parte, no especificas la version de IRIX que usas,
> pero en cualquier caso, te conviene saber que es probable
> que puedas descargarte una libjpeg mas actual sin salirte
> del sistema "oficial".


Realmente es lo primero que intenté, pero el repositorio oficial de
SGI tiene una libjpeg ligeramente desfasada.

> Concretamente, el paquete "Image Format Library 1.2.2"
> incluye la version 6a de la libreria jpeg. (y probablemente
> exista una version mas nueva de IFL, creo recordar que era
> descarga gratuita registrandose en las paginas de SGI)


Yo lo he descargado de http://freeware.sgi.com/

> : directorios de librerías, cabeceras y demás en el directorio
> : "/mi_directorio". Del sufijo "LIM" pasa completamente.
>
> no se necesita
>
> : El caso es que en el programa que quiero compilar, especifico la
> : librería jpeg que quiero usar con:
>
> : ./configure --with-jpeg=/mi_directorio
>
> : lo cual funciona perfectamente a la hora de compilar, dado que usa las
> : cabeceras .h de mi_directorio, aunque después compruebo que el
> : programa se está enlazando con las librerías dinámicas antiguas.
>
>
> Puedes hacer algo como:
>
> CC=cc CFLAGS="-Ofast" \
> CPPFLAGS="-I/usr/local/include" \
> LDFLAGS="-Ofast -L/usr/local/lib32 -rpath /usr/local/lib32" \
> ./configure \
> --with-jpeg=/usr/local \
> --with-libdir=/usr/local/lib32


Lo de --with-jpeg y compañía ya lo he hecho y funciona (la razón por
la que la libjpeg del sistema no me sirve es porque carece en algunas
estructuras del campo

void *client_data;

que usa el software que quiero compilar, por eso me da error) Cuando
uso una línea de configure similar a la tuya compila perfectamente,
pero luego los ejecutables y las librerías se quedan apuntando la la
libjpeg antigua, lo que me dará errores en el futuro.

He probado a usar '-rpath' igual que como la tienes tú en el
configure, pero resulta que el '-rpath' de sistema siempre se antepone
al mío, tal y como he podido comprobar con 'elfdump'. Tengo la
sensación de que todas estas herramientas se han pensado para permitir
la instalación de librerías en diferentes directorios del sistema,
pero no para que coexistan librerías iguales de diferente versión.

>
> : ¿Cómo puedo hacer para que se enlacen los programas con las
> : librerías nuevas?
>
> Creando las librerias dinamicas con numero de version
> superior a las del sistema y a~nadiendo /usr/local/lib[32]
> a LD_LIBRARY[N32]_PATH. Con eso el enlazador dinamico
> cargara las nuevas.
>
> Alternativamente puedes usar las opciones "-L" y "-rpath"
> Ejemplo:
>
> cc -mips3 -n32 foo.o -rpath /usr/local/lib32 -L/usr/local/lib32 -ljpeg
>
>
> : ¿Será más fácil enlazarlas estáticamente? En ese caso, ¿cómo se
> : haría?
>
> Y por ultimo, puedes enlazarla estaticamente, aunque no te lo
> recomiendo:
>
> cc -mips3 -n32 foo.o /usr/local/lib32/libjpeg.a
>


Gracias por estos últimos consejos, aunque realmente lo necesito hacer
mediante 'configure' y no invocando directamente al compilador.

Finalmente, pienso que debería ser posible. Después de todo, es más
o menos lo que hacen los 'cross-compilers', ¿no?

Responder Con Cita
  #7 (permalink)  
Antiguo 09-05-2006, 21:20:57
Azdo
 
Mensajes: n/a
Predeterminado Re: Problemas con versiones de librerías y configure

Vaya con Googlegroups... escribes un mensaje larguísimo y no te lo
publica. Aquí va la segunda intentona:

Muchas gracias ante todo por tu tiempo y consejo, J. A.

J.A. Gutierrez escribiu:
> Azdo <azdo_b***yahoo.es> wrote:
>
> : estoy tratando de compilar las fuentes de un programa en un entorno un
> : tanto peculiar (un Irix). La versión de la libjpeg que trae no me
>
> entonces, deberias escribir en es.comp.os.unix


Bueno, he publicado aquí porque realmente tengo más experiencia con
sistemas Linux y además en este IRIX estoy usando las herramientas
GNU, con lo cual la funcionalidad es (casi) la misma (creo).

>
> : sirve. Lo que he hecho es compilarla desde las fuentes mediante algo
> : como esto:
>
> : ./configure --prefix=/mi_directorio --program-suffix=LIM
>
> supongo que el prefijo es /usr/local


No, es otro directorio.

>
> : para que el resto de programas que dependían de la libjpeg antigua
> : sigan funcionando. Tras "make && make install" me deja la jerarquía de
>
> y para no machacar el sistema de instalacion de software
> nativo y su base de datos de ficheros instalados...


Cierto, cierto.
>
> Por otra parte, no especificas la version de IRIX que usas,
> pero en cualquier caso, te conviene saber que es probable
> que puedas descargarte una libjpeg mas actual sin salirte
> del sistema "oficial".
>

Es lo que intenté al principio, pero según he sabido y experimentado,
la famosa distribución "freeware" para IRIX está bastante desfasada.

> Concretamente, el paquete "Image Format Library 1.2.2"
> incluye la version 6a de la libreria jpeg. (y probablemente
> exista una version mas nueva de IFL, creo recordar que era
> descarga gratuita registrandose en las paginas de SGI)
>


Sí, lo que puedes encontrar en http://freeware.sgi.com/

> : directorios de librerías, cabeceras y demás en el directorio
> : "/mi_directorio". Del sufijo "LIM" pasa completamente.
>
> no se necesita
>
> : El caso es que en el programa que quiero compilar, especifico la
> : librería jpeg que quiero usar con:
>
> : ./configure --with-jpeg=/mi_directorio
>
> : lo cual funciona perfectamente a la hora de compilar, dado que usa las
> : cabeceras .h de mi_directorio, aunque después compruebo que el
> : programa se está enlazando con las librerías dinámicas antiguas.
>
>
> Puedes hacer algo como:
>
> CC=cc CFLAGS="-Ofast" \
> CPPFLAGS="-I/usr/local/include" \
> LDFLAGS="-Ofast -L/usr/local/lib32 -rpath /usr/local/lib32" \
> ./configure \
> --with-jpeg=/usr/local \
> --with-libdir=/usr/local/lib32
>


Yo también pienso que la clave está en esos -rpath, la correcta
inclusión de LDFLAGS e incluso LD_LIBRARY_PATH. El problema es que el
sistema ya tiene definido un

-rpath /usr/freeware/lib32

que a veces (casi siempre) se antepone al mío y hace que se carguen
las librerías de sistema en lugar de las mías.

> : ¿Cómo puedo hacer para que se enlacen los programas con las
> : librerías nuevas?
>
> Creando las librerias dinamicas con numero de version
> superior a las del sistema y a~nadiendo /usr/local/lib[32]
> a LD_LIBRARY[N32]_PATH. Con eso el enlazador dinamico
> cargara las nuevas.
>
> Alternativamente puedes usar las opciones "-L" y "-rpath"
> Ejemplo:
>
> cc -mips3 -n32 foo.o -rpath /usr/local/lib32 -L/usr/local/lib32 -ljpeg
>
>
> : ¿Será más fácil enlazarlas estáticamente? En ese caso, ¿cómo se
> : haría?
>
> Y por ultimo, puedes enlazarla estaticamente, aunque no te lo
> recomiendo:
>
> cc -mips3 -n32 foo.o /usr/local/lib32/libjpeg.a
>


Buena idea, pero lo necesito hacer a través de las autotools.

Nota de última hora: lo que creo que va a ser la solución si que es
completamente off-topic; acabo de descubrir la distribución de
librerías nekoware, mucho más actualizada y coherente que la
"freeware" (adiós a la pesadilla de los directorios lib, lib32 y
lib64) y que parece que configura y compila bien, al menos en
principio.

Muchas gracias a todos y perdonad por el off-topic, por lo menos he
aprendido el uso de '-rpath', que también me va a ser de bastante
utilidad en Linux si en alguna ocasión necesito tener la misma
librería pero con dos o más versiones diferentes en el sistema.

Responder Con Cita
  #8 (permalink)  
Antiguo 09-05-2006, 21:20:57
Azdo
 
Mensajes: n/a
Predeterminado Re: Problemas con versiones de librerías y configure

Vaya con Googlegroups... escribes un mensaje larguísimo y no te lo
publica. Aquí va la segunda intentona:

Muchas gracias ante todo por tu tiempo y consejo, J. A.

J.A. Gutierrez escribiu:
> Azdo <azdo_b***yahoo.es> wrote:
>
> : estoy tratando de compilar las fuentes de un programa en un entorno un
> : tanto peculiar (un Irix). La versión de la libjpeg que trae no me
>
> entonces, deberias escribir en es.comp.os.unix


Bueno, he publicado aquí porque realmente tengo más experiencia con
sistemas Linux y además en este IRIX estoy usando las herramientas
GNU, con lo cual la funcionalidad es (casi) la misma (creo).

>
> : sirve. Lo que he hecho es compilarla desde las fuentes mediante algo
> : como esto:
>
> : ./configure --prefix=/mi_directorio --program-suffix=LIM
>
> supongo que el prefijo es /usr/local


No, es otro directorio.

>
> : para que el resto de programas que dependían de la libjpeg antigua
> : sigan funcionando. Tras "make && make install" me deja la jerarquía de
>
> y para no machacar el sistema de instalacion de software
> nativo y su base de datos de ficheros instalados...


Cierto, cierto.
>
> Por otra parte, no especificas la version de IRIX que usas,
> pero en cualquier caso, te conviene saber que es probable
> que puedas descargarte una libjpeg mas actual sin salirte
> del sistema "oficial".
>

Es lo que intenté al principio, pero según he sabido y experimentado,
la famosa distribución "freeware" para IRIX está bastante desfasada.

> Concretamente, el paquete "Image Format Library 1.2.2"
> incluye la version 6a de la libreria jpeg. (y probablemente
> exista una version mas nueva de IFL, creo recordar que era
> descarga gratuita registrandose en las paginas de SGI)
>


Sí, lo que puedes encontrar en http://freeware.sgi.com/

> : directorios de librerías, cabeceras y demás en el directorio
> : "/mi_directorio". Del sufijo "LIM" pasa completamente.
>
> no se necesita
>
> : El caso es que en el programa que quiero compilar, especifico la
> : librería jpeg que quiero usar con:
>
> : ./configure --with-jpeg=/mi_directorio
>
> : lo cual funciona perfectamente a la hora de compilar, dado que usa las
> : cabeceras .h de mi_directorio, aunque después compruebo que el
> : programa se está enlazando con las librerías dinámicas antiguas.
>
>
> Puedes hacer algo como:
>
> CC=cc CFLAGS="-Ofast" \
> CPPFLAGS="-I/usr/local/include" \
> LDFLAGS="-Ofast -L/usr/local/lib32 -rpath /usr/local/lib32" \
> ./configure \
> --with-jpeg=/usr/local \
> --with-libdir=/usr/local/lib32
>


Yo también pienso que la clave está en esos -rpath, la correcta
inclusión de LDFLAGS e incluso LD_LIBRARY_PATH. El problema es que el
sistema ya tiene definido un

-rpath /usr/freeware/lib32

que a veces (casi siempre) se antepone al mío y hace que se carguen
las librerías de sistema en lugar de las mías.

> : ¿Cómo puedo hacer para que se enlacen los programas con las
> : librerías nuevas?
>
> Creando las librerias dinamicas con numero de version
> superior a las del sistema y a~nadiendo /usr/local/lib[32]
> a LD_LIBRARY[N32]_PATH. Con eso el enlazador dinamico
> cargara las nuevas.
>
> Alternativamente puedes usar las opciones "-L" y "-rpath"
> Ejemplo:
>
> cc -mips3 -n32 foo.o -rpath /usr/local/lib32 -L/usr/local/lib32 -ljpeg
>
>
> : ¿Será más fácil enlazarlas estáticamente? En ese caso, ¿cómo se
> : haría?
>
> Y por ultimo, puedes enlazarla estaticamente, aunque no te lo
> recomiendo:
>
> cc -mips3 -n32 foo.o /usr/local/lib32/libjpeg.a
>


Buena idea, pero lo necesito hacer a través de las autotools.

Nota de última hora: lo que creo que va a ser la solución si que es
completamente off-topic; acabo de descubrir la distribución de
librerías nekoware, mucho más actualizada y coherente que la
"freeware" (adiós a la pesadilla de los directorios lib, lib32 y
lib64) y que parece que configura y compila bien, al menos en
principio.

Muchas gracias a todos y perdonad por el off-topic, por lo menos he
aprendido el uso de '-rpath', que también me va a ser de bastante
utilidad en Linux si en alguna ocasión necesito tener la misma
librería pero con dos o más versiones diferentes en el sistema.

Responder Con Cita
 
  #9 (permalink)  
Antiguo 09-05-2006, 21:20:57
Azdo
 
Mensajes: n/a
Predeterminado Re: Problemas con versiones de librerías y configure

Vaya con Googlegroups... escribes un mensaje larguísimo y no te lo
publica. Aquí va la segunda intentona:

Muchas gracias ante todo por tu tiempo y consejo, J. A.

J.A. Gutierrez escribiu:
> Azdo <azdo_b***yahoo.es> wrote:
>
> : estoy tratando de compilar las fuentes de un programa en un entorno un
> : tanto peculiar (un Irix). La versión de la libjpeg que trae no me
>
> entonces, deberias escribir en es.comp.os.unix


Bueno, he publicado aquí porque realmente tengo más experiencia con
sistemas Linux y además en este IRIX estoy usando las herramientas
GNU, con lo cual la funcionalidad es (casi) la misma (creo).

>
> : sirve. Lo que he hecho es compilarla desde las fuentes mediante algo
> : como esto:
>
> : ./configure --prefix=/mi_directorio --program-suffix=LIM
>
> supongo que el prefijo es /usr/local


No, es otro directorio.

>
> : para que el resto de programas que dependían de la libjpeg antigua
> : sigan funcionando. Tras "make && make install" me deja la jerarquía de
>
> y para no machacar el sistema de instalacion de software
> nativo y su base de datos de ficheros instalados...


Cierto, cierto.
>
> Por otra parte, no especificas la version de IRIX que usas,
> pero en cualquier caso, te conviene saber que es probable
> que puedas descargarte una libjpeg mas actual sin salirte
> del sistema "oficial".
>

Es lo que intenté al principio, pero según he sabido y experimentado,
la famosa distribución "freeware" para IRIX está bastante desfasada.

> Concretamente, el paquete "Image Format Library 1.2.2"
> incluye la version 6a de la libreria jpeg. (y probablemente
> exista una version mas nueva de IFL, creo recordar que era
> descarga gratuita registrandose en las paginas de SGI)
>


Sí, lo que puedes encontrar en http://freeware.sgi.com/

> : directorios de librerías, cabeceras y demás en el directorio
> : "/mi_directorio". Del sufijo "LIM" pasa completamente.
>
> no se necesita
>
> : El caso es que en el programa que quiero compilar, especifico la
> : librería jpeg que quiero usar con:
>
> : ./configure --with-jpeg=/mi_directorio
>
> : lo cual funciona perfectamente a la hora de compilar, dado que usa las
> : cabeceras .h de mi_directorio, aunque después compruebo que el
> : programa se está enlazando con las librerías dinámicas antiguas.
>
>
> Puedes hacer algo como:
>
> CC=cc CFLAGS="-Ofast" \
> CPPFLAGS="-I/usr/local/include" \
> LDFLAGS="-Ofast -L/usr/local/lib32 -rpath /usr/local/lib32" \
> ./configure \
> --with-jpeg=/usr/local \
> --with-libdir=/usr/local/lib32
>


Yo también pienso que la clave está en esos -rpath, la correcta
inclusión de LDFLAGS e incluso LD_LIBRARY_PATH. El problema es que el
sistema ya tiene definido un

-rpath /usr/freeware/lib32

que a veces (casi siempre) se antepone al mío y hace que se carguen
las librerías de sistema en lugar de las mías.

> : ¿Cómo puedo hacer para que se enlacen los programas con las
> : librerías nuevas?
>
> Creando las librerias dinamicas con numero de version
> superior a las del sistema y a~nadiendo /usr/local/lib[32]
> a LD_LIBRARY[N32]_PATH. Con eso el enlazador dinamico
> cargara las nuevas.
>
> Alternativamente puedes usar las opciones "-L" y "-rpath"
> Ejemplo:
>
> cc -mips3 -n32 foo.o -rpath /usr/local/lib32 -L/usr/local/lib32 -ljpeg
>
>
> : ¿Será más fácil enlazarlas estáticamente? En ese caso, ¿cómo se
> : haría?
>
> Y por ultimo, puedes enlazarla estaticamente, aunque no te lo
> recomiendo:
>
> cc -mips3 -n32 foo.o /usr/local/lib32/libjpeg.a
>


Buena idea, pero lo necesito hacer a través de las autotools.

Nota de última hora: lo que creo que va a ser la solución si que es
completamente off-topic; acabo de descubrir la distribución de
librerías nekoware, mucho más actualizada y coherente que la
"freeware" (adiós a la pesadilla de los directorios lib, lib32 y
lib64) y que parece que configura y compila bien, al menos en
principio.

Muchas gracias a todos y perdonad por el off-topic, por lo menos he
aprendido el uso de '-rpath', que también me va a ser de bastante
utilidad en Linux si en alguna ocasión necesito tener la misma
librería pero con dos o más versiones diferentes en el sistema.

Responder Con Cita
  #10 (permalink)  
Antiguo 09-05-2006, 21:20:57
Azdo
 
Mensajes: n/a
Predeterminado Re: Problemas con versiones de librerías y configure

Vaya con Googlegroups... escribes un mensaje larguísimo y no te lo
publica. Aquí va la segunda intentona:

Muchas gracias ante todo por tu tiempo y consejo, J. A.

J.A. Gutierrez escribiu:
> Azdo <azdo_b***yahoo.es> wrote:
>
> : estoy tratando de compilar las fuentes de un programa en un entorno un
> : tanto peculiar (un Irix). La versión de la libjpeg que trae no me
>
> entonces, deberias escribir en es.comp.os.unix


Bueno, he publicado aquí porque realmente tengo más experiencia con
sistemas Linux y además en este IRIX estoy usando las herramientas
GNU, con lo cual la funcionalidad es (casi) la misma (creo).

>
> : sirve. Lo que he hecho es compilarla desde las fuentes mediante algo
> : como esto:
>
> : ./configure --prefix=/mi_directorio --program-suffix=LIM
>
> supongo que el prefijo es /usr/local


No, es otro directorio.

>
> : para que el resto de programas que dependían de la libjpeg antigua
> : sigan funcionando. Tras "make && make install" me deja la jerarquía de
>
> y para no machacar el sistema de instalacion de software
> nativo y su base de datos de ficheros instalados...


Cierto, cierto.
>
> Por otra parte, no especificas la version de IRIX que usas,
> pero en cualquier caso, te conviene saber que es probable
> que puedas descargarte una libjpeg mas actual sin salirte
> del sistema "oficial".
>

Es lo que intenté al principio, pero según he sabido y experimentado,
la famosa distribución "freeware" para IRIX está bastante desfasada.

> Concretamente, el paquete "Image Format Library 1.2.2"
> incluye la version 6a de la libreria jpeg. (y probablemente
> exista una version mas nueva de IFL, creo recordar que era
> descarga gratuita registrandose en las paginas de SGI)
>


Sí, lo que puedes encontrar en http://freeware.sgi.com/

> : directorios de librerías, cabeceras y demás en el directorio
> : "/mi_directorio". Del sufijo "LIM" pasa completamente.
>
> no se necesita
>
> : El caso es que en el programa que quiero compilar, especifico la
> : librería jpeg que quiero usar con:
>
> : ./configure --with-jpeg=/mi_directorio
>
> : lo cual funciona perfectamente a la hora de compilar, dado que usa las
> : cabeceras .h de mi_directorio, aunque después compruebo que el
> : programa se está enlazando con las librerías dinámicas antiguas.
>
>
> Puedes hacer algo como:
>
> CC=cc CFLAGS="-Ofast" \
> CPPFLAGS="-I/usr/local/include" \
> LDFLAGS="-Ofast -L/usr/local/lib32 -rpath /usr/local/lib32" \
> ./configure \
> --with-jpeg=/usr/local \
> --with-libdir=/usr/local/lib32
>


Yo también pienso que la clave está en esos -rpath, la correcta
inclusión de LDFLAGS e incluso LD_LIBRARY_PATH. El problema es que el
sistema ya tiene definido un

-rpath /usr/freeware/lib32

que a veces (casi siempre) se antepone al mío y hace que se carguen
las librerías de sistema en lugar de las mías.

> : ¿Cómo puedo hacer para que se enlacen los programas con las
> : librerías nuevas?
>
> Creando las librerias dinamicas con numero de version
> superior a las del sistema y a~nadiendo /usr/local/lib[32]
> a LD_LIBRARY[N32]_PATH. Con eso el enlazador dinamico
> cargara las nuevas.
>
> Alternativamente puedes usar las opciones "-L" y "-rpath"
> Ejemplo:
>
> cc -mips3 -n32 foo.o -rpath /usr/local/lib32 -L/usr/local/lib32 -ljpeg
>
>
> : ¿Será más fácil enlazarlas estáticamente? En ese caso, ¿cómo se
> : haría?
>
> Y por ultimo, puedes enlazarla estaticamente, aunque no te lo
> recomiendo:
>
> cc -mips3 -n32 foo.o /usr/local/lib32/libjpeg.a
>


Buena idea, pero lo necesito hacer a través de las autotools.

Nota de última hora: lo que creo que va a ser la solución si que es
completamente off-topic; acabo de descubrir la distribución de
librerías nekoware, mucho más actualizada y coherente que la
"freeware" (adiós a la pesadilla de los directorios lib, lib32 y
lib64) y que parece que configura y compila bien, al menos en
principio.

Muchas gracias a todos y perdonad por el off-topic, por lo menos he
aprendido el uso de '-rpath', que también me va a ser de bastante
utilidad en Linux si en alguna ocasión necesito tener la misma
librería pero con dos o más versiones diferentes en el sistema.

Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con las versiones de Office. Bookmarks Carolina Guzman Newsgroup microsoft.public.es.word 1 22-07-2008 22:00:29
Problemas con las versiones de Office. Bookmarks Carolina Guzman Newsgroup microsoft.public.es.word 0 22-07-2008 18:04:56
Problemas con Menu "new" en librerias de documentos y proveedor de Jorge Newsgroup microsoft.public.es.sharepoint 2 29-02-2008 21:22:02
problemas con versiones IE Jordi Maycas Newsgroup microsoft.public.es.webmasters 8 20-03-2007 17:15:12
Problemas con versiones de librerías y configure Azdo Newsgroup es.comp.os.linux.programacion 28 10-05-2006 19:52:22





Powered by: vBulletin, Versión 3.6.8
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.

LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc.