He estado estos dias jugando un poco con la libreria libjpeg intentando aprender como comprime imagenes y como las descomprime, podeis ver el post aqui. Pues bien me he visto en la necesidad de que al comprimir una imagen no la quiero en archivo sino en memoria para poder hacer cosas con esos datos, ya sea alguna edición en la imagen o mandarla a otro ordenador por medio de sockets, investigando un poco resulta que la version que viene instalada por defecto en el ubuntu la version libjpeg62, no permite hacer esto ya que cuando configuras la salida del proceso de compresión, solo te deja pasarle un fichero, se podria pasar a memoria haciendo inventos raros pero bueno, hay que intentar usar las nuevas funcionalidades de las librerias. En las versiones nuevas de esta librería parece que han hecho caso a las sugerencias y ya existe la posibilidad de almacenar el resultado de la compresión en memoria algo que me sería de gran utilidad.
Me descargue el código fuente de http://www.ijg.org/ y antes de compilarlos, se me ocurrió la brillante idea de desinstalar antes la otra versión de la librería, no me pregunteis por que pero lo hice, fui a la consola e introduje valientemente el comando:
$ sudo apt-get remove libjpeg62
pues bien a partir de ese momento empezaron a pasar cosas raras, tan raras que pense que quizas reiniciando iria mejor el linux, pero mi sorpresa fue que no me arrancó la interfaz grafica, en este caso el xfce, y cual fue mi otra sorpresa cuando entre a mi sesión y estuve viendo que paso y resulta que no habia casi nada instalado, que pasada…..
La historia completa despues del salto –>
Una vez restaurado casi todo de nuevo e instalado todo lo que habia instalado, investigando resulta que cuando desinstalas la libreria libjpeg62, el chaval te dice que se van a desinstalar varios paquetes (la lista aparece a continuación), nada más y nada menos que 120 paquetes entre ellos el totem, xfce4, synaptic, nautilus, thunar….. etc etc etc, que desastre….
s$ sudo apt-get remove libjpeg62
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Se instalaron de forma automática los siguientes paquetes y ya no son necesarios.
libfreebob0 libsm-dev libwildmidi0 linux-headers-2.6.31-14 libice-dev x11proto-xext-dev libdaemons-ruby1.8 libdc1394-22
libatk1.0-dev debhelper libwxbase2.8-dev intltool-debian x11proto-kb-dev libglib2.0-dev libsoundtouch1c2 libcvaux1
x11proto-xinerama-dev x11proto-render-dev libjack0 libopenspc0 libxi-dev libxrender-dev po-debconf libfftw3-3 libxdmcp-dev
libsysfs-dev libpng12-dev libfontconfig1-dev libmail-sendmail-perl x11proto-composite-dev tango-icon-theme xtrans-dev libx264-67
x11proto-core-dev libxcursor-dev gettext libcelt0 cvs libqtcore4 x11proto-randr-dev x11proto-damage-dev libxcb-render-util0-dev
libavformat-dev libxext-dev freepats libxdamage-dev x11proto-input-dev libffado1 libfreetype6-dev x11proto-fixes-dev libcv1
libpthread-stubs0-dev libxau-dev libpthread-stubs0 a2ps libkate1 libcdaudio1 libxcomposite-dev libmimic0 libavcodec-dev
libxml++2.6-2 psutils libxrandr-dev libexpat1-dev openoffice.org-l10n-en-gb vlc-plugin-pulse html2text libdirac0c2a
libpixman-1-dev libxft-dev libx11-dev libtar libxcb-render0-dev libxfixes-dev liblog4r-ruby1.8 libxcb1-dev libavutil-dev
linux-headers-2.6.31-14-generic libaudio2 libxinerama-dev wx2.8-headers libsys-hostname-long-perl libofa0 libmms0 libiptcdata0
openoffice.org-l10n-es wdiffUtilice «apt-get autoremove» para eliminarlos.
Los siguientes paquetes se ELIMINARÁN:
apturl desktop-base eog exo-utils firefox firefox-3.5 firefox-3.5-branding gedit ghostscript gksu gnome-icon-theme gnome-keyring
gstreamer0.10-plugins-good gtk2-engines-xfce gvfs gvfs-backends imagemagick libbonoboui2-0 libcairo2-dev libcanberra-gtk-module
libcanberra-gtk0 libcupsimage2 libcv-dev libcvaux-dev libdirectfb-dev libdirectfb-extra libdjvulibre21 libexo-0.3-0 libgail-common
libgail18 libgcr0 libgd2-noxpm libgksu2-0 libglade2-0 libgnome-desktop-2-11 libgnome2-0 libgnome2-canvas-perl libgnome2-perl
libgnomecanvas2-0 libgnomeui-0 libgphoto2-2 libgraphviz4 libgs8 libgtk2-perl libgtk2.0-0 libgtk2.0-bin libgtk2.0-dev libgtkhtml2-0
libgtksourceview2.0-0 libhighgui-dev libhighgui1 libjasper-dev libjasper1 libjpeg-progs libjpeg62 libjpeg62-dbg libjpeg62-dev
liblaunchpad-integration1 libmagickcore2 libmagickwand2 libmng1 libnautilus-extension1 libnotify1 libpango1.0-dev libqtgui4
librsvg2-2 librsvg2-common libsdl-image1.2 libsexy2 libthunar-vfs-1-2 libtiff4 libtiff4-dev libtiffxx0c2 libtotem-plparser12
libunique-1.0-0 libvte9 libwmf0.2-7 libwnck22 libwxgtk2.8-0 libwxgtk2.8-dev libxfcegui4-4 nautilus nautilus-dropbox
notification-daemon notify-osd obex-data-server orage policykit-1-gnome python-glade2 python-gnome2 python-gnomecanvas python-gtk2
python-gtkhtml2 python-gtksourceview2 python-vte software-properties-gtk synaptic thunar thunar-volman totem totem-mozilla
totem-plugins ubufox vlc xfce4 xfce4-appfinder xfce4-mixer xfce4-panel xfce4-session xfce4-settings xfce4-utils xfce4-volumed
xfdesktop4 xfprint4 xfwm4 xfwm4-themes xscreensaver xscreensaver-data xulrunner-1.9.1 zenity
0 actualizados, 0 se instalarán, 120 para eliminar y 0 no actualizados.
Se liberarán 274MB después de esta operación.
¿Desea continuar [S/n]?
Ni se os ocurra decirle que si porque sino os lo vais a pasar muy pero que muy bien….. chiquito desastre…..
Otro dia posteare como se instala la version nueva del libjpeg, creo que es la version 8.
Saludos.
Ufff!!! los automatismos… menudo follón se montó. Recuerdo escachar muchas cosas del sistema con los gestores de paquetes apt, pacman, urpmi, yum… al final todos te la lían (o te la lías tu mismo, como en este caso xD)