Hi Rinigus,

There is no suitable docs I am aware of, but anyway following the simple rule 
to pass "-m sdk-install" if and only if you are installing (removing, 
updating...) packages in the target should be enough for normal SDK usage.

The need to install packages also outside sb2 should be exceptional. There is 
an ongoing activity to improve SDK in regards to this.

BR,
Martin

________________________________
From: Devel [devel-boun...@lists.sailfishos.org] on behalf of rinigus 
[rinigus....@gmail.com]
Sent: Wednesday, April 05, 2017 8:51 AM
To: Sailfish OS Developers
Subject: Re: [SailfishDevel] Odd issues with SDK - shared libraries not 
recognized as such

Hi Martin,

thank you for the tip, it worked nicely! There were several other libraries 
affected: boost-program-options, libtiff, and libjpeg-turbo to name in addition 
to the ones I mentioned earlier.

As for using sdk-mode - I actually didn't find (relatively fast google search) 
on what does it do. In all examples on how to build packages manually, I could 
see "-m sdk-install" option given. So, if you can give me URL with description 
or tell what does it do and whether I should omit it, please do so.

Ideally, I don't want to mess with sb2, all I wanted to run was

mb2 -t SailfishOS-i486 -s package.spec build

which failed due to the configuration error. Taking into account this bug, 
maybe all packages specified in spec files as build-dep should be installed in 
addition by zypper outside sb2?

Best wishes,

Rinigus

On Wed, Apr 5, 2017 at 8:03 AM, Martin Kampas 
<martin.kam...@jolla.com<redir.aspx?REF=BlRet5twj2Crwc7W7O7I1Z9YFL5MaGTXFsQUmrm967ClrFRjBHzUCAFtYWlsdG86bWFydGluLmthbXBhc0Bqb2xsYS5jb20.>>
 wrote:
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<redir.aspx?REF=red6WrN6nZnw3ibb7Yu0XS44p74x0879e6kUNQ0ShUalrFRjBHzUCAFtYWlsdG86ZGV2ZWwtYm91bmNlc0BsaXN0cy5zYWlsZmlzaG9zLm9yZw..>]
 on behalf of rinigus 
[rinigus....@gmail.com<redir.aspx?REF=O4gyhzgobECtluZ0ewTLfxROAtl72wmsgN2MItxlW9ylrFRjBHzUCAFtYWlsdG86cmluaWd1cy5naXRAZ21haWwuY29t>]
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=5PVEdlZK2kDjBwQ3WEDYMHgqXtf8qmNCOuVHnLp6m8OlrFRjBHzUCAFodHRwOi8vcmVkaXIuYXNweD9SRUY9NEt1MUJNRXdFNVBpQnFtdGl2dVJKRllwVUhFdmRULXJiaWFWdjJ4ZHZaQ3hnbE13NEh2VUNBRm9kSFJ3T2k4dmJHUXRNaTR4T1M1emJ3Li4.>
 (WARNING) ldd{bash}[6960] Executing statically linked native binary 
/srv/mer/targets/SailfishOS-i486/lib/ld-2.19.so<redir.aspx?REF=5PVEdlZK2kDjBwQ3WEDYMHgqXtf8qmNCOuVHnLp6m8OlrFRjBHzUCAFodHRwOi8vcmVkaXIuYXNweD9SRUY9NEt1MUJNRXdFNVBpQnFtdGl2dVJKRllwVUhFdmRULXJiaWFWdjJ4ZHZaQ3hnbE13NEh2VUNBRm9kSFJ3T2k4dmJHUXRNaTR4T1M1emJ3Li4.>
# 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=5PVEdlZK2kDjBwQ3WEDYMHgqXtf8qmNCOuVHnLp6m8OlrFRjBHzUCAFodHRwOi8vcmVkaXIuYXNweD9SRUY9NEt1MUJNRXdFNVBpQnFtdGl2dVJKRllwVUhFdmRULXJiaWFWdjJ4ZHZaQ3hnbE13NEh2VUNBRm9kSFJ3T2k4dmJHUXRNaTR4T1M1emJ3Li4.>
 (WARNING) ldd{bash}[6830] Executing statically linked native binary 
/srv/mer/targets/SailfishOS-i486/lib/ld-2.19.so<redir.aspx?REF=5PVEdlZK2kDjBwQ3WEDYMHgqXtf8qmNCOuVHnLp6m8OlrFRjBHzUCAFodHRwOi8vcmVkaXIuYXNweD9SRUY9NEt1MUJNRXdFNVBpQnFtdGl2dVJKRllwVUhFdmRULXJiaWFWdjJ4ZHZaQ3hnbE13NEh2VUNBRm9kSFJ3T2k4dmJHUXRNaTR4T1M1emJ3Li4.>
 (WARNING) ldd{bash}[6833] Executing statically linked native binary 
/srv/mer/targets/SailfishOS-i486/lib/ld-2.19.so<redir.aspx?REF=5PVEdlZK2kDjBwQ3WEDYMHgqXtf8qmNCOuVHnLp6m8OlrFRjBHzUCAFodHRwOi8vcmVkaXIuYXNweD9SRUY9NEt1MUJNRXdFNVBpQnFtdGl2dVJKRllwVUhFdmRULXJiaWFWdjJ4ZHZaQ3hnbE13NEh2VUNBRm9kSFJ3T2k4dmJHUXRNaTR4T1M1emJ3Li4.>
# 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<redir.aspx?REF=3TaSqKWhJ4WcJKFDTgY7Ufcrqp6ImbIEhmy4d9vI_ialrFRjBHzUCAFtYWlsdG86ZGV2ZWwtdW5zdWJzY3JpYmVAbGlzdHMuc2FpbGZpc2hvcy5vcmc.>

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

Reply via email to