Configuracion de nzbget
$ ./nzbget -c nzbget.conf archivos.nzb
Ejecutando nzbget
[INFO] Downloading archivos/archivo.part01.rar [98/98]
[INFO] Successfully downloaded archivos/archivo.part01.rar [93/98]
[INFO] Successfully downloaded archivos/archivo.part01.rar [95/98]
[INFO] Successfully downloaded archivos/archivo.part01.rar [94/98]
Vinculos:
Mostrando las entradas con la etiqueta nzb. Mostrar todas las entradas
Mostrando las entradas con la etiqueta nzb. Mostrar todas las entradas
domingo, 23 de diciembre de 2007
sábado, 15 de diciembre de 2007
nntp: Cliente de consola para newsgroups en Linux
Descargar el software necesario
NZBGet
libxml2
libpar2
libsigc
Instalar la libreria libsigc
$ gunzip libsigc-2.0.a.tar.gz
$ tar -xvf libsigc-2.0.a.tar
$ ./configure --prefix=/home/user/bin/libsigc-2.0.a
$ make
$ make install
Instalar la libreria libpar2
Para obtener todas las opciones disponibles mediante el sistema de configuracion, ejecute:
$ ./configure --help
Luego configure el paquete libpar2 de la siguiente manera, indicando la ubicacion donde instalarlo:
$ ./configure --prefix=/home/user/bin/libpar2-0.2
Durante la configuracion, libpar2 intenta resolver la dependencia que tiene con libsigc, el no poder hacerlo reporta el siguiente error:
checking for SIGC... configure: error: Package requirements (sigc++-2.0 ) were not met:
No package 'sigc++-2.0' 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 SIGC_CFLAGS
and SIGC_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Entonces realice la configuracion del paquete libpar2 indicando, mediante las variable de entorno apropiadas, la ubicacion de la libreria libsigc compilada y sus fuentes:
$ ./configure --prefix=/home/user/bin/libpar2-0.2
SIGC_CFLAGS=/home/user/bin/libsigc++-2.0.18/include
SIGC_LIBS=/home/user/bin/libsigc++-2.0.18/lib
Ahora es momento de compilar los fuentes. Para esto ejecute make en la forma estandar:
$ make
Aparentemente, aun exiten problemas respecto a la ubicacion de los fuentes y librerias correspondientes a libsigc. El proceso de instalacion de la libreria libpar2 descansa en la herramienta pkg-config para resolver dependencias. Sin la correcta configuracion que la herramienta pkg-config requiere, el proceso de construccion falla:
make all-am
make[1]: Entering directory `/home/user/bin/libpar2-0.2-src'
...
Package sigc++-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `sigc++-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'sigc++-2.0' found
Primero es conveniente verificar que la herramienta pkg-config no encuentra la configuracion apropiada para encontrar los fuentes y librerias relacionadas a libsigc:
$ pkg-config --cflags --libs sigc-2.0
Obtendra, en caso de no encontrar la configuracion, el siguiente mensaje:
Package /home/user/bin/libsigc++-2.0.18/lib/libsigc-2.0.a was not found in the pkg-config search path.
Perhaps you should add the directory containing 'sigc-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'sigc-2.0' found
Otra forma, aun mas simple, de verificar si la herramienta pkg-config dispone de acceso a la configuracion apropiada es inspeccionando la variable de entorno PKG_CONFIG_PATH, que es empleada por pkg-config para buscar los package configuration files necesarios:
$ echo $PKG_CONFIG_PATH | grep 'sigc'
Si el resultado es vacio, entonces quiere decir que el package configuration file para libsigc no esta disponible en el entorno. Para agregarlo haga lo siguiente:
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:
/home/user/bin/libsigc++-2.0.18/lib/pkgconfig/sigc++-2.0.pc
Ahora, al efectuar el control para la configuracion de libsigc mediante pkg-config, obtendra resultados positivos:
$ pkg-config --variable=prefix sigc++-2.0
La salida estandar mostrara la ubicacion en la cual libsigc se encuentra instalado:
/home/user/bin/libsigc++-2.0.18
Finalmente es necesario ejecutar el proceso de instalacion, invocando nuevamente a make:
$ make install
Instalar la libreria libxml2
$ gunzip libxml2-2.6.30.tar.gz
$ tar -xvf libxml2-2.6.30.tar
$ ./configure --help
$ make
$ make install
Instalar NZBGet
$ gunzip nzbget-0.3.0.tar.gz
$ tar -xvf nzbget-0.3.0.tar
$ ./configure --disable-curses --enable-parcheck \
--with-libpar2-includes=/home/user/bin/libpar2-0.2/include/libpar2 \
--with-libpar2-libraries=/home/user/bin/libpar2-0.2/lib \
--with-libsigc-includes=/home/user/bin/libsigc++-2.0.18/include/sigc++-2.0 \
--with-libsigc-libraries=/home/user/bin/libsigc++-2.0.18/lib \
--with-libxml2-includes=/home/user/bin/libxml2-2.6.30/include/libxml2 \
--with-libxml2-libraries=/home/user/bin/libxml2-2.6.30/lib
$ make
$ make install
Publicando las librerias compiladas
Al intentar ejecutar nzbget:
$ ./nzbget -c nzbget.conf archivo.nzb
Ocurre el siguiente error:
$ ./nzbget: error while loading shared libraries: libpar2.so.0: cannot open shared object file: No such file or directory
Primero es conveniente verificar cuales son las librerias compartidas que nzbget no encuentra. Para esto ejecute:
$ ldd nzbget
en la salida estandar podra observar algo similar a lo siguiente, donde en negrita se resaltan los errores:
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00000000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00000000)
libpar2.so.0 => not found
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00000000)
libm.so.6 => /lib/libm.so.6 (0x00000000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00000000)
libc.so.6 => /lib/libc.so.6 (0x00000000)
libsigc-2.0.so.0 => not found
libdl.so.2 => /lib/libdl.so.2 (0x00000000)
libz.so.1 => /usr/lib/libz.so.1 (0x00000000)
/lib/ld-linux.so.2 (0x00000000)
Lo que sucede es que nzbget busca las librerias compartidas en la ubicacion estandar en Linux, que es /usr/lib. Como las librerias de las cuales nzbget depende fueron construidas en otras ubicaciones, es necesario hacerlas disponibles desde /usr/lib mediante vinculos simbolicos:
$ ln -s /home/user/bin/libpar2-0.2/lib/libpar2.so.0 /usr/lib/libpar2.so.0
$ ln -s /home/user/bin/libsigc++-2.0.18/lib/libsigc-2.0.so.0 /usr/lib/libsigc-2.0.so.0
Claro esta que este ultimo paso no es necesario si las librerias fueron instaladas en la ubicacion estandar.
Vinculos:
NZBGet
libxml2
libpar2
libsigc
Instalar la libreria libsigc
$ gunzip libsigc-2.0.a.tar.gz
$ tar -xvf libsigc-2.0.a.tar
$ ./configure --prefix=/home/user/bin/libsigc-2.0.a
$ make
$ make install
Instalar la libreria libpar2
Para obtener todas las opciones disponibles mediante el sistema de configuracion, ejecute:
$ ./configure --help
Luego configure el paquete libpar2 de la siguiente manera, indicando la ubicacion donde instalarlo:
$ ./configure --prefix=/home/user/bin/libpar2-0.2
Durante la configuracion, libpar2 intenta resolver la dependencia que tiene con libsigc, el no poder hacerlo reporta el siguiente error:
checking for SIGC... configure: error: Package requirements (sigc++-2.0 ) were not met:
No package 'sigc++-2.0' 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 SIGC_CFLAGS
and SIGC_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
Entonces realice la configuracion del paquete libpar2 indicando, mediante las variable de entorno apropiadas, la ubicacion de la libreria libsigc compilada y sus fuentes:
$ ./configure --prefix=/home/user/bin/libpar2-0.2
SIGC_CFLAGS=/home/user/bin/libsigc++-2.0.18/include
SIGC_LIBS=/home/user/bin/libsigc++-2.0.18/lib
Ahora es momento de compilar los fuentes. Para esto ejecute make en la forma estandar:
$ make
Aparentemente, aun exiten problemas respecto a la ubicacion de los fuentes y librerias correspondientes a libsigc. El proceso de instalacion de la libreria libpar2 descansa en la herramienta pkg-config para resolver dependencias. Sin la correcta configuracion que la herramienta pkg-config requiere, el proceso de construccion falla:
make all-am
make[1]: Entering directory `/home/user/bin/libpar2-0.2-src'
...
Package sigc++-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `sigc++-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'sigc++-2.0' found
Primero es conveniente verificar que la herramienta pkg-config no encuentra la configuracion apropiada para encontrar los fuentes y librerias relacionadas a libsigc:
$ pkg-config --cflags --libs sigc-2.0
Obtendra, en caso de no encontrar la configuracion, el siguiente mensaje:
Package /home/user/bin/libsigc++-2.0.18/lib/libsigc-2.0.a was not found in the pkg-config search path.
Perhaps you should add the directory containing 'sigc-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'sigc-2.0' found
Otra forma, aun mas simple, de verificar si la herramienta pkg-config dispone de acceso a la configuracion apropiada es inspeccionando la variable de entorno PKG_CONFIG_PATH, que es empleada por pkg-config para buscar los package configuration files necesarios:
$ echo $PKG_CONFIG_PATH | grep 'sigc'
Si el resultado es vacio, entonces quiere decir que el package configuration file para libsigc no esta disponible en el entorno. Para agregarlo haga lo siguiente:
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:
/home/user/bin/libsigc++-2.0.18/lib/pkgconfig/sigc++-2.0.pc
Ahora, al efectuar el control para la configuracion de libsigc mediante pkg-config, obtendra resultados positivos:
$ pkg-config --variable=prefix sigc++-2.0
La salida estandar mostrara la ubicacion en la cual libsigc se encuentra instalado:
/home/user/bin/libsigc++-2.0.18
Finalmente es necesario ejecutar el proceso de instalacion, invocando nuevamente a make:
$ make install
Instalar la libreria libxml2
$ gunzip libxml2-2.6.30.tar.gz
$ tar -xvf libxml2-2.6.30.tar
$ ./configure --help
$ make
$ make install
Instalar NZBGet
$ gunzip nzbget-0.3.0.tar.gz
$ tar -xvf nzbget-0.3.0.tar
$ ./configure --disable-curses --enable-parcheck \
--with-libpar2-includes=/home/user/bin/libpar2-0.2/include/libpar2 \
--with-libpar2-libraries=/home/user/bin/libpar2-0.2/lib \
--with-libsigc-includes=/home/user/bin/libsigc++-2.0.18/include/sigc++-2.0 \
--with-libsigc-libraries=/home/user/bin/libsigc++-2.0.18/lib \
--with-libxml2-includes=/home/user/bin/libxml2-2.6.30/include/libxml2 \
--with-libxml2-libraries=/home/user/bin/libxml2-2.6.30/lib
$ make
$ make install
Publicando las librerias compiladas
Al intentar ejecutar nzbget:
$ ./nzbget -c nzbget.conf archivo.nzb
Ocurre el siguiente error:
$ ./nzbget: error while loading shared libraries: libpar2.so.0: cannot open shared object file: No such file or directory
Primero es conveniente verificar cuales son las librerias compartidas que nzbget no encuentra. Para esto ejecute:
$ ldd nzbget
en la salida estandar podra observar algo similar a lo siguiente, donde en negrita se resaltan los errores:
libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00000000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00000000)
libpar2.so.0 => not found
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00000000)
libm.so.6 => /lib/libm.so.6 (0x00000000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00000000)
libc.so.6 => /lib/libc.so.6 (0x00000000)
libsigc-2.0.so.0 => not found
libdl.so.2 => /lib/libdl.so.2 (0x00000000)
libz.so.1 => /usr/lib/libz.so.1 (0x00000000)
/lib/ld-linux.so.2 (0x00000000)
Lo que sucede es que nzbget busca las librerias compartidas en la ubicacion estandar en Linux, que es /usr/lib. Como las librerias de las cuales nzbget depende fueron construidas en otras ubicaciones, es necesario hacerlas disponibles desde /usr/lib mediante vinculos simbolicos:
$ ln -s /home/user/bin/libpar2-0.2/lib/libpar2.so.0 /usr/lib/libpar2.so.0
$ ln -s /home/user/bin/libsigc++-2.0.18/lib/libsigc-2.0.so.0 /usr/lib/libsigc-2.0.so.0
Claro esta que este ultimo paso no es necesario si las librerias fueron instaladas en la ubicacion estandar.
Vinculos:
Suscribirse a:
Entradas (Atom)