gcc-4.4.2 --disable-multilib

Aplicaciones del sistema
5 mensajes Página 1 de 1
daltomi
Miembro
Mensajes: 4
Registrado: Jue Ago 13, 2009 00:22
por daltomi » Vie Nov 27, 2009 18:45
Buenas.
Despues de tanto usar los manuales publicados en esta web, ya era hora de darle las gracias por tanta y buena información.
Estoy compilando GCC(4.4.2) de una manera un poco diferente a lo del manual, y se debe a un error y 2 configuraciones extras que realizo.
El error se da en el momento de compilación sobre un archivo stub32 o algo parecido, no recuerdo bien, lo soluciono agregando el parámetro --disable-multilib.
La primera configuración extra es el uso de --program-suffix=-4.4.2, ha funcionado bien pero no se si será del todo correcto usarla.
La segunda es realizar un link simbólico dentro del directorio gcc-4.4.2/ hacia los directorios gmp-xxx y mpfr-xxx(ambos sources) con nombres simples como gmp y mpfr. En el momento de la configuración y compilación uno se da cuenta que funciona porque de faltar dichos links da un error.
Y también en la compilación de GCC puede observarse como "entra" en esos directorios y los compila, mi gran duda es si será correcto hacerlo asi, como quedará en el sistema luego.

Más que resolver dudas queria darle las gracias. Blue_Light_PDT_01_15

Saludos.
manualinux
Administrador
Mensajes: 613
Registrado: Sab Mar 03, 2007 00:43
por manualinux » Vie Nov 27, 2009 20:42
Hola y bienvenido al foro y a la web, Blue_Light_PDT_01_19 me alegra saber que le das un buen uso a la documentación ubicada en este sitio y me alegro por ello. Respecto a tu consulta, nunca he compilado GCC de la manera que tú lo has hecho, así que no puedo decirte si es correcta o no lo es. De lo que me explicas te contesto por partes:

El error se da en el momento de compilación sobre un archivo stub32 o algo parecido, no recuerdo bien, lo soluciono agregando el parámetro --disable-multilib.

Según he mirado en google, el error se produce en sistemas de 64 bits (no sé si es tu caso), el problema reside en que si se añade esa opción, sólo se podrá compilar binarios de 64 bits, y esto es un problema.
La primera configuración extra es el uso de --program-suffix=-4.4.2, ha funcionado bien pero no se si será del todo correcto usarla.

El problema de usar sufijos o prefijos para el nombre de los binarios, es que el paquete no diferencias librerías de ejecutables, con lo que las librerías resultantes crean bastante confusión en el nombre, por lo demás es algo irrelevante en lo que se refiere al funcionamiento del compilador.
La segunda es realizar un link simbólico dentro del directorio gcc-4.4.2/ hacia los directorios gmp-xxx y mpfr-xxx(ambos sources) con nombres simples como gmp y mpfr. En el momento de la configuración y compilación uno se da cuenta que funciona porque de faltar dichos links da un error.
Y también en la compilación de GCC puede observarse como "entra" en esos directorios y los compila, mi gran duda es si será correcto hacerlo asi, como quedará en el sistema luego.

Si tienes instalado correctamente tanto gmp como mpfr (incluidas las devel), no es necesario realizar lo que tú has hecho. Si funciona o no, y que repercusión tiene en el uso del compilador, no te lo puedo decir, porque no lo he probado, por la sencilla razón de que no es necesario usar los paquetes de código fuente de dichas dependencias.

En fin, espero haberte servido de algo, y sé bienvenido nuevamente a esta web.

Un cordial saludo.
daltomi
Miembro
Mensajes: 4
Registrado: Jue Ago 13, 2009 00:22
por daltomi » Sab Nov 28, 2009 15:36
Hola, gracias por responder y por la bienvenida.
Siento no haber sido más preciso como corresponde.
Si, efectivamente utilizo una plataforma de 64 bits, VectorLinux. Aquí practicamente los programas que más utilizo los he compilado.
En lugar de compilar e instalar gmp y mpfr,los actuales son obsoletos para GCC 4.4.2, hice esa cosa rara de links y he visto que tengo las versiones viejas de gmp, mpfr y en algún lado las versiones compiladas en GCC, creeria que se las guardó para él Blue_Light_PDT_01_15 Funciona aparentemente, ha estado funcionando de ésta manera con la version GCC 4.3.4 anterior.
Pero no quiero llevarme sorpresas a futuro, asi que la próxima voy a ser fiel al manual Blue_Light_PDT_01_15

Saludos y gracias.
manualinux
Administrador
Mensajes: 613
Registrado: Sab Mar 03, 2007 00:43
por manualinux » Sab Nov 28, 2009 19:28
tengo las versiones viejas de gmp, mpfr y en algún lado las versiones compiladas en GCC, creeria que se las guardó para él Blue_Light_PDT_01_15 Funciona aparentemente, ha estado funcionando de ésta manera con la version GCC 4.3.4 anterior.

Para instalarlos desde las fuentes, primero compilas e instalas, Gmp y luego Mpfr. Los comandos quedarían así:

Gmp
Código: Seleccionar todo
$ ./configure --prefix=/usr --enable-cxx --enable-mpbsd
$ make
$ su
# make install
# ldconfig -v

Mpfr
Código: Seleccionar todo
$ ./configure --disable-dependency-tracking --prefix=/usr
$ make
$ su
# make install
# ldconfig -v


Gmp detecta de forma automática el procesador y la arquitectura del sistema, no hay que usar optimizaciones. Con Mpfr sí se que se pueden usar optimizaciones, si así lo desea el usuario. GCC sólo usa las cabeceras de uno y de otro, es decir, que no necesita enlazarse contra las librerías de estos, de ahí que en teoría, te tenga que funcionar sin ningún problema.

Enlaces

http://gmplib.org/

http://www.mpfr.org/

http://www.linuxfromscratch.org/blfs/vi ... l/gmp.html
daltomi
Miembro
Mensajes: 4
Registrado: Jue Ago 13, 2009 00:22
por daltomi » Dom Nov 29, 2009 06:35
Muchas gracias, ya los instale y todo bien Blue_Light_PDT_01_15

Saludos.
5 mensajes Página 1 de 1

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado