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

<p>Can anyone here give me any hint where should I seek for what causes invalid host recognition while generating <code>libtool</code>?</p><p><br></p><p>Marcin<br></p></div><div class="gmail_extra"><br><div class="gmail_quote">2016-03-12 20:33 GMT+01:00 <a href="mailto:marcin@saepia.net">marcin@saepia.net</a> <span dir="ltr"><<a href="mailto:marcin@saepia.net" target="_blank">marcin@saepia.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hello,<br><br></div>I want to extend Cerbero build system in order to build this library: <a href="http://github.com/mspanc/vspec" target="_blank">http://github.com/mspanc/vspec</a><br><br></div><div>I have created the recipe:<br><br>class Recipe(recipe.Recipe):<br>    name = 'libvspec-1.0'<br>    version = '0.9.0'<br>    licenses = [License.LGPLv2Plus] <br>    remotes = {'origin': '<a href="https://github.com/mspanc/vspec.git" target="_blank">https://github.com/mspanc/vspec.git</a>'}<br>    commit = 'origin/master'<br>    deps = ['glib']<br>    autoreconf = True<br>    files_libs = ['libvspec-1.0']<br>    files_devel = ['include/libvspec-1.0', 'lib/pkgconfig/libvspec-1.0.pc']<br><br></div>My problem is that libs are not included in the package that relies on the lib.<br><br></div>I've found out that Cerbero seeks for libraries that have .so.* suffix so they must use libtool versioning. I've added libtool -version-info. The issue is that if I build my library manually on my ubuntu box, libtool creates appropriate symlinks containing version info during make install. However, if I run the same build within Cerbero, they are ignored and only .so file is built, which results in Cerbero not recognizing it. Anyone knows, why?<br><br></div>Below log from Cerbero's make install:<br><div><div><div><br>Making install in src<br>make[1]: Entering directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0/src'<br>make[2]: Entering directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0/src'<br> /bin/mkdir -p '/root/cerbero/dist/android_armv7/lib'<br> /bin/bash ../libtool   --mode=install /usr/bin/install -c   <a href="http://libvspec-1.0.la" target="_blank">libvspec-1.0.la</a> '/root/cerbero/dist/android_armv7/lib'<br>libtool: install: /usr/bin/install -c .libs/<a href="http://libvspec-1.0.so" target="_blank">libvspec-1.0.so</a> /root/cerbero/dist/android_armv7/lib/<a href="http://libvspec-1.0.so" target="_blank">libvspec-1.0.so</a><br>libtool: install: /usr/bin/install -c .libs/libvspec-1.0.lai /root/cerbero/dist/android_armv7/lib/<a href="http://libvspec-1.0.la" target="_blank">libvspec-1.0.la</a><br>libtool: install: /usr/bin/install -c .libs/libvspec-1.0.a /root/cerbero/dist/android_armv7/lib/libvspec-1.0.a<br>libtool: install: chmod 644 /root/cerbero/dist/android_armv7/lib/libvspec-1.0.a<br>libtool: install: arm-linux-androideabi-ranlib /root/cerbero/dist/android_armv7/lib/libvspec-1.0.a<br> /bin/mkdir -p '/root/cerbero/dist/android_armv7/share/vala/vapi'<br> /usr/bin/install -c -m 644 libvspec-1.0.vapi libvspec-1.0.deps '/root/cerbero/dist/android_armv7/share/vala/vapi'<br> /bin/mkdir -p '/root/cerbero/dist/android_armv7/include/libvspec-1.0'<br> /usr/bin/install -c -m 644 libvspec.h '/root/cerbero/dist/android_armv7/include/libvspec-1.0'<br> /bin/mkdir -p '/root/cerbero/dist/android_armv7/lib/pkgconfig'<br> /usr/bin/install -c -m 644 libvspec-1.0.pc '/root/cerbero/dist/android_armv7/lib/pkgconfig'<br>make[2]: Leaving directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0/src'<br>make[1]: Leaving directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0/src'<br>make[1]: Entering directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0'<br>make[2]: Entering directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0'<br>make[2]: Nothing to be done for `install-exec-am'.<br>make[2]: Nothing to be done for `install-data-am'.<br>make[2]: Leaving directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0'<br>make[1]: Leaving directory `/root/cerbero/sources/android_armv7/libvspec-1.0-1.0.0'<br>Running command 'make install'<br><br></div><div>And the same command on my ubuntu 14.04 box:<br><br>$ LC_ALL=C sudo make install<br>Making install in src<br>make[1]: Entering directory `/home/marcin/aktivitis/radiokit/vspec/src'<br>make[2]: Entering directory `/home/marcin/aktivitis/radiokit/vspec/src'<br> /bin/mkdir -p '/usr/local/lib'<br> /bin/bash ../libtool   --mode=install /usr/bin/install -c   <a href="http://libvspec-1.0.la" target="_blank">libvspec-1.0.la</a> '/usr/local/lib'<br>libtool: install: /usr/bin/install -c .libs/libvspec-1.0.so.1.0.0 /usr/local/lib/libvspec-1.0.so.1.0.0<br>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; }; })<br>libtool: install: (cd /usr/local/lib && { ln -s -f libvspec-1.0.so.1.0.0 <a href="http://libvspec-1.0.so" target="_blank">libvspec-1.0.so</a> || { rm -f <a href="http://libvspec-1.0.so" target="_blank">libvspec-1.0.so</a> && ln -s libvspec-1.0.so.1.0.0 <a href="http://libvspec-1.0.so" target="_blank">libvspec-1.0.so</a>; }; })<br>libtool: install: /usr/bin/install -c .libs/libvspec-1.0.lai /usr/local/lib/<a href="http://libvspec-1.0.la" target="_blank">libvspec-1.0.la</a><br>libtool: install: /usr/bin/install -c .libs/libvspec-1.0.a /usr/local/lib/libvspec-1.0.a<br>libtool: install: chmod 644 /usr/local/lib/libvspec-1.0.a<br>libtool: install: ranlib /usr/local/lib/libvspec-1.0.a<br>libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/local/lib<br>----------------------------------------------------------------------<br>Libraries have been installed in:<br>   /usr/local/lib<br><br>If you ever happen to want to link against installed libraries<br>in a given directory, LIBDIR, you must either use libtool, and<br>specify the full pathname of the library, or use the `-LLIBDIR'<br>flag during linking and do at least one of the following:<br>   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable<br>     during execution<br>   - add LIBDIR to the `LD_RUN_PATH' environment variable<br>     during linking<br>   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag<br>   - have your system administrator add LIBDIR to `/etc/ld.so.conf'<br><br>See any operating system documentation about shared libraries for<br>more information, such as the ld(1) and ld.so(8) manual pages.<br>----------------------------------------------------------------------<br> /bin/mkdir -p '/usr/local/share/vala/vapi'<br> /usr/bin/install -c -m 644 libvspec-1.0.vapi libvspec-1.0.deps '/usr/local/share/vala/vapi'<br> /bin/mkdir -p '/usr/local/include/libvspec-1.0'<br> /usr/bin/install -c -m 644 libvspec.h '/usr/local/include/libvspec-1.0'<br> /bin/mkdir -p '/usr/local/lib/pkgconfig'<br> /usr/bin/install -c -m 644 libvspec-1.0.pc '/usr/local/lib/pkgconfig'<br>make[2]: Leaving directory `/home/marcin/aktivitis/radiokit/vspec/src'<br>make[1]: Leaving directory `/home/marcin/aktivitis/radiokit/vspec/src'<br>make[1]: Entering directory `/home/marcin/aktivitis/radiokit/vspec'<br>make[2]: Entering directory `/home/marcin/aktivitis/radiokit/vspec'<br>make[2]: Nothing to be done for `install-exec-am'.<br>make[2]: Nothing to be done for `install-data-am'.<br>make[2]: Leaving directory `/home/marcin/aktivitis/radiokit/vspec'<br>make[1]: Leaving directory `/home/marcin/aktivitis/radiokit/vspec'<br><br></div><div>Thanks,<br><br></div><div>Marcin<br></div></div></div></div>
</blockquote></div><br></div>