6 de diciembre de 2006

Crear Paquete AMSN 0.96 en Debian Sarge

Hoy me he estado peleando con mi Debian para instalar la nueva versión de Amsn. Después de "googlear" un poco buscando solución a los problemas que me daba, al final lo he conseguido. A continuación detallo los pasos.

1. Vamos a la página de AMSN y nos descargamos el paquete "amsn-sources"

http://amsn-project.net/linux-downloads.php

Nos habrá descargado el archivo: amsn-0.96.tar.bz2

2. Descomprimimos el archivo (nos creará el directorio "amsn-0.96") y accedemos al directorio:

# cd /home/nombre_usuario/Desktop/amsn-0.96

3. Instalamos dependencias para poder compilarlo:

# aptitude install tk8.0-dev tk8.4-dev libpng-dev libjpeg62-dev automake gcc-3.3-base gcc

NOTA: éstos son los paquetes que no tenía instalados en mi sistema. Puede que haya que instalar alguno más.

4. Una vez instalados, dentro del directorio "amsn-096" hacemos:

# ./configure

checking for prefix by checking for wish... /usr/bin/wish
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking tcl build dir... using tcl library in /usr/lib/tcl8.4
checking tk build dir... using tk library in /usr/lib/tk8.4
checking for main in -lstdc++... yes
checking how to run the C preprocessor... gcc -E
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for png_read_info in -lpng... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for jpeg_CreateDecompress in -ljpeg... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking jerror.h usability... yes
checking jerror.h presence... yes
checking for jerror.h... yes
checking for ftello... yes
checking for fseeko... yes
checking for getpt... yes
checking for strcasestr... yes
checking for memmem... yes
checking for dlopen... no
checking for pthread_create in -lpthread... yes
checking if mmx should be used... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating utils/linux/capture/config.h
config.status: utils/linux/capture/config.h is unchanged

compile time options summary
============================

X11 : yes
Tcl : 8.4
TK : 8.4
DEBUG : no
STATIC : no


# make
(cd .; autoconf)
./configure
checking for prefix by checking for wish... /usr/bin/wish
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking tcl build dir... using tcl library in /usr/lib/tcl8.4
checking tk build dir... using tk library in /usr/lib/tk8.4
checking for main in -lstdc++... yes
checking how to run the C preprocessor... gcc -E
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for png_read_info in -lpng... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for jpeg_CreateDecompress in -ljpeg... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking jerror.h usability... yes
checking jerror.h presence... yes
checking for jerror.h... yes
checking for ftello... yes
checking for fseeko... yes
checking for getpt... yes
checking for strcasestr... yes
checking for memmem... yes
checking for dlopen... no
checking for pthread_create in -lpthread... yes
checking if mmx should be used... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating utils/linux/capture/config.h
config.status: utils/linux/capture/config.h is unchanged

compile time options summary
============================

X11 : yes
Tcl : 8.4
TK : 8.4
DEBUG : no
STATIC : no

CXX utils/TkCximage/src/TkCximage.cpp.o
CXX utils/TkCximage/src/PhotoFormat.cpp.o
CXX utils/TkCximage/src/procs.cpp.o
CXX utils/TkCximage/src/CxImage/ximadsp.cpp.o
CXX utils/TkCximage/src/CxImage/ximaexif.cpp.o
CXX utils/TkCximage/src/CxImage/ximagif.cpp.o
CXX utils/TkCximage/src/CxImage/ximainfo.cpp.o
CXX utils/TkCximage/src/CxImage/ximajpg.cpp.o
CXX utils/TkCximage/src/CxImage/ximalyr.cpp.o
CXX utils/TkCximage/src/CxImage/ximapng.cpp.o
CXX utils/TkCximage/src/CxImage/ximatga.cpp.o
CXX utils/TkCximage/src/CxImage/ximatran.cpp.o
CXX utils/TkCximage/src/CxImage/ximabmp.cpp.o
CXX utils/TkCximage/src/CxImage/ximaenc.cpp.o
CXX utils/TkCximage/src/CxImage/ximage.cpp.o
CXX utils/TkCximage/src/CxImage/ximahist.cpp.o
CXX utils/TkCximage/src/CxImage/ximaint.cpp.o
CXX utils/TkCximage/src/CxImage/ximalpha.cpp.o
CXX utils/TkCximage/src/CxImage/ximapal.cpp.o
CXX utils/TkCximage/src/CxImage/ximasel.cpp.o
CXX utils/TkCximage/src/CxImage/ximath.cpp.o
CXX utils/TkCximage/src/CxImage/xmemfile.cpp.o
AR utils/TkCximage/src/CxImage/libCxImage.a
ar: creating utils/TkCximage/src/CxImage/libCxImage.a
LDX utils/TkCximage/src/TkCximage.cpp.so
cp utils/TkCximage/src/TkCximage.cpp.so utils/TkCximage/TkCximage.so
CC utils/webcamsn/src/webcamsn.o
CC utils/webcamsn/src/kidhash.o
CC utils/webcamsn/src/bitstring.o
CC utils/webcamsn/src/deblock.o
CC utils/webcamsn/src/encode.o
CC utils/webcamsn/src/idct_dequant.o
CC utils/webcamsn/src/mimic.o
CC utils/webcamsn/src/vlc_decode.o
CC utils/webcamsn/src/colorspace.o
CC utils/webcamsn/src/decode.o
CC utils/webcamsn/src/fdct_quant.o
CC utils/webcamsn/src/vlc_common.o
CC utils/webcamsn/src/vlc_encode.o
AR utils/webcamsn/src/libmimic.a
ar: creating utils/webcamsn/src/libmimic.a
LD utils/webcamsn/src/webcamsn.so
cp utils/webcamsn/src/webcamsn.so utils/webcamsn/webcamsn.so
CC utils/linux/capture/capture.o
CC utils/linux/capture/libng/grab-ng.o
CC utils/linux/capture/libng/devices.o
CC utils/linux/capture/libng/writefile.o
CC utils/linux/capture/libng/parse-mpeg.o
CC utils/linux/capture/libng/parse-dvb.o
CC utils/linux/capture/libng/color_common.o
CC utils/linux/capture/libng/color_packed.o
CC utils/linux/capture/libng/color_lut.o
CC utils/linux/capture/libng/color_yuv2rgb.o
CC utils/linux/capture/libng/convert.o
CC utils/linux/capture/libng/misc.o
AR utils/linux/capture/libng/libng.a
ar: creating utils/linux/capture/libng/libng.a
LD utils/linux/capture/capture.so
CC utils/linux/capture/libng/plugins/drv0-v4l2.o
CC utils/linux/capture/libng/plugins/struct-v4l2.o
CC utils/linux/capture/libng/plugins/struct-dump.o
LD utils/linux/capture/libng/plugins/drv0-v4l2.so
CC utils/linux/capture/libng/plugins/drv1-v4l.o
CC utils/linux/capture/libng/plugins/struct-v4l.o
LD utils/linux/capture/libng/plugins/drv1-v4l.so
CC utils/linux/traydock/libtray.o
LD utils/linux/traydock/libtray.so
CC utils/linux/linflash/flash.o
LD utils/linux/linflash/flash.so

5. Una vez terminada la compilación, creamos nuestro paquete .deb que posteriormente podremos instalar y borrar mediente el comando DPKG.
Para crear el paquete necesitamos instalar "checkinstall".

# aptitude install checkinstall
# checkinstall

checkinstall 1.5.3, Copyright 2001 Felipe Eduardo Sanchez Diaz Duran
This software is released under the GNU GPL.


The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]:

Preparing package documentation...OK

Installing with "make install"...

========================= Installation results ===========================

Copying documentation directory...
rm -Rf /usr/share/amsn
mkdir --parents /usr/share/amsn
mkdir -p /usr/bin
find /usr/share/amsn -name CVS -print | xargs rm -Rf
ln -sf /usr/share/amsn/amsn /usr/bin/amsn
ln -sf /usr/share/amsn/amsn-remote /usr/bin/amsn-remote
ln -sf /usr/share/amsn/amsn-remote-CLI /usr/bin/amsn-remote-CLI
chmod -R +rx /usr/share/amsn
mkdir -p /usr/share/icons/hicolor
cp -R ./icons/* /usr/share/icons/hicolor
mkdir -p /usr/share/applications
cp ./amsn.desktop /usr/share/applications

======================== Installation succesful ==========================

Copying files to the temporary directory...OK

Striping ELF binaries and libraries...OK

Compressing man pages...OK

Building file list...OK


Please write a description for the package.
End your description with an empty line or EOF.
>>

This package will be built according to these values:

0 - Maintainer: [ root@sarge.example.com ]
1 - Summary: [ Package created with checkinstall 1.5.3 ]
2 - Name: [ amsn-0.96 ]
3 - Version: [ 0.96 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ amsn-0.96 ]
9 - Alternate source location: [ ]

Enter a number to change any of them or press ENTER to continue:

*****************************************
**** Debian package creation selected ***
*****************************************

Building Debian package...OK

Installing Debian package...OK

Erasing temporary files...OK

Writing backup package...OK

Deleting temp dir...OK

**********************************************************************

Done. The new package has been installed and saved to
/root/amsn-0.96/amsn-0.96_0.96-1_i386.deb

You can remove it from your system anytime using:

dpkg -r amsn-0.96

**********************************************************************

6. Como se puede ver arriba, nos ha creado el archivo "amsn-0.96_0.96-1_i386.deb" que instalaremos así:

# dpkg -i amsn-0.96_0.96-1_i386.deb

Para desinstalarlo hacemos:

# dpkg -r amsn-0.96

7. Una vez instalado, borramos los paquetes que ya no necesitamos:

# aptitude purge tk8.0-dev tk8.4-dev libpng-dev libjpeg62-dev

Saludos y Suerte
Domi - Gran Canaria (Islas Canarias)

7 comentarios:

experimentos dijo...

Gracias por el mini tutorial pero no me ha funcionado al aplicar "checkinstall" al final me sale esto:


==== Installation results ====
rm -Rf /usr/share/amsn
rm: «/usr/share/amsn/utils» ha cambiado dev/nodo-i
make: *** [install] Error 1

**** Installation failed. Aborting package creation.

Desde ya te agradesco la ayuda

Romario dijo...

Hola Jonathan.Podrías poner las diferencias que encuentras con las salidas de pantalla que están en el tutorial. Por lo que me pones no se que puede ser.
Supongo también que lo estás aplicando en una Debian Sarge.

Saludos.

Anónimo dijo...

Primeramente una felicitación por super excelente blog!!!

Super completo!!!

Pero una sugerencia, esta muy oriendado a kde en mi caso uso gnome y me escuentro explorando xfce4 y veo muy poco al respecto!!!

Ahora mi principal comentario seria para actualizar este paquete a 0.97 y para etch!!

Yo se que es facil pedir, pero cuando alguien empieza son de gran ayuda!!

Romario dijo...

Hola MIB.
Gracias por tu comentario.
1. Tienes razón. Está orientado a KDE porque es el escritorio que me gusta.
2. Sobre XFCE4, he publicado una guía. Después compleméntala con la guía de instalación de Debian Etch.
3. Gracias a tu comentario, me he puesto a ello y ya he conseguido instalar el AMSN 0.97 en Debian Etch con el paquete fuente, creándo un paquete .deb para instalarlo. Pronto subiré la guiá.

Saludos.

Anónimo dijo...

dk4nno:--- :D

Saludos.. gracias.. por el tuto.. es ta bueno... y me sirvio mucho... he realizado mi primer .deb.. :D
suerte..

Romario dijo...

Hola Dk4nno.
De nada. Pero te comento que si tienes ETCH, he publicado otra guía instalando la nueva versión de AMSN 0.97. Aquí está:
http://debiantotal.blogspot.com/2008/01/instalar-amsn-097-en-debian-etch.html

Saludos y suerte.
Domi

viagra online dijo...
Este comentario ha sido eliminado por un administrador del blog.