2016-03-13 11 views
0

Я ищу помощь с неудобным вопросом с Libtool при построении этой библиотеки: http://github.com/mspanc/vspecLibtool не создает информацию о версии симлинки во время сделать установку

Когда я построить его на моем Ubuntu 14.04 коробки, он отлично работает, добавить во время сделать установку он создает соответствующие .so.VERSION_INFO символические ссылки.

Однако, когда я пытаюсь пересечь скомпилировать его с помощью Cerbero построить систему из проекта GStreamer (http://cgit.freedesktop.org/gstreamer/cerbero/), который в основном бутстрэпами компилированные инструменты для кросс-компиляции, во время сборки установки создает только .so файлы (не .so.VERSION_INFO симлинки) , но только для этой библиотеки он делает это успешно для других библиотек в рамках одной и той же среды сборки.

По-видимому, должна быть какая-то разница, но я использую automets of vspec и другой проект, который устанавливается отлично уже довольно давно и до сих пор не может понять, в чем причина этой проблемы.

Я обнаружил, что libtool скрипта в разбитой библиотеке генерируется во время работы ./configure --prefix /root/cerbero/dist/android_armv7 --libdir /root/cerbero/dist/android_armv7/lib --disable-maintainer-mode --disable-silent-rules --disable-introspection --host=arm-linux-androideabi имеет version_type=none то время как тот, который строит имеет этот переменный правильно установлен в linux. Это различие позже заставляет libtool не добавлять символические ссылки.

Может ли кто-нибудь здесь дать мне подсказку, где я должен искать причину неправильного распознавания хоста при генерации libtool?

Ниже журнала от марки Cerbero по установке:

Making install in src 
make[1]: Entering directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0/src' 
make[2]: Entering directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0/src' 
/bin/mkdir -p '/root/cerbero/dist/android_armv7/lib' 
/bin/bash ../libtool --mode=install /usr/bin/install -c libvspec-1.0.la '/root/cerbero/dist/android_armv7/lib' 
libtool: install: /usr/bin/install -c .libs/libvspec-1.0.so /root/cerbero/dist/android_armv7/lib/libvspec-1.0.so 
libtool: install: /usr/bin/install -c .libs/libvspec-1.0.lai /root/cerbero/dist/android_armv7/lib/libvspec-1.0.la 
libtool: install: /usr/bin/install -c .libs/libvspec-1.0.a /root/cerbero/dist/android_armv7/lib/libvspec-1.0.a 
libtool: install: chmod 644 /root/cerbero/dist/android_armv7/lib/libvspec-1.0.a 
libtool: install: arm-linux-androideabi-ranlib /root/cerbero/dist/android_armv7/lib/libvspec-1.0.a 
/bin/mkdir -p '/root/cerbero/dist/android_armv7/share/vala/vapi' 
/usr/bin/install -c -m 644 libvspec-1.0.vapi libvspec-1.0.deps '/root/cerbero/dist/android_armv7/share/vala/vapi' 
/bin/mkdir -p '/root/cerbero/dist/android_armv7/include/libvspec-1.0' 
/usr/bin/install -c -m 644 libvspec.h '/root/cerbero/dist/android_armv7/include/libvspec-1.0' 
/bin/mkdir -p '/root/cerbero/dist/android_armv7/lib/pkgconfig' 
/usr/bin/install -c -m 644 libvspec-1.0.pc '/root/cerbero/dist/android_armv7/lib/pkgconfig' 
make[2]: Leaving directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0/src' 
make[1]: Leaving directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0/src' 
make[1]: Entering directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0' 
make[2]: Entering directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0' 
make[2]: Nothing to be done for `install-exec-am'. 
make[2]: Nothing to be done for `install-data-am'. 
make[2]: Leaving directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0' 
make[1]: Leaving directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0' 
Running command 'make install' 

И ту же команду на моих убунту 14,04 окно:

$ LC_ALL=C sudo make install 
Making install in src 
make[1]: Entering directory `/home/marcin/aktivitis/radiokit/vspec/src' 
make[2]: Entering directory `/home/marcin/aktivitis/radiokit/vspec/src' 
/bin/mkdir -p '/usr/local/lib' 
/bin/bash ../libtool --mode=install /usr/bin/install -c libvspec-1.0.la '/usr/local/lib' 
libtool: install: /usr/bin/install -c .libs/libvspec-1.0.so.1.0.0 /usr/local/lib/libvspec-1.0.so.1.0.0 
libtool: install: (cd /usr/local/lib && { ln -s -f libvspec-1.0.so.1.0.0 libvspec-1.0.so.1 || { rm -f libvspec-1.0.so.1 && ln -s libvspec-1.0.so.1.0.0 libvspec-1.0.so.1; }; }) 
libtool: install: (cd /usr/local/lib && { ln -s -f libvspec-1.0.so.1.0.0 libvspec-1.0.so || { rm -f libvspec-1.0.so && ln -s libvspec-1.0.so.1.0.0 libvspec-1.0.so; }; }) 
libtool: install: /usr/bin/install -c .libs/libvspec-1.0.lai /usr/local/lib/libvspec-1.0.la 
libtool: install: /usr/bin/install -c .libs/libvspec-1.0.a /usr/local/lib/libvspec-1.0.a 
libtool: install: chmod 644 /usr/local/lib/libvspec-1.0.a 
libtool: install: ranlib /usr/local/lib/libvspec-1.0.a 
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/local/lib 
---------------------------------------------------------------------- 
Libraries have been installed in: 
    /usr/local/lib 

If you ever happen to want to link against installed libraries 
in a given directory, LIBDIR, you must either use libtool, and 
specify the full pathname of the library, or use the `-LLIBDIR' 
flag during linking and do at least one of the following: 
    - add LIBDIR to the `LD_LIBRARY_PATH' environment variable 
    during execution 
    - add LIBDIR to the `LD_RUN_PATH' environment variable 
    during linking 
    - use the `-Wl,-rpath -Wl,LIBDIR' linker flag 
    - have your system administrator add LIBDIR to `/etc/ld.so.conf' 

See any operating system documentation about shared libraries for 
more information, such as the ld(1) and ld.so(8) manual pages. 
---------------------------------------------------------------------- 
/bin/mkdir -p '/usr/local/share/vala/vapi' 
/usr/bin/install -c -m 644 libvspec-1.0.vapi libvspec-1.0.deps '/usr/local/share/vala/vapi' 
/bin/mkdir -p '/usr/local/include/libvspec-1.0' 
/usr/bin/install -c -m 644 libvspec.h '/usr/local/include/libvspec-1.0' 
/bin/mkdir -p '/usr/local/lib/pkgconfig' 
/usr/bin/install -c -m 644 libvspec-1.0.pc '/usr/local/lib/pkgconfig' 
make[2]: Leaving directory `/home/marcin/aktivitis/radiokit/vspec/src' 
make[1]: Leaving directory `/home/marcin/aktivitis/radiokit/vspec/src' 
make[1]: Entering directory `/home/marcin/aktivitis/radiokit/vspec' 
make[2]: Entering directory `/home/marcin/aktivitis/radiokit/vspec' 
make[2]: Nothing to be done for `install-exec-am'. 
make[2]: Nothing to be done for `install-data-am'. 
make[2]: Leaving directory `/home/marcin/aktivitis/radiokit/vspec' 
make[1]: Leaving directory `/home/marcin/aktivitis/radiokit/vspec' 

Спасибо,

Marcin

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^