Under Review
over 1 year ago

Upgrade SDK deps so modern Linux distros work.

I can't use the simulator and thus connectiq on Fedora 30.  I assume all modern distros are affected because libwebkitgtk-1.0.so.0 is way too old to be included or even available on current generation distributions.

Please update your deps or better yet compile the simulator statically so it doesn't require ancient libraries.

Parents
  • I figured it out (I think).

    It appears that Garmin uses Ubuntu LTS releases to develop their SDK/SDK manager on. The problem seems to be libjpeg.so.8 which is found in the libjpeg-turbo8 package. On a Debian sid installation it seems that this is the only dependency I cannot resolve without the OS package manager:

    $ lsb_release -a
    No LSB modules are available.
    Distributor ID:	Debian
    Description:	Debian GNU/Linux bookworm/sid
    Release:	unstable
    Codename:	sid
    
    $ for i in $(ldd $(file ~/.Garmin/ConnectIQ/Sdks/connectiq-sdk-lin-4.1.3-2022-05-10-b3aaee541/bin/* | grep ELF | awk '{print $1}' | sed -e 's/:$//') | grep 'not found' | awk '{print $1}')
    
    do
    echo $i
    done
    libjpeg.so.8
    libjpeg.so.8

    https://github.com/waterkip/connectiq-sdk-docker/blob/master/Dockerfile

    If you have Ubuntu LTS running, you should, with the packages listed in the Dockerfile, get a working developer environment and should be good to go.

    On Debian Sid I'm facing issues with the SDK manager because it cannot find some shared objects, eventho everything seems to be installed.

    	libwebkitgtk-1.0.so.0 => not found
    	libsoup-2.4.so.1 => /usr/lib/x86_64-linux-gnu/libsoup-2.4.so.1 (0x00007fc73ed6c000)
    	libjavascriptcoregtk-1.0.so.0 => not found
    	libjpeg.so.8 => not found
    	
    	

    Even when the webkit and javascriptcore packages are installed:

    ii  libwebkit2gtk-4.0-37:amd64 2.36.3-1     amd64        Web content engine library for GTK
    ii  libwebkit2gtk-4.1-0:amd64  2.36.3-1     amd64        Web content engine library for GTK
    
    ii  libjavascriptcoregtk-4.0-18:amd64 2.36.3-1     amd64        JavaScript engine library from WebKitGTK
    ii  libjavascriptcoregtk-4.1-0:amd64  2.36.3-1     amd64        JavaScript engine library from WebKitGTK

    Compared to the Ubuntu docker image:

    ii  libwebkit2gtk-4.0-37:amd64 2.36.3-0ubuntu0.22.04.1 amd64        Web content engine library for GTK
    
    ii  libjavascriptcoregtk-4.0-18:amd64 2.36.3-0ubuntu0.22.04.1 amd64        JavaScript engine library from WebKitGTK

Comment
  • I figured it out (I think).

    It appears that Garmin uses Ubuntu LTS releases to develop their SDK/SDK manager on. The problem seems to be libjpeg.so.8 which is found in the libjpeg-turbo8 package. On a Debian sid installation it seems that this is the only dependency I cannot resolve without the OS package manager:

    $ lsb_release -a
    No LSB modules are available.
    Distributor ID:	Debian
    Description:	Debian GNU/Linux bookworm/sid
    Release:	unstable
    Codename:	sid
    
    $ for i in $(ldd $(file ~/.Garmin/ConnectIQ/Sdks/connectiq-sdk-lin-4.1.3-2022-05-10-b3aaee541/bin/* | grep ELF | awk '{print $1}' | sed -e 's/:$//') | grep 'not found' | awk '{print $1}')
    
    do
    echo $i
    done
    libjpeg.so.8
    libjpeg.so.8

    https://github.com/waterkip/connectiq-sdk-docker/blob/master/Dockerfile

    If you have Ubuntu LTS running, you should, with the packages listed in the Dockerfile, get a working developer environment and should be good to go.

    On Debian Sid I'm facing issues with the SDK manager because it cannot find some shared objects, eventho everything seems to be installed.

    	libwebkitgtk-1.0.so.0 => not found
    	libsoup-2.4.so.1 => /usr/lib/x86_64-linux-gnu/libsoup-2.4.so.1 (0x00007fc73ed6c000)
    	libjavascriptcoregtk-1.0.so.0 => not found
    	libjpeg.so.8 => not found
    	
    	

    Even when the webkit and javascriptcore packages are installed:

    ii  libwebkit2gtk-4.0-37:amd64 2.36.3-1     amd64        Web content engine library for GTK
    ii  libwebkit2gtk-4.1-0:amd64  2.36.3-1     amd64        Web content engine library for GTK
    
    ii  libjavascriptcoregtk-4.0-18:amd64 2.36.3-1     amd64        JavaScript engine library from WebKitGTK
    ii  libjavascriptcoregtk-4.1-0:amd64  2.36.3-1     amd64        JavaScript engine library from WebKitGTK

    Compared to the Ubuntu docker image:

    ii  libwebkit2gtk-4.0-37:amd64 2.36.3-0ubuntu0.22.04.1 amd64        Web content engine library for GTK
    
    ii  libjavascriptcoregtk-4.0-18:amd64 2.36.3-0ubuntu0.22.04.1 amd64        JavaScript engine library from WebKitGTK

Children
No Data