Hi Rinigus,

Fix this by installing boost-regex also outside sb2

[mersdk@SailfishSDK ~]$ sb2 -t SailfishOS-i486 ldd 
/usr/lib/libboost_regex.so.1.51.0
        not a dynamic executable
[...]
[mersdk@SailfishSDK ~]$ sudo zypper in boost-regex
[mersdk@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-boun...@lists.sailfishos.org] on behalf of rinigus 
[rinigus....@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
_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org

Reply via email to