🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
8 messages
8 total messages Started by Azdo Mon, 08 May 2006 16:53
Problemas con versiones de librerías y configure
#1084
Author: Azdo
Date: Mon, 08 May 2006 16:53
29 lines
2269 bytes
Hola,

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
sirve. Lo que he hecho es compilarla desde las fuentes mediante algo
como esto:

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

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
directorios de librerías, cabeceras y demás en el directorio
"/mi_directorio". Del sufijo "LIM" pasa completamente.

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.

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

¿Será más fácil enlazarlas estáticamente? En ese caso, ¿cómo se
haría?
Re: Problemas con versiones de librerías y configure
#1085
Author: Azdo
Date: Mon, 08 May 2006 22:01
6 lines
1500 bytes
O dicho de una forma más sencilla: ¿cómo puedo compilar software que
use librerías con versiones diferentes a las que ya haya instaladas
sin que haya problemas de coexistencia? ¿Es la estrategia "estática"
la única opción?¿Cómo se haría?

Gracias
Re: Re: Problemas con versiones de librerías y configure
#1086
Author: Jos� Luis P�rez Diez
Date: Tue, 09 May 2006 09:05
14 lines
1982 bytes
In article <1147125712.346291.207950@y43g2000cwc.googlegroups.com>, 
Azdo wrote:
> O dicho de una forma m�s sencilla: �c�mo puedo compilar software que
> use librer�as con versiones diferentes a las que ya haya instaladas
> sin que haya problemas de coexistencia? �Es la estrategia "est�tica"
> la �nica opci�n?�C�mo se har�a?
>
 Tienes que tener las librerias con nobres diferenetes y configurarlas 
con ldconfig
 
--
Los programadores esta ocupados intendtado mejorar los programas a 
prueba de idiotas. Mientras tanto el universo  intenta mejorar los 
idiotas. El universo va ganando
Re: Problemas con versiones de librerías y configure
#1087
Author: Javier M Mora (jamarier)
Date: Tue, 09 May 2006 09:12
28 lines
2399 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Azdo escribi�:
On 8 May 2006 15:01:52 -0700, Azdo wrote:
> O dicho de una forma m�s sencilla: �c�mo puedo compilar software que
> use librer�as con versiones diferentes a las que ya haya instaladas
> sin que haya problemas de coexistencia? �Es la estrategia "est�tica"
> la �nica opci�n?�C�mo se har�a?

Te recomiendo que le eches un vistazo a: 
http://www.dwheeler.com/program-library/Program-Library-HOWTO/t1.html

Donde se habla un poco de como se enlazan las librer�as. No es necesario
usar la estrategia est�tica. Simplemente puedes decirle al enlazador de
linux que antes de usar las generales del sistema (las instaladas) use
las particulares que tu le vas a decir (las de versiones extra�as). 

Para automatizar un poco, yo esto lo suelo hacer con un script bash.

atte. javier m mora
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQFEYF0LpRHCj3lPPYMRAsQdAJ4qZhciY44hLhbC4j0a/wgYVQ+dswCgkKsb
8YueBqB5/jNWBhWyv6AOvlw=
=TsHv
-----END PGP SIGNATURE-----
Re: Problemas con versiones de librerías y configure
#1088
Author: J.A. Gutierrez
Date: Tue, 09 May 2006 09:46
84 lines
3994 bytes
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)   
Re: Problemas con versiones de librerías y configure
#1089
Author: Azdo
Date: Tue, 09 May 2006 11:17
6 lines
1526 bytes
Hola,

si le cambio los nombres a las librerías, después en la compilación
del software, el script "configure" no las encontrará.

Muchas gracias de todas maneras
Re: Problemas con versiones de librerías y configure
#1090
Author: Azdo
Date: Tue, 09 May 2006 11:21
23 lines
2314 bytes
Hola,

Javier M Mora (jamarier) ha escrito:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>

> Donde se habla un poco de como se enlazan las librerías. No es necesario
> usar la estrategia estática. Simplemente puedes decirle al enlazador de
> linux que antes de usar las generales del sistema (las instaladas) use
> las particulares que tu le vas a decir (las de versiones extrañas).
>
> Para automatizar un poco, yo esto lo suelo hacer con un script bash.
>

Ese es el método que he estado intentando hasta ahora, pasar la
dirección de las cabeceras al configure, con lo que la compilación
resulta correcta. Lo malo es que después los programas buscarán
primero las librerías de sistema en lugar de las que les indique
mediante un hipotético LD_LIBRARY_PATH. Al llamarse de igual manera
prevalecen las de sistema, es por lo que me incliné a pensar en que
podría merecer la pena enlazar estáticamente la versión nueva.
Re: Problemas con versiones de librerías y configure
#1095
Author: Javier M Mora (jamarier)
Date: Wed, 10 May 2006 19:52
51 lines
3449 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Azdo escribi�:
On 9 May 2006 04:21:13 -0700, Azdo wrote:
> Javier M Mora (jamarier) ha escrito:
>
>> Donde se habla un poco de como se enlazan las librer�as. No es necesario
>> usar la estrategia est�tica. Simplemente puedes decirle al enlazador de
>> linux que antes de usar las generales del sistema (las instaladas) use
>> las particulares que tu le vas a decir (las de versiones extra�as).
>>
>> Para automatizar un poco, yo esto lo suelo hacer con un script bash.
>>
>
> Ese es el m�todo que he estado intentando hasta ahora, pasar la
> direcci�n de las cabeceras al configure, con lo que la compilaci�n
> resulta correcta. Lo malo es que despu�s los programas buscar�n
> primero las librer�as de sistema en lugar de las que les indique
> mediante un hipot�tico LD_LIBRARY_PATH. Al llamarse de igual manera
> prevalecen las de sistema, es por lo que me inclin� a pensar en que
> podr�a merecer la pena enlazar est�ticamente la versi�n nueva.
>

Citando del documento que te coment�: 
     You can temporarily substitute a different library for this
     particular execution. In Linux, the environment variable
     LD_LIBRARY_PATH is a colon-separated set of directories where
     libraries should be searched for first, before the standard set of
     directories; 

Es decir, las librer�as de LD_LIBRARY_PATH son utilizadas antes que las
del sistema.

En el peor de los casos un comando del tipo: 
     LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH  my_program
antepondr�a las librerias locales a cualquiera previamente indicada en
LD_LIBRARY_PATH

Todo esto y el script bash para automatizarlo est�n en el documento
ya citado:
http://www.dwheeler.com/program-library/Program-Library-HOWTO/x36.html

atte. javier m mora
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQFEYkSBpRHCj3lPPYMRAgqnAJ40LH9vQYJmoOCX/G+SlY9+t74RIQCfbnn3
LhnVAP5zp95L9MqQwzusA40=
=EyCl
-----END PGP SIGNATURE-----
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads