Pregunta

Fondo

Hace poco me encontré con el servidor de medios UPnP fuppes y me pareció genial.Lo instalé en el servidor de mi casa y comencé a usarlo para transmitir vídeo a mi XBox.Funcionó muy, muy bien y quedé contento con ello.Luego actualicé la distribución de mis servidores y los fuppes dejaron de funcionar;Ahora sé que es porque varias bibliotecas se han depreciado, más específicamente Debian ha comenzado a eliminar los archivos .la libtool de la mayoría de sus paquetes..

El problema / pregunta

Entonces mi pregunta es, ¿cómo puedo crear fuppes ahora que no tengo esos archivos .la para libtool?Más específicamente, este es mi mensaje de error exacto:

/bin/sed: can't read /usr/lib/libogg.la: No such file or directory
libtool: link: `/usr/lib/libogg.la' is not a valid libtool archive

Ya no tengo un archivo /usr/lib/libogg.la.Esto lo demuestra desde la terminal:

# dpkg -L libogg-dev | grep "a$"
/usr/lib/libogg.a
#

Realmente solo necesito que me indiquen la dirección correcta.He leído los documentos de libtool-automake pero todavía me falta esa información que me dice cómo compilar ahora que ya no tengo libogg.la.En resumen, ¿cómo compilo en ausencia de archivos .la?

NÓTESE BIEN.Todo esto está en Ubuntu Karmic Koala

¿Fue útil?

Solución

Creo que Debian ha ido disminuyendo los archivos .la ya que puede causar problemas cuando está la construcción, tanto para 32 bits y 64 bits. Si libtool encuentra un archivo .la, que tiene la mala costumbre de poner la ruta completa a la biblioteca en el comando de enlace, y esto es a veces la biblioteca equivocada (32 bits en lugar de 64 bits o viceversa). En Solaris, que tenía un problema de libtool querer vincular /usr/lib/libintl.so en lugar de /usr/lib/64/libintl.so, todo porque encontró /usr/lib/libintl.la

Usted debe ser capaz de enlazar sin el archivo .la especificando -logg en la línea mumble_LIBADD (reemplace 'murmullo' con el nombre del paquete que está construyendo) dentro del Makefile.am apropiado. Si por alguna razón el enlazador no puede encontrar la biblioteca, se puede especificar una ruta de acceso a la misma mediante la adición de algo como esto:

mumble_LDFLAGS = -R / usr / lib -L / usr / lib

Sin embargo, en este ejemplo, tengo que creer que / usr / lib está en la ruta de búsqueda por defecto para las bibliotecas.

Para su mensaje de error en particular con sed, yo no sé por qué Fuppes utiliza sed para encontrar /usr/lib/libogg.la, pero esto es de esperar podrá ser fijada por un cambio apropiado aguas arriba de libtool (como en autoconf o automake ). Sospecho que hay un interruptor en algún lugar de 'configure' que ayuda con este problema (como --con-OGG o algo así). Ejecutar '--help configure' y buscar algunas pistas allí.

Otros consejos

No se debe a necesitar los archivos .la. No ha pegado las partes importantes de la salida del comando - lo que paso es tratar de vincular al archivo libogg.la. Mi conjetura es libtool, y mi conjetura es que después de la actualización que se está ejecutando hacen en su directorio de fuentes o VCS salida, sin volver a ejecutar autogen.sh o configurar según sea apropiado.

En resumen, no da suficiente información para ayudarle aún más (¿Cómo te Fuppes? ¿Cómo se construye? ¿Cómo se intenta construirlo después de actualizar?). Lo más probable es que sea olvidado para regenerar los ficheros de construcción, o algún otro paso enlazador está tirando en un archivo .la y necesita ser regenerado (por ejemplo, un archivo PKG-config).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top