A eso que le llaman compilar, textualmente wikipedia dice
Hay que tener en cuenta ciertas cosas que nos van a ayudar a tener éxito en la compilación de una aplicación.
1-Los devx
Que no son otra cosa que el paquete que contiene las herramientas de compilación por lo general se ofrecen en paquetes aparte para no hacer mas grande el tamaño de la iso y en compresion .sfs.
2-Las librerias
Dependiendo de la versión de Puppy que tengas instalada asi seran las libreriar que necesites
Slacko = librerías slackwae
Lucid = librería ubuntu 10.04
Precise = librerías Debian wheezy o Precise Pangolin de Ubuntu
3-El código fuente de la aplicación
Hay muchos servidores que ofrecen su código fuente Github, Sourceforge entre otros.
Dependiendo de la versión de puppy que uses puede que la presencia o ausencia de librerías varie de una versión a otra así que para saberlo abrimos el ppm y buscamos esa librería y ahí veremos que ya esta instalada, si no a buscarla se ha dicho ya sea en la misma interface PPM o en algún repositorio de librerías de Debian o Ubuntu (si fuera el caso de algún Puppy derivado de esas distros)
El archivo INSTALL Y README
Los sources codes o codigos fuente de las aplicaciones traen instructivos que te van guiando como o que comandos hacer para poder compilar, estos instructivos o tutoriales vienen en estos tipos de archivos, generalmente escritos en ingles, si no sabes ingles tendrás que valerte de cualquier traductor, pero es vital que leas la info ya que eso ahorra que des vueltas tratando de averiguar como
Bien ya tenemos la teoría ahora tratemos de compilar algo, veamos algo interesante y que cualquier linuxero usa es Conky ( Un monitor de estado )
Primero vamos a googlear hasta dar con el codigo fuente.
escribo en el buscador Conky source codes.
http://conky.sourceforge.net/
Bien lo encontre aqui ahora leemos un poco y buscamos la ultima versión estable como pueden ver es la que está de color rojo ( Seguramente ese proyecto se lleve en Github) pero para el ejercicio con este bastará.
Lo descagamos y descomprimimos.
En puppy basta con darle click al archivo y se descomprime seguramente ya sabes como hacerlo desde linea de comandos.
Ahí esta como puedes ver, también tienen sus archivos readme e install, a leer un poco
El archivo readme tenia un listado de comandos para conky y el archivo install como compilarlo
Sobre los flags ( viñetas de compilación )
Los flags son opciones previas que puedes darle a una compilación para optimizar su proceso entre algunas de ellas están.
El directorio prefijado donde quieras compilar --prefix=/Directorio
Habilita o deshabilita alguna característica --enable-FEATURE --disable-FEATURE
Hay mas pero mejor tratemos de compilar "Manos a la obra"
Quiero compilar conky con todos los problemas que me presente en la actual versión que estoy usando
Puppy-es_os Badass.
nos movemos al directorio del paquete
cd /root/Downloads/conky-1.9.0
Haré un listado para ver los archivos
ls
└─[Badass][$] ls
aclocal.m4 compile configure data INSTALL m4 NEWS TODO
AUTHORS config.guess configure.ac depcomp install-sh Makefile.am README
autogen.sh config.rpath configure.ac.in doc ltmain.sh Makefile.in src
ChangeLog config.sub COPYING
Ok estamos listos ahora vamos a compilar usando algunos flags que encontré en otros tutoriales
./configure --disable-mpd --disable-moc --enable-wlan --enable-imlib2 --enable-lua-cairo --enable-lua-imlib2
Si tuvieras tarjeta de video nvidia puedes agregar este comando
./configure --disable-mpd --disable-moc --enable-wlan --enable-imlib2 --enable-lua-cairo --enable-lua-imlib2 --enable-nvidia
Bien luego enter a ver que sucede.
checking for LUA... no
checking for LUA51... no
checking for LUA51... configure: error: Package requirements (lua5.1 >= 5.1) were not met:
No package 'lua5.1' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LUA51_CFLAGS
and LUA51_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Bien al parecer necesito las librerías LUA51 y que también puedo ajustar esa variable con el comando LUA51_CFLAG y LUA51_LIBS, pero quiero mi conky completo asi que vamos a buscarlas
Ok encontré liblua5.1.0 dev que me servirá para compilar conky, la descargo, instalo y a ver que pasa, la pueden buscar tanto en google como en el administrador de paquetes.
Como pueden ver tengo un check en DEV para que el administrador de paquetes apunte al las librerías de desarrollo.
./configure --disable-mpd --disable-moc --enable-wlan --enable-imlib2 --enable-lua-cairo --enable-lua-imlib2
Ahora me dice esto:
checking for LUA51... yes
checking for cairo... yes
checking for cairo_xlib... yes
checking for tolua++... no
checking for tolua++5.1... no
checking for tolua++-5.1... no
configure: error: tolua++, tolua++5.1, or tolua++-5.1 is required for Lua extras.
Ahora a buscar esas librerías tolua++5.1
El ppm no encontró ninguna coincidencia así que la buscare en otra parte.
Bien la encontré en el repo de Debian wheezy
Ahora de nuevo a compilar.
./configure --disable-mpd --disable-moc --enable-wlan --enable-imlib2 --enable-lua-cairo --enable-lua-imlib2
No voy a postear todo lo que compilo sólo la ultima parte.
conky 1.9.0 configured successfully:
Installing into: /usr/local
System config dir: ${prefix}/etc
C compiler flags: -I/usr/include/lua5.1 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wall -W
Libraries: -liw -lncurses -lm -lX11 -lImlib2 -llua5.1 -ltolua++5.1 -lXext -lXdamage -lXfixes -lXft -lglib-2.0 -lasound -lrt -ltolua++5.1
Linker flags: -Wl,-O1
* X11:
X11 support: yes
XDamage support: yes
XDBE support: yes
Xft support: yes
ARGB support yes
* Music detection:
Audacious: no
BMPx: no
MPD: no
MOC: no
XMMS2: no
* General:
math: yes
hddtemp: yes
portmon: yes
RSS: no
Curl: no
Weather
METAR: no
XOAP: no
wireless: yes
IBM: no
nvidia: no
eve-online: no
config-output: yes
Imlib2: yes
ALSA mixer: yes
apcupsd: yes
I/O stats: yes
ncurses: yes
* Lua (yes) bindings:
Cairo: yes
Imlib2: yes
bien ya esta el tema de ./configure
ahora hacemos el comando make
make
El proceso tarda de acuerdo al tipo de maquina que tengas.
Ahora procedemos a instalar, si quieres compartir el paquete con otros puedes instalar fuera del sistema y despues crear el paquete pet ( explicare como crear un paquete .pet de forma detallada en próximos tutoriales)
Bueno como te decia, si quieres insatalar en el sistema haces el comando
make install
Y si deseas crear un directorio para después hacer un paquete escribes
make install DESTDIR=/tmp/conky-1.9.0
Donde DESTDIR significa directorio de destino
/tmp/ una carpeta temporal
y conky-1.9.0 el directorio se va a crear dentro de esa carpeta
Ok nos vamos a ese directorio y veremos si esta presente.
cd /tmp
Y si , efectivamente hemos creado un directorio que contiene todos los archivos necesarios para crear un .pet, creamos el pet, instalamos y buscamos algun tema conky con lua para nuestro sistema.
No es un conky de campeonato pero acepta imagenes propio de las librerías Lua.
Gracias y nos leemos en la próxima.
Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. Este proceso de traducción se conoce como compilación.Bien ahí, yo se que muchos han leído el concepto y claro tienen conocimiento compilando en distribuciones linux pero, como se compila en Puppy?
Hay que tener en cuenta ciertas cosas que nos van a ayudar a tener éxito en la compilación de una aplicación.
1-Los devx
Que no son otra cosa que el paquete que contiene las herramientas de compilación por lo general se ofrecen en paquetes aparte para no hacer mas grande el tamaño de la iso y en compresion .sfs.
2-Las librerias
Dependiendo de la versión de Puppy que tengas instalada asi seran las libreriar que necesites
Slacko = librerías slackwae
Lucid = librería ubuntu 10.04
Precise = librerías Debian wheezy o Precise Pangolin de Ubuntu
3-El código fuente de la aplicación
Hay muchos servidores que ofrecen su código fuente Github, Sourceforge entre otros.
Dependiendo de la versión de puppy que uses puede que la presencia o ausencia de librerías varie de una versión a otra así que para saberlo abrimos el ppm y buscamos esa librería y ahí veremos que ya esta instalada, si no a buscarla se ha dicho ya sea en la misma interface PPM o en algún repositorio de librerías de Debian o Ubuntu (si fuera el caso de algún Puppy derivado de esas distros)
El archivo INSTALL Y README
Los sources codes o codigos fuente de las aplicaciones traen instructivos que te van guiando como o que comandos hacer para poder compilar, estos instructivos o tutoriales vienen en estos tipos de archivos, generalmente escritos en ingles, si no sabes ingles tendrás que valerte de cualquier traductor, pero es vital que leas la info ya que eso ahorra que des vueltas tratando de averiguar como
Bien ya tenemos la teoría ahora tratemos de compilar algo, veamos algo interesante y que cualquier linuxero usa es Conky ( Un monitor de estado )
Primero vamos a googlear hasta dar con el codigo fuente.
escribo en el buscador Conky source codes.
http://conky.sourceforge.net/
Bien lo encontre aqui ahora leemos un poco y buscamos la ultima versión estable como pueden ver es la que está de color rojo ( Seguramente ese proyecto se lleve en Github) pero para el ejercicio con este bastará.
Lo descagamos y descomprimimos.
En puppy basta con darle click al archivo y se descomprime seguramente ya sabes como hacerlo desde linea de comandos.
Ahí esta como puedes ver, también tienen sus archivos readme e install, a leer un poco
El archivo readme tenia un listado de comandos para conky y el archivo install como compilarlo
Sobre los flags ( viñetas de compilación )
Los flags son opciones previas que puedes darle a una compilación para optimizar su proceso entre algunas de ellas están.
El directorio prefijado donde quieras compilar --prefix=/Directorio
Habilita o deshabilita alguna característica --enable-FEATURE --disable-FEATURE
Hay mas pero mejor tratemos de compilar "Manos a la obra"
Quiero compilar conky con todos los problemas que me presente en la actual versión que estoy usando
Puppy-es_os Badass.
nos movemos al directorio del paquete
cd /root/Downloads/conky-1.9.0
Haré un listado para ver los archivos
ls
└─[Badass][$] ls
aclocal.m4 compile configure data INSTALL m4 NEWS TODO
AUTHORS config.guess configure.ac depcomp install-sh Makefile.am README
autogen.sh config.rpath configure.ac.in doc ltmain.sh Makefile.in src
ChangeLog config.sub COPYING
Ok estamos listos ahora vamos a compilar usando algunos flags que encontré en otros tutoriales
./configure --disable-mpd --disable-moc --enable-wlan --enable-imlib2 --enable-lua-cairo --enable-lua-imlib2
Si tuvieras tarjeta de video nvidia puedes agregar este comando
./configure --disable-mpd --disable-moc --enable-wlan --enable-imlib2 --enable-lua-cairo --enable-lua-imlib2 --enable-nvidia
Bien luego enter a ver que sucede.
checking for LUA... no
checking for LUA51... no
checking for LUA51... configure: error: Package requirements (lua5.1 >= 5.1) were not met:
No package 'lua5.1' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LUA51_CFLAGS
and LUA51_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Bien al parecer necesito las librerías LUA51 y que también puedo ajustar esa variable con el comando LUA51_CFLAG y LUA51_LIBS, pero quiero mi conky completo asi que vamos a buscarlas
Ok encontré liblua5.1.0 dev que me servirá para compilar conky, la descargo, instalo y a ver que pasa, la pueden buscar tanto en google como en el administrador de paquetes.
Como pueden ver tengo un check en DEV para que el administrador de paquetes apunte al las librerías de desarrollo.
./configure --disable-mpd --disable-moc --enable-wlan --enable-imlib2 --enable-lua-cairo --enable-lua-imlib2
Ahora me dice esto:
checking for LUA51... yes
checking for cairo... yes
checking for cairo_xlib... yes
checking for tolua++... no
checking for tolua++5.1... no
checking for tolua++-5.1... no
configure: error: tolua++, tolua++5.1, or tolua++-5.1 is required for Lua extras.
Ahora a buscar esas librerías tolua++5.1
El ppm no encontró ninguna coincidencia así que la buscare en otra parte.
Bien la encontré en el repo de Debian wheezy
Ahora de nuevo a compilar.
./configure --disable-mpd --disable-moc --enable-wlan --enable-imlib2 --enable-lua-cairo --enable-lua-imlib2
No voy a postear todo lo que compilo sólo la ultima parte.
conky 1.9.0 configured successfully:
Installing into: /usr/local
System config dir: ${prefix}/etc
C compiler flags: -I/usr/include/lua5.1 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wall -W
Libraries: -liw -lncurses -lm -lX11 -lImlib2 -llua5.1 -ltolua++5.1 -lXext -lXdamage -lXfixes -lXft -lglib-2.0 -lasound -lrt -ltolua++5.1
Linker flags: -Wl,-O1
* X11:
X11 support: yes
XDamage support: yes
XDBE support: yes
Xft support: yes
ARGB support yes
* Music detection:
Audacious: no
BMPx: no
MPD: no
MOC: no
XMMS2: no
* General:
math: yes
hddtemp: yes
portmon: yes
RSS: no
Curl: no
Weather
METAR: no
XOAP: no
wireless: yes
IBM: no
nvidia: no
eve-online: no
config-output: yes
Imlib2: yes
ALSA mixer: yes
apcupsd: yes
I/O stats: yes
ncurses: yes
* Lua (yes) bindings:
Cairo: yes
Imlib2: yes
bien ya esta el tema de ./configure
ahora hacemos el comando make
make
El proceso tarda de acuerdo al tipo de maquina que tengas.
Ahora procedemos a instalar, si quieres compartir el paquete con otros puedes instalar fuera del sistema y despues crear el paquete pet ( explicare como crear un paquete .pet de forma detallada en próximos tutoriales)
Bueno como te decia, si quieres insatalar en el sistema haces el comando
make install
Y si deseas crear un directorio para después hacer un paquete escribes
make install DESTDIR=/tmp/conky-1.9.0
Donde DESTDIR significa directorio de destino
/tmp/ una carpeta temporal
y conky-1.9.0 el directorio se va a crear dentro de esa carpeta
Ok nos vamos a ese directorio y veremos si esta presente.
cd /tmp
Y si , efectivamente hemos creado un directorio que contiene todos los archivos necesarios para crear un .pet, creamos el pet, instalamos y buscamos algun tema conky con lua para nuestro sistema.
No es un conky de campeonato pero acepta imagenes propio de las librerías Lua.
Gracias y nos leemos en la próxima.
por fin veo como se hacen los pets gracias x el tutorial me servira x que quiero aprender para apoyar un poco a la comunidad n.n
ResponderEliminar