"connectiq" dependencies on Linux

Former Member
Former Member
Hi.

I just dowloaded the SDK for Linux and, when trying to run the "connectiq" binary, I found it relies (dynamically) on some libraries ("webkitgtk") no longer supported on newer distros (ex: "Arch").

The issue can be solved by manually compiling the (deprecated) "libwebkitgtk-1.0.so" and "libjavascriptcoregtk-1.0.so" libraries, placing them in a folder, and using LD_LIBRARY_PATH before executing "connectiq".

However, this got me thinking... is there any reason why the SDK is not open source? This way not only would we be able to update it to use newer libraries, but probably also help with bugs and/or add new features.

Is open sourcing the SDK somewhere in the future roadmap?

Thanks!
  • I wouldn't expect the SDK ever to be open sourced, in the same way garmin device FW isn't. On top of any trade secrets, etc, it would be a nightmare if people developed their own tweaks to it and started building and publishing with that.

    I've not really looked at the Linux SDK - Aren't there some kind of release notes about which flavors of Linux are supported? Can't you run a windows emulation under Linux and use the windows SDK if you don't have a supported flavor?
  • Former Member
    Former Member
    The documentation included with the SDK does not seem to make reference to the list of Linux dependencies.

    Fortunately this is not a problem: even if all binaries are statically linked, at runtime, when they try to load a library on which they depend, in case it is not available, the actual name of the missing library is printed to stdout.

    From what I have been reading, most people using the SDK on Linux seem to be doing so on Ubuntu (which, I guess, must have all needed libraries preinstalled). On Arch I had to manually compile some libraries, but even that was not a problem.

    What I mean is that running the SDK on Linux doesn't seem to be a problem after all. In fact I was simply using this as an "excuse" to bring the "open sourcing" debate to the table, hehe

    I understand that making the SDK open source "migth" seem like a complication (specially to management), however, as long as Garmin controls the "official" apps distrubution channel, "regular" clients should not be affected.... and then, in addition, you get all the advantages!

    Anyway... this was just an idea. Every time I buy new hardware I write to the company trying to convince them to open source the SDK... so far no one has ever listened to me... but that won't stop me from keep trying :)

    I'm just worried that my new watch, say in 5 years, is no longer supported for no other reason than lack of resources (which would never be a problem in the "open source" world).



  • One thing to also keep in mind, is with CIQ, the SDK is always "on the move". The production SDK right now is 2.3.5, but there's also a 2.4.0beta1 (I'm using both at the moment - 2.4.0beta1 add a number of new features). At some point, there will be a production 2.4.1 (I'm thinking a few weeks), and at that point the Garmin folks will be working on a 2.4.2 I'm sure! Even if it was open sourced, by the time you made an SDK "your own" it would likely be outdated.
  • I use Kubuntu and have never experienced dependency issue. However, after installation of the distribution, I install all my programs from Muon package manager and it probably installed that needed packages too. I download the Eclipse from its website and use, no issues.
    However, in the past running emulator on Wine was a problem. I couldn't see my own design on the emulator, 'cos images wouldn't display on emulator of 16 color device. :D So I am happily can live with a close source but working SDK. :)
  • On Debian/Jessie, I only had to install the "libjpeg8" package from Debian/Wheezy (https://packages.debian.org/wheezy/amd64/libjpeg8/download).

    On Debian/Stretch, I also had to install the "libpng12-0" package from Debian/Jessie (https://packages.debian.org/jessie/amd64/libpng12-0/download).

    Thanks Garmin for supporting Linux natively. I hope you will never stop doing so! (*personally*, there is no way I ever go back to developing in any other environment)
  • I just installed the SDK on Bunsenlabs 64bit, I ran into these issues as well but I can not find the libjpeg8 package anywhere.
    Any help would be appreciated because I really want to start developing :)

  • I think some linux folks just use the windows version in a windows VM under linux.

  • You can download archives of the jpeg-ijg libraries directly from the Independent JPEG Group here

      https://www.ijg.org/files/

    Our 3.0.x SDK uses an older version of wxWidgets that brings in this old library dependency. The 3.1.x SDK will likely depend on the libjpeg9c libraries.

  • thanks, I was able to compile the library and get the simulator running the example app :)

  • On Debian/Buster: one also need " libwebkitgtk-1.0-0" and "libjavascriptcoregtk-1.0-0" (which I haven't succeeded to "forward-port" from Strech yet)

    Garmin: why don't you release the required libraries in a "lib" folder in the Linux SDK ? (LD_LIBRARY_PATH would be our friend here)