Incapaz de compilar correctamente

bueno, esto no pretende ser exactamente una pregunta sino más bien una queja/comentario... y es que, aunque creo que ya voy haciéndome con Linux, todavía me rompo la cabeza para compilar los programas, y el 90% de las veces ni lo consigo... siempre me dice que falta el archivo tal o cual (que normalmente no consigo ni encontrar) e incluso cuando los compilo correctamente, generalmente no funcionan.

En fin, ¿es fruto de mi novatismo? ¿Con la práctica resulta más fácil, o es mejor buscar siempre los RPM?
Es mejor usar el gestor de paquetes que tengas, que asi veras como te dice que no te falta ningun archivo :) Y me imagino que lo que te haran falta al instalar los archivos seran librerias, a lo que te contesto lo mismo. Si te falta alguna libreria haz un urpmi -i nosekelibreria (era asi, no? XD esque el urpmi no es mi fuerte) y te instala la libreria y las dependencias que le hagan falta :)

Salu2!
Cuando entiendes el proceso generalmente es mucho más facil

Saludos.Ferdy
Un ejemplo: no entiendo por qué hace esto.

al intentar instalar un complemento para la notificación de correo, me da el siguiente mensaje de error:

checking pkg-config is at least version 0.9.0... yes
checking for GNOME_CFLAGS...
checking for GNOME_LIBS...
Package libglade-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libglade-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libglade-2.0' found
configure: error: unable to find the GNOME libraries
[root@x1-6-00-0d-61-ae-ba-f2 mail-notification-2.0]#


sin embargo, al realizar una búsqueda me dice que libglade-2.0.pc sí existe, en el directorio /usr/local/lib/pkgconfig... y para asergurarme de que estaba en la ruta, he agregado manualmente el directorio:

[root@x1-6-00-0d-61-ae-ba-f2 mail-notification-2.0]# PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig"

[root@x1-6-00-0d-61-ae-ba-f2 mail-notification-2.0]# echo $PKG_CONFIG_PATH
:/usr/local/lib/pkgconfig


Conque hasta donde yo entiendo SÍ está en la ruta... ¿qué es lo que sucede? :?
No te compliques la vida. Los gestores de paquetes que traen las distribuciones suelen estar bastante bien todos (vaaaaaaale... sí.... mi portage es el mejor y más bonito de todos.... XD). Utiliza siempre que puedas el gestor de tu distribución y deja lo de compilar para casos en que no encuentres un programa específico.

Si quieres aprender a compilar realmente y bien, como dice Ferdy, tendrás que comprender el proceso y para eso tendrás que empollar algo, que no parece ser lo que buscas ahora.

Un saludo!
FuckingFreaky escribió:No te compliques la vida. Los gestores de paquetes que traen las distribuciones suelen estar bastante bien todos (vaaaaaaale... sí.... mi portage es el mejor y más bonito de todos.... XD). Utiliza siempre que puedas el gestor de tu distribución y deja lo de compilar para casos en que no encuentres un programa específico.

Si quieres aprender a compilar realmente y bien, como dice Ferdy, tendrás que comprender el proceso y para eso tendrás que empollar algo, que no parece ser lo que buscas ahora.

Un saludo!


A la larga sí preferiría hacerlo, tengo entendido que los programas compilados funcionan mejor que los binarios. A la larga, como digo. Y además sucede que algunos de los programas que necesito no se encuentran en binario, así que me toca joderme y aprender.

El smeg, por ejemplo, que necesito usar pero ya: imposible en RPM.

A ver si alguien me explica el error expuesto arriba porque joder... em faig creus.
Pues quizá necesites los paquetes devel. Si usas mandrake:
urpmi libglade2.0_0-devel

Aunque no estoy seguro de que tenga algo que ver.

Saludos
Es más facil instalar el libglade-devel o libglade-dev con los paquetes de tu distribución. Si tienes versiones distintas entre el runtime y las cabeceras, es normal que luego no te funcione nada. Sobre todo porque enlazarás con unas librerías y luego al ejecutarlo serán otras posiblemente distintas.

Saludos.Ferdy
Bou si te gusta lo compilado y tienes tiempo instala gentoo, que aunque tarde horas en instalar luego una vez instalado va todo raaaapido y es muuuuuy facil de mantener, el handbook es buenisimo.

Y si ves que te va a costar me agregas al msn y te ayudo en lo que quieras :)

Un saludo.
No creo que haga falta instalar Gentoo para que te compile un paquete. Lo que necesitas saber es lo que te ha dicho Ferdy, comprobar que realmente tienes lo que necesitas para compilar (tanto la versión como el sitio donde se encuentra) nada más.

Saludos.
Si te gusta compilar los paquetes pro lo que has expuesto, tu distribución es sin duda gentoo.

Portage, su gestor de paquetes, actúa como lo pueden hacer urpmi y demás, sólo que compilando los paquetes en tu máquina. Puedes configurar un montón de cosas a la hora de compilarlos y así consigues llevar fácilmente una coherencia en todo el sistema. En serio, si tu opción es compilar, no lo dudes: Gentoo.

Un saludo!

P.D: Zorrillo... digo... Fox, mira contéstame a mi privadín, anda...
bpeople, como sabras gentoo es mucho gentoo :D, casi todos usamos gentoo en EOL jajajaj.


PD: FF lee privi.

PD2: David warron, vente al lado de la luz.
Hombre bpeople... claramente para compilar algo no hace falta gento... pero tampoco es de agrado hoy en día irte compilando "a mano" absolutamente todo lo que quieras tener en tu máquina... Si realmente quiere tener los programas compilados y no quiere andar con tanto lío, creo que gentoo es con diferencia la mejor opción.

Salu2!
Me jode un poco porque hace un par de días que me puse Mandrake LE y lo tenía todo configuradillo y encantado que estaba... pero habéis hecho que me muerda el gusanillo, voy a probar gentoo, sí. :-)

En cuanto esté bajado le meto caña... si podéis decirme alguna forma de salvar lo máximo posible de lo que tengo configurado (opciones de los programas, temas etc) lo agradecería.
Bou sobre guardar configuraciones, supongoq ue manteniendo tu home, aun asi no te costara mucho recuperar todo eso.

Puedes bajar el cd minimo que con eso vas de sobra si tienes adsl en casa. Despues con gentoo estaras mucho mas agusto jiiij :).
Bou escribió:En cuanto esté bajado le meto caña...


Una pregunta así muy tonta... ¿La instalación se hace entera en modo texto?

Es que estoy un poco acojonado.


EDITO: estoy leyendo el manual de instalación pero con lo de configurar la red me pierdo totalmente... ¿Podéis decirme si es necesario? Hace siglos y siglos que no configuro la red, desde siempre se ha hecho solo.
bou, si haces esa pregunta y no te imaginas ni como es... mejor que no lo hagas sinceramente, o hazlo en un equipo de pruebas...

cuando te encuentres con ganas te miras el handbook que aunque esta muy masticado si vienes de mdk hay que echarle bastante moral, y si te has concienciado de lo que vas a hacer el resto es echarle ganas e ilusion, pero pasarse asi porque si... pues no.

yo he tenido red hat, mdk, fedora y ahora kubuntu (debian en el server) y ...gentoo hice un intento y la verdad... no me gusta perder el tiempo con los pc's, y gentoo es tan configurable tan compilable y tan personalizable que hace perder mucho mas tiempo que el que ganas, a mi parecer digo.

PD: no me hago responsable de que un dia de estos me lance a ello.
Bou escribió:EDITO: estoy leyendo el manual de instalación pero con lo de configurar la red me pierdo totalmente... ¿Podéis decirme si es necesario? Hace siglos y siglos que no configuro la red, desde siempre se ha hecho solo.

Pues si que es necesario,ya que lo unico que tiene el cd es el paquete portage,con lo que te instales TODO el sistema(a no se que empieces desde el stage 3,que tendras lo basico,pero no entorno grafico ni demas),asi que la red vas a necesitarla,a no ser que te conformes con un PC con solo consola,y poco mas.Aunque el manual esta perfectamente explicado todo,si no tienes mucha idea,simplemente sigue sus pasos al pie de la letra(yo lo hice asi,y fui sobrado :D )
De todas maneras,te aconsejo que primero pruebes con las distros "faciles" hasta que mas o menos lo domines,porque en Gentoo muy pocas cosas hay que se hagan automaticamente,asi que te vas a tener que pelear un poco con el al principio [tomaaa]
Saludos!![bye]
Olvidemos pues de momento la instalación de Gentoo, seguiré mirando el manual y cuanndo lo tenga claro lo instalaré... que sin el entorno gráfico no voy a ninguna parte.

¿Dónde puedo encontrar documentación relativa a la compilación? Algo que me permita entender cosas como "si tienes versiones distintas entre el runtime y las cabeceras...", ya que no sé ni lo que es el runtime, ni lo que son las cabeceras, ni cómo se mira la versión que es, y ya me da palo preguntarlo TODO.

Y ya de paso y de momento, pues cómo puedo añadir repositorios RPM que sean fiables: ya que si añado sólo los oficiales (mediante easy urpmi) no me encuentra ningún paquete de los que necesito, pero si añado las contribuciones inmediatamente me sale lo de las firmas no válidas y ya no me instala nada bien.

Y una duda: qué pasa si instalo RPM que no se correspondan con mi distribución o con mi arquitectura: si no van, o van lentos, o qué les ocurriría.

Por preguntar desde luego que no quede, es que cada día me siento más en casa con Linux, y éste es el último escalón que me falta para disfrutarlo completamente [beer]
Hombre... la red puedes no configurarla al principio. Puedes instalar desde el stage3 y luego utilizar el CD con paquetes precompilados para instalar el escritorio y los programas... pero vamos, que lo veo un poco chorrada ya que lo que tú quieres es compilar! Pues mejor que aproveches y ya uqe lo vas a instalar, lo vayas compilando todo. Supongo que sabes que el compilar tarda más que el coger un binario y meterlo directamente, no? Lo digo porque la instalación ocmpilada dura unas cuantas horas... pero a mí, por lo menos, me merece la pena.
De todas formas, ¿en donde te pierdes exactamente?

La instalación puede asustar al principio pero el manual te va llevando muy bien, y al final se reduce a "escribe esto, ahora esto otro, luego no sé qué..."

Sobre lo que ha dicho el_fer , pues eso va un poco a gustos y ganas. Yo pasé por RedHat, Mandrake y Debian aguantando poquísimo (una semana más o menos), y no fue hasta que me puse con gentoo que acabé utilizando Linux seriamente.

Un saludo!
Hombre, yo quiero compilar los programas que yo instale a posteriori... si me da el gestor de ventanas precompilado ya me va bien, porque vaya nunca me había ido el PC tan fino, rápido y silencioso como me va ahora, y es precompilado. Pero en última instancia tienes razón, si pongo linux es para compilarlo todo! así que primero, mejor aprendo a compilar [jaja]

Me pierdo en todo lo que es la congifuración de la red (iface_eth0=" broadcast netmask ), más que nada porque no sé obtener esos datos. Aparte de eso, menos la última sección que ya no me enteraba de nada porque eran las 4 de la mañana, todo muy claro, la verdad es que sí.

Y aunque parezca obvio... gracias por tanta paciencia, me estáis ayudando de verdad.
Hya varios problemas a la hora de la compilación. La mayor parte se solucionan instalando los devels, por ejemplo, libglade-devel, q son necesarios si los compilas.
Pero luego está el problema, para mi básico, de las rutas. Seguramente el programa vaya a buscar las librerias en un sitio diferente a donde las tienes y por eso no lo encuentra. A veces tienes una libreria en /lib y el programa a compilar las busca en /usr/lib. Esto puedes solucionarlo de 3 formas:

1- Haces un enlace simbolico de la libreria q te pida en la ruta q busca.
2- Añades esa ruta al /etc/ld.conf y actualizas con ldconfig.
3- Antes de compilar haz "./configure --help" para ver si puedes, mediante prefix, variar la ruta en la q busca.
Otra opción mucho más radical sería revisar a pelo el archivo configure, pero es muy tedioso y complicado.

Una vez solucionado el problema te creará un archivo Makefile. Revisa las rutas antes de hacer el "make" porq a veces las rutas no son las correctas.

Con todo esto pocos problemas deberás tener.
Por la paciencia no te preocupes. Todos nos hemos visto con complicaciones y de momento aquí seguimos con ayuda de los demás ;).

Hombre, te digo lo de compilar todo, porque es que gentoo se basa en eso... Mandrake y todas las que utilizan RPM, pues utilizan RPM para todo... se lo bajan, lo descomprimen, instalan. En Gentoo TODOS los paquetes de portage (que por si acaso no lo has leído aún, es el sistema de gestión de paquetes de gentoo) él se los baja, los descomprime, le aplica tus opciones de compilación, compila, instala. Lógicamente tarda maś en compilar el programa que en instalar un binario, pero luego va todo más fino, aparte de que como habrás visto con las USE y el make.conf puedes especificar bastante opciones a la hora de compilar tus programas.

El caso, que me pierdo. lo de ifconfig es tal que así... Imagina que tu puerta de enlace es 192.168.1.1, y la de tu PC por tanto es 192.168.1.2 ok? Pues ifconfig quedaría tal que así:
ifconfig eth0 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 up
route add default gw 192.168.1.1

Luego ya editas /etc/resolv.conf y pones las dns con "nameserver" delante de la dirección, tal como te dice en el manual.
Todo este proceso es más rollo, sí, pero mira, al menos ya vas sabiendo cosillas como configurar una red en Linux.
Ah! Por si acaso... esto es para cuando utilizas ip fija dentro de tu red. Si utilizas DHCP el método es otro.

Un saludo y al toro!
De momento me voy a imprimir el manual y voy a repasarlo un poco, y en cuanto tenga unas horas para instalar y pueda correr el riesgo de cargarme todo lo que tengo en el PC XD instalo.

De momento... una duda que me corroe: los programas que instalo compilando (como root) puedo ejecutarlos si estoy como root, pero con mi usuario no puedo hacerlo ("la ubicación especificada es inválida").

Un ejemplo: acabo de compilar sin problemas el Abiword. veo que el ejecutable está en /usr/local/bin, junto con otros programas que he compilado correctamente. Si abro la carpeta se abren correctamente, pero al teclear el nombre del programa desde la consola o el menú "ejecutar un programa" me da el problema arriba mencionado. ¿Qué tengo que hacer, añadir la carpeta /usr/local/bin a mi ruta de usuario?

¿Con qué comando tendría que hacer eso? :?
No compiles como root, pasa a root sólamente para el make install, te ahorrarás problemas ;-)

Cuando compilo algo suelo tener un terminal con la compilación con usuario sin privilegios (el mio) y otro con root por si necesito instalar alguna dependencia. Al principio te puede parecer raro, pero es fácil pillarle el tranquillo a saber que necesitas.

Aparte de inglés creo que vas sobrado, y los errores de compilación suelen ser bastante explícitos. Si te dice que no encuentra libglade, busca el paquete con "urpmq --fuzzy libglade", si te dice que no encuentra un ejecutable como moc, puedes buscar en los listados de ficheros por paquete con "urpmf moc".

De todas formas, yo apenas he necesitado compilar nada, en los repositorios oficiales tienes el 95% de las cosas que puedas necesitar, y el otro 5% es porque son programas sin probar, y casi siempre puedes encontrar otros repositorios :-). MDV está suficientemente optimizada en cuanto a flags de compilación.

No te recomiendo que a estas alturas te metas con Gentoo, primero peléate con una que te de las cosas más hechas, no intentes de primeras meter Gentoo como sistema principal, pues es posible que te acabes desesperando.
Bou, si vas a imprimir, imprimi la version 2005.0 como minimo, si esta la de 2005.1 mejor, esque estas viendo la de 2004.3 (es antigua ya) y la de amd64 (que no se si tienes)

Cualquier otra cosa te podemos ayudar :).
Churly escribió:De todas formas, yo apenas he necesitado compilar nada, en los repositorios oficiales tienes el 95% de las cosas que puedas necesitar


Una pregunta Churly, ¿cuál es la dirección de esos repositorios oficiales?

¿Te aparece el programa SMEG en ellos? ¿o algún otro editor de menús? Es lo que me hace falta más urgentemente, y no parece que haya nada parecido en los repositorios oficiales que yo tengo (los de cica.es).

A todo esto, el SMEG lo compilé correctamente pero al ejecutarlo da esto:

[david@x1-6-00-0d-61-ae-ba-f2 ~]$ smeg
Traceback (most recent call last):
File "/usr/bin/smeg", line 30, in ?
from MenuHandler import MenuHandler
File "/usr/lib/smeg/MenuHandler.py", line 29, in ?
import xdg.Menu, xdg.Config, xdg.IniFile, xdg.MenuEditor, xdg.BaseDirectory
ImportError: No module named Config
[david@x1-6-00-0d-61-ae-ba-f2 ~]$


¿Sabéis qué es lo que me falta?
Diría que te falta esto: http://pyxdg.sf.net

Saludos.Ferdy
Ferdy escribió:Diría que te falta esto: http://pyxdg.sf.net


No, ya lo instalé.

[root@x1-6-00-0d-61-ae-ba-f2 david]# urpmi pyxdg
ya está todo instalado
[root@x1-6-00-0d-61-ae-ba-f2 david]# smeg
Traceback (most recent call last):
File "/usr/bin/smeg", line 30, in ?
from MenuHandler import MenuHandler
File "/usr/lib/smeg/MenuHandler.py", line 29, in ?
import xdg.Menu, xdg.Config, xdg.IniFile, xdg.MenuEditor, xdg.BaseDirectory
ImportError: No module named Config
[root@x1-6-00-0d-61-ae-ba-f2 david]#


Gracias de todos modos.
import xdg.Menu, xdg.Config, xdg.IniFile, xdg.MenuEditor, xdg.BaseDirectory
ImportError: No module named Config


No lo digo yo... te lo dice python

Saludos.Ferdy
[root@x1-6-00-0d-61-ae-ba-f2 pyxdg-0.14]# sudo chmod +x installsmeg && sudo ./installsmeg && rm -f installsmeg
Getting files...
Installing new libgnome-menu...
Installing new libgnome-menu-dev
Installing new gnome-menus...
Installing new python-xdg...
Installing smeg...
Cleaning up...
[root@x1-6-00-0d-61-ae-ba-f2 pyxdg-0.14]# smeg
Traceback (most recent call last):
File "/usr/bin/smeg", line 30, in ?
from MenuHandler import MenuHandler
File "/usr/lib/smeg/MenuHandler.py", line 29, in ?
import xdg.Menu, xdg.Config, xdg.IniFile, xdg.MenuEditor, xdg.BaseDirectory
ImportError: No module named Config
[root@x1-6-00-0d-61-ae-ba-f2 pyxdg-0.14]#


[root@x1-6-00-0d-61-ae-ba-f2 pyxdg-0.14]# urpme pyxdg
quitando pyxdg-0.5-3mdk.noarch
[root@x1-6-00-0d-61-ae-ba-f2 pyxdg-0.14]# urpmi pyxdg

ftp://ftp.cica.es/Mandrakelinux/official/2005/i586/media/contrib/pyxdg-0.5-3mdk.noarch.rpm
instalando pyxdg-0.5-3mdk.noarch.rpm desde /var/cache/urpmi/rpms
Preparando... #############################################
1/1: pyxdg #############################################
[root@x1-6-00-0d-61-ae-ba-f2 pyxdg-0.14]#


Y me sigue dando el mismo error... pero el pyxdg lo tengo instalado, SEGURO.
Bou escribió:
Una pregunta Churly, ¿cuál es la dirección de esos repositorios oficiales?

¿Te aparece el programa SMEG en ellos? ¿o algún otro editor de menús? Es lo que me hace falta más urgentemente, y no parece que haya nada parecido en los repositorios oficiales que yo tengo (los de cica.es).

A todo esto, el SMEG lo compilé correctamente pero al ejecutarlo da esto:



¿Sabéis qué es lo que me falta?



Ya estás usando los oficiales por lo que veo. Son los que sacaste de la página Easy URPMI.

No, SMEG estará muy verde aún, y no han planeado meterlo. La verdad es que no conozco de nada el programa.
31 respuestas