[SailfishDevel] Odd issues with SDK - shared libraries not recognized as such
Martin Kampas
martin.kampas at jolla.com
Wed Apr 5 05:03:55 UTC 2017
Hi Rinigus,
Fix this by installing boost-regex also outside sb2
[mersdk at SailfishSDK ~]$ sb2 -t SailfishOS-i486 ldd /usr/lib/libboost_regex.so.1.51.0
not a dynamic executable
[...]
[mersdk at SailfishSDK ~]$ sudo zypper in boost-regex
[mersdk at SailfishSDK ~]$ sb2 -t SailfishOS-i486 ldd /usr/lib/libboost_regex.so.1.51.0
linux-gate.so.1 => (0x6f758000)
libsb2.so.1 => /usr/lib/libsb2/libsb2.so.1 (0x6f5fb000)
libicuuc.so.52 => /usr/lib/libicuuc.so.52 (0x6f48b000)
libicui18n.so.52 => /usr/lib/libicui18n.so.52 (0x6f282000)
libicudata.so.52 => /usr/lib/libicudata.so.52 (0x6dc16000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x6db2e000)
libm.so.6 => /lib/libm.so.6 (0x6dae6000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x6dacd000)
libc.so.6 => /lib/libc.so.6 (0x6d907000)
libdl.so.2 => /lib/libdl.so.2 (0x6d902000)
libpthread.so.0 => /lib/libpthread.so.0 (0x6d8e6000)
/lib/ld-linux.so.2 (0x6f759000)
[...]
Applies to other packages as well.
Apart from that are you sure you want to use sb2's sdk-install mode?
BR,
Martin
________________________________
From: Devel [devel-bounces at lists.sailfishos.org] on behalf of rinigus [rinigus.git at gmail.com]
Sent: Monday, April 03, 2017 9:52 PM
To: Sailfish OS Developers
Subject: [SailfishDevel] Odd issues with SDK - shared libraries not recognized as such
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<redir.aspx?REF=4Ku1BMEwE5PiBqmtivuRJFYpUHEvdT-rbiaVv2xdvZCxglMw4HvUCAFodHRwOi8vbGQtMi4xOS5zbw..>
(WARNING) ldd{bash}[6960] Executing statically linked native binary /srv/mer/targets/SailfishOS-i486/lib/ld-2.19.so<redir.aspx?REF=4Ku1BMEwE5PiBqmtivuRJFYpUHEvdT-rbiaVv2xdvZCxglMw4HvUCAFodHRwOi8vbGQtMi4xOS5zbw..>
# 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<redir.aspx?REF=4Ku1BMEwE5PiBqmtivuRJFYpUHEvdT-rbiaVv2xdvZCxglMw4HvUCAFodHRwOi8vbGQtMi4xOS5zbw..>
(WARNING) ldd{bash}[6830] Executing statically linked native binary /srv/mer/targets/SailfishOS-i486/lib/ld-2.19.so<redir.aspx?REF=4Ku1BMEwE5PiBqmtivuRJFYpUHEvdT-rbiaVv2xdvZCxglMw4HvUCAFodHRwOi8vbGQtMi4xOS5zbw..>
(WARNING) ldd{bash}[6833] Executing statically linked native binary /srv/mer/targets/SailfishOS-i486/lib/ld-2.19.so<redir.aspx?REF=4Ku1BMEwE5PiBqmtivuRJFYpUHEvdT-rbiaVv2xdvZCxglMw4HvUCAFodHRwOi8vbGQtMi4xOS5zbw..>
# 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20170405/2d034be7/attachment.html>
More information about the Devel
mailing list