I have found out that libtool script in the broken library generated while
running ./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
has version_type=none while one that builds has this variable properly set
to linux. That difference later causes libtool to not add symlinks.

Can anyone here give me any hint where should I seek for what causes
invalid host recognition while generating libtool?


Marcin

2016-03-13 14:54 GMT+01:00 mar...@saepia.net <mar...@saepia.net>:

> Hello,
>
> I am seeking for help with awkward issue with libtool while building this
> library: http://github.com/mspanc/vspec
>
> When i build it on my ubuntu 14.04 box, it works fine, add during make
> install it creates appropriate .so.VERSION_INFO symlinks.
>
> However, when I try to cross compile it using Cerbero build system from
> GStreamer project (http://cgit.freedesktop.org/gstreamer/cerbero/), which
> basically bootstraps toolchains for cross-compilation, during make install
> it creates only .so files (no .so.VERSION_INFO symlinks), but only for this
> library, it makes this succesfully for other libs within the same build
> environment.
>
> Apparently, there must be some difference, but I diff automakes of vspec
> and other project that installs fine for quite some time already and still
> can't figure out what's the root cause of the problem.
>
> Can anyone here give me and hint where to seek for differences?
>
> Below log from Cerbero's make install:
>
> 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'
>
> And the same command on my ubuntu 14.04 box:
>
> $ 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'
>
>
> Thanks,
>
> Marcin
>
_______________________________________________
https://lists.gnu.org/mailman/listinfo/libtool

Reply via email to