martes, 29 de julio de 2008

KDESVN - Si ya no ven más posts es que ya quedó

Anterior: KDESVN - Avances, pistas, quizá lo logremos

8:15 - Una semana después, nuevamente es martes

Y bueh, ya vi el error, era el que me temía.

Vi que no encontraba una librería, obviamente supuse que no era porque no estuviera, era porque no buscaba en los lugares adecuados. Me dije que varios de los errores que había tenido seguro se debían a mi falta de práctica con Linux, ya que aunque lo tengo instalado, hace tiempo que no venía para aca, así que me puse a leer los tres libros que tengo en mi casa impresos de PDFs que algún día descargué para aprender sobre librerías pero no traían nada útil, pero eso sí, recibí una buena retroalimentación.

Sabía que eran librerías y sabía que eran librerías compartidas, pero no tenía idea del tema de las librerías, ni sabía la diferencia entre librerías estáticas y dinámicas así que fui de visita con el tío Google y me anduve leyendo varios enlaces hasta que finalmente logré comprenderlo.

Los programas que usan librerías compartidas suelen hacer su búsqueda consecutivamente en estos lugares:


  • Variable LD_LIBRARY_PATH

  • Fichero ld.so.cache

  • En /usr/lib y /lib


Pero todas las librerías de KDESvn estaban instaladas en /usr/local/lib. No entiendo por qué no estaba incluida esta ruta si no es arbitraria, por el contrario me suena de lo más lógico buscar en /usr/local ya sean binarios, librerías, manpages, sources o lo que sea. Quizá fue algún detalle al compilar, quizá debí poner algún parámetro --lib-src='/usr/local/lib' o algo por el estilo.

Mi variable LD_LIBRARY_PATH no trae nada, el echo lo arroja en blanco, así que la modifiqué y lancé:






Ya está el programa, eso era lo único que faltaba. No lo he probado así que no puedo saber si me tirará otro error inesperado.

Now, las variables que acabo de redefinir sólo es local, en cuanto cierre el bash volverá a quedar en blanco, si ejecuto el KDESvn desde otro bash en este momento, no servirá. Tengo tres opciones para hacer consistente la variable: usar el comando export, modificar los archivos que están en mi carpeta $HOME (no me gusta cómo suena porque significa que por cada usuario que cree o si lo lanzo desde el usuario root no hará efecto) y la tercera, la más tentadora, crear un enlace simbólico a /usr/local/lib en /usr/lib.

En todo lo que me detuve a ver tele terminé de decidirlo, me logeo como root y pongo: ordeno un ln -s

No hay comentarios.:

Publicar un comentario