Vamos a tratar de instalar el Graphviz
export RUN=${HOME}/run
export LD_LIBRARY_PATH=${RUN}/lib:${LD_LIBRARY_PATH}
export LD_RUN_PATH=${RUN}/lib:${LD_RUN_PATH}
cd ${HOME}/soft
wget http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.8.tar.gz
tar xzvf graphviz-2.8.tar.gz
cd graphviz-2.8
./configure --prefix $RUN
makeEl ./configure tiró estos warnings:
configure:23316: WARNING: X11 not available. configure:23937: WARNING: Unable to find header jni.h. The Java packages will not be built configure:24637: WARNING: Unable to find header zend.h. The PHP packages will not be built configure:25419: WARNING: Unable to find header tcl.h. The Tcl packages will not be built configure:25541: WARNING: No Tcl. The Tk packages will not be built either configure:26767: WARNING: Optional Xpm library not available configure:27073: WARNING: Optional Xaw library not available configure:27401: WARNING: GD library version < 2.0.34 configure:27647: WARNING: Using internal libgd source.
el único que me preocupa es "Unable to find header zend.h. The PHP packages will not be built"... capaz que en algún momento nos conviene instalar los headers del PHP que haya instalado en DreamHost para ver si podemos re-compilar esto.
El make palmó... en algún momento se queja:
Making all in gv /home/.option/ap/soft/graphviz-2.8/tclpkg/gv make[3]: Entering directory `/home/.option/ap/soft/graphviz-2.8/tclpkg/gv' /bin/sh ../../libtool --tag=CXX --mode=link g++ -g -O2 -L/home/ap/run/lib -o libgv_perl.la -rpath /home/ap/run/lib/graphviz/perl -module gv.lo gv_perl.lo ../../lib/gvc/libgvc.la -L/usr/lib/perl/5.8/CORE -lperl -lc libtool: link: warning: `/usr/lib/gcc-lib/i486-linux/3.3.5/../../..//libfreetype.la' seems to be moved libtool: link: warning: `/usr/lib/gcc-lib/i486-linux/3.3.5/../../..//libjpeg.la' seems to be moved libtool: link: warning: `/usr/lib/gcc-lib/i486-linux/3.3.5/../../..//libexpat.la' seems to be moved g++ -shared -nostdlib /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crti.o /usr/lib/gcc-lib/i486-linux/3.3.5/crtbeginS.o .libs/gv.o .libs/gv_perl.o -Wl,--rpath -Wl,/home/.option/ap/soft/graphviz-2.8/lib/gvc/.libs -Wl,--rpath -Wl,/home/ap/run/lib/graphviz -L/home/ap/run/lib ../../lib/gvc/.libs/libgvc.so -L/home/.option/ap/soft/graphviz-2.8/lib/graph/.libs -L/home/.option/ap/soft/graphviz-2.8/lib/cdt/.libs -L/home/.option/ap/soft/graphviz-2.8/lib/pathplan/.libs -L/home/.option/ap/soft/graphviz-2.8/lib/gd/.libs -L/usr/lib -L/usr/lib/gcc-lib/i486-linux/3.3.5/../../../ -L/home/.option/ap/soft/graphviz-2.8/libltdl/.libs -L/usr/lib/perl/5.8/CORE -lperl -L/usr/lib/gcc-lib/i486-linux/3.3.5 -L/usr/lib/gcc-lib/i486-linux/3.3.5/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc-lib/i486-linux/3.3.5/crtendS.o /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crtn.o -Wl,-soname -Wl,libgv_perl.so.0 -o .libs/libgv_perl.so.0.0.0 /usr/bin/ld: cannot find -lperl collect2: ld returned 1 exit status make[3]: *** [libgv_perl.la] Error 1 make[3]: Leaving directory `/home/.option/ap/soft/graphviz-2.8/tclpkg/gv' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/.option/ap/soft/graphviz-2.8/tclpkg' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/.option/ap/soft/graphviz-2.8' make: *** [all] Error 2
Sospecho que se arreglaría con un
ln -s libperl.so.5.8 /usr/lib/libperl
pero voy a tener que pedirle a la gente de DreamHost que lo haga... quedó para la semana que viene.
libperl-dev
Bueno, finalmente ese error se solucionaba con el libperl-dev... como me cansé de esperar que DreamHost lo instale, y el paquete era ínfimo, truché su instalación en nuestro propio ${RUN}:
export RUN=${HOME}/run
export LD_LIBRARY_PATH=${RUN}/lib:${LD_LIBRARY_PATH}
export LD_RUN_PATH=${RUN}/lib:${LD_RUN_PATH}
cd ${HOME}/soft
# bajo el paquete .deb
wget http://debian.newdream.net/pool/main/p/perl/libperl-dev_5.8.4-8sarge5_i386.deb
# creo un directorio para abrirlo
mkdir libperl-dev_5.8.4-8sarge5_i386
cd libperl-dev_5.8.4-8sarge5_i386
# abro el paquete
ar x ../libperl-dev_5.8.4-8sarge5_i386.deb
# abro los archivos de adentro del paquete
tar xzvf data.tar.gz
# muevo el único archivo *REAL* a su destino
mv usr/lib/libperl.a ${RUN}/lib
# genero a mano los dos symlinks que completan el paquete
# apuntando a paths absolutos para que funcionen...
ln -sfv /usr/lib/libperl.so.5.8 ${RUN}/lib/libperl.so
ln -sfv /usr/share/doc/perl ${RUN}/share/doc/libperl-dev
# soy tan banana que hasta el usr/share/doc/libperl-dev pongo :-)
swig
El problema es que en cuanto solucioné el problema del libperl-dev, apareció otro:
Making all in gv /home/.option/ap/soft/graphviz-2.8/tclpkg/gv make[3]: Entering directory `/home/.option/ap/soft/graphviz-2.8/tclpkg/gv' if /bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../lib/gvc -I../../lib/common -I../../lib/graph -I../../lib/cdt -I../../lib/pathplan -I/usr/lib/perl/5.8/CORE -I/usr/lib/ocaml -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/Zend -I/usr/include/php/TSRM -I/home/ap/run/include/python2.5 -I/usr/lib/ruby/1.8/i386-linux -I/home/ap/run/include -g -O2 -MT gv_python.lo -MD -MP -MF ".deps/gv_python.Tpo" -c -o gv_python.lo gv_python.cpp; \ then mv -f ".deps/gv_python.Tpo" ".deps/gv_python.Plo"; else rm -f ".deps/gv_python.Tpo"; exit 1; fi g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../lib/gvc -I../../lib/common -I../../lib/graph -I../../lib/cdt -I../../lib/pathplan -I/usr/lib/perl/5.8/CORE -I/usr/lib/ocaml -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/Zend -I/usr/include/php/TSRM -I/home/ap/run/include/python2.5 -I/usr/lib/ruby/1.8/i386-linux -I/home/ap/run/include -g -O2 -MT gv_python.lo -MD -MP -MF .deps/gv_python.Tpo -c gv_python.cpp -fPIC -DPIC -o .libs/gv_python.o gv_python.cpp: In function `int SWIG_Python_ConvertPtr(PyObject*, void**, swig_type_info*, int)': gv_python.cpp:1177: error: invalid conversion from `const char*' to `char*' gv_python.cpp: In function `void SWIG_Python_FixMethods(PyMethodDef*, swig_const_info*, swig_type_info**, swig_type_info**)': gv_python.cpp:5298: error: invalid conversion from `const char*' to `char*' make[3]: *** [gv_python.lo] Error 1 make[3]: Leaving directory `/home/.option/ap/soft/graphviz-2.8/tclpkg/gv' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/.option/ap/soft/graphviz-2.8/tclpkg' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/.option/ap/soft/graphviz-2.8' make: *** [all] Error 2
Luego de bastante investigación, descubrí que el problema tiene que ver con el SWIG y el Python 2.5... así que instalé el nuevo swig y vuelta a probar...
export RUN=${HOME}/run
export LD_LIBRARY_PATH=${RUN}/lib:${LD_LIBRARY_PATH}
export LD_RUN_PATH=${RUN}/lib:${LD_RUN_PATH}
cd ${HOME}/soft
wget http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.8.tar.gz
tar xzvf graphviz-2.8.tar.gz
cd graphviz-2.8
./configure --prefix ${RUN}
makePrimero se quejó de que no encuentra el libpython2.5... veo que el ./configure;make del Python lo ponga o lo pongo a mano... después se queja de que no encuentra -lruby... voy a correr nuevamente el ./configure pero con --disable-ruby... ahora se nos cuelga DreamHost de nuevo
Esto se está haciendo pesado... ahora volvió DreamHost (rebootearon Lisa)...
export RUN=${HOME}/run
export LD_LIBRARY_PATH=${RUN}/lib:${LD_LIBRARY_PATH}
export LD_RUN_PATH=${RUN}/lib:${LD_RUN_PATH}
cd ${HOME}/soft
wget http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.8.tar.gz
tar xzvf graphviz-2.8.tar.gz
cd graphviz-2.8
./configure --prefix ${RUN} --disable-ruby
makeVolvió a dar el error relacionado con swig... lo que hice para resolverlo (dado que ya había instalado el swig con el patch), fue lo siguiente:
cd tclpkg/gv rm -f gv_python.cpp make gv_python.cpp cd ../.. make
Bueh... costó un poco (bastante), pero finalmente anduvo... tuve algún problema más con el swig, pero anduvo... las instrucciones finales las dejo acá abajo.
.