Libtool not creating version info symlinks during make install

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Libtool not creating version info symlinks during make install

marcin@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
Reply | Threaded
Open this post in threaded view
|

Re: Libtool not creating version info symlinks during make install

marcin@saepia.net
I have just found out (by reading libtool source) that Android does not
support versioning so actually libtool behaviour is correct, it was issue
in Cerbero build system that it has expeced *.so.*.

Thanks!

Marcin