Hi,

I have been struggling with an odd issue which is present in current stable
and EA SDKs. Namely, several libraries are not recognized as dynamic
libraries on i486 target. For example:

sb2 -t SailfishOS-i486 -m sdk-install ldd /usr/lib/libboost_regex.so.1.51.0
not a dynamic executable
Messages from sb2:
 (WARNING) ldd{bash}[6959] Executing statically linked native binary
/srv/mer/targets/SailfishOS-i486/lib/ld-2.19.so
 (WARNING) ldd{bash}[6960] Executing statically linked native binary
/srv/mer/targets/SailfishOS-i486/lib/ld-2.19.so
# exit 1 (1)

Probably most libraries are fine, like

sb2 -t SailfishOS-i486 -m sdk-install ldd
/usr/lib/libboost_filesystem.so.1.51.0
linux-gate.so.1 =>  (0x6f79c000)
libsb2.so.1 => /usr/lib/libsb2/libsb2.so.1 (0x6f721000)
libboost_system.so.1.51.0 => /usr/lib/libboost_system.so.1.51.0 (0x6f719000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x6f631000)
libm.so.6 => /lib/libm.so.6 (0x6f5ea000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x6f5d0000)
libc.so.6 => /lib/libc.so.6 (0x6f409000)
libdl.so.2 => /lib/libdl.so.2 (0x6f403000)
/lib/ld-linux.so.2 (0x6f79d000)
Messages from sb2:
 (WARNING) ldd{bash}[6829] Executing statically linked native binary
/srv/mer/targets/SailfishOS-i486/lib/ld-2.19.so
 (WARNING) ldd{bash}[6830] Executing statically linked native binary
/srv/mer/targets/SailfishOS-i486/lib/ld-2.19.so
 (WARNING) ldd{bash}[6833] Executing statically linked native binary
/srv/mer/targets/SailfishOS-i486/lib/ld-2.19.so
# exit 0 (0)

This issue does not appear on ARM target:

sb2 -t SailfishOS-armv7hl -m sdk-install ldd
/usr/lib/libboost_regex.so.1.51.0
libicuuc.so.52 => /usr/lib/libicuuc.so.52 (0x488cc000)
libicui18n.so.52 => /usr/lib/libicui18n.so.52 (0x489d0000)
libicudata.so.52 => /usr/lib/libicudata.so.52 (0x48b28000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x4a1a4000)
libm.so.6 => /lib/libm.so.6 (0x4a256000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4a2cb000)
libc.so.6 => /lib/libc.so.6 (0x4a2e3000)
libpthread.so.0 => /lib/libpthread.so.0 (0x4a3e8000)
libdl.so.2 => /lib/libdl.so.2 (0x4a40b000)
/lib/ld-linux-armhf.so.3 (0x40801000)

The libraries in question that I stumbled upon are libboost_regex
and libharfbuzz. I tried to recompile harfbuzz to see if something went
wrong on its generation, but got the same issue - its not recognized as a
shared library by ldd.

Note that you can compile and link against these libraries. Don't know if
the compiled code would run on the tablet, but it refuses to run under
mb2/sb2. Which is a major problem preventing using libraries/code that has
configure scripts to check for these libraries.

I have found some logs on sfos-porters #irc channel (2013 & 2014) with the
similar issue, but there was no solution as far as I could tell.

Does anyone know how to fix it? Apart from skipping i486 or hacking
configure scripts...

Cheers,

Rinigus
_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org

Reply via email to