Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Readers > Kobo Reader > Kobo Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 06-11-2020, 12:46 PM   #1
geek1011
Wizard
geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.geek1011 ought to be getting tired of karma fortunes by now.
 
Posts: 2,733
Karma: 6987557
Join Date: May 2016
Location: Ontario, Canada
Device: Kobo Mini, Aura Edition 2 v1, Clara HD
NickelTC: A prebuilt, relocatable, fully-functional toolchain using NiLuJe's scripts

NickelTC
A prebuilt, relocatable, fully-functional toolchain using NiLuJe's scripts.
___

I've had this on GitHub for a while, but I've still received messages from people asking about this kind of thing, so I thought I might as well make a post for it here.

The work on this started when we (NiLuJe and I) were experimenting with Kobo plugins in September 2019, and this part was made public on GitHub around the time we (NiLuJe, sherman, and I) started working on NickelMenu in April 2020.

You can download it as a Docker image from Docker Hub, or you can get it as a tarball for modern-ish glibc Linux systems (basically, the last few versions of Debian or Ubuntu, and it'll probably work on Arch and Fedora too) from here (you'll need a GitHub account).

NiLuJe's scripts provide an output which would be almost identical to the ones from the official build scripts if they actually worked. It produces a toolchain which will be binary-compatible with Kobo stuff, including all kobo-specific patches. It also fixes some of the ancient tooling to work on modern Linux distros. NiLuJe did the majority of the hardest parts with the initial build (thanks!).

My Dockerfile builds on NiLuJe's scripts (source), and: fixes the DESTDIR/prefix variables, makes it fully relocatable without any additional steps, makes the builds reproducible (almost), uses versioned dependencies (almost, I'm working on the last bit of that now), reduces host dependencies, patches tooling config files and creates wrappers where necessary, does some basic tests, fixes Qt sysroot stuff, and does a few other improvements.

This toolchain should be usable as-is for building apps which integrate with Nickel (plugins, LD_PRELOAD wrappers, Qt things, etc) or other stuff which needs binary-compatibility with native libs. It is also suitable for being passed to things like buildroot to build other software.

For a lot more info about this, see the README on GitHub.
geek1011 is online now   Reply With Quote
Old 06-11-2020, 02:48 PM   #2
NiLuJe
BLAM!
NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.NiLuJe ought to be getting tired of karma fortunes by now.
 
NiLuJe's Avatar
 
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
I should add that the core, non-Qt bits (i.e., the actual compiler setup) is based on the work done around the KOReader toolchains.

And that I stand by the comment made about the nickel TC there: if you don't need to work with Nickel/Qt (eventually, the kernel), and if, where C++ is concerned, linking against the STL statically is not an issue, prefer the "kobo" toolchain target, because it uses a much more recent GCC version than the crapfest that is GCC 4.9 .

As an example, I don't actually use the nickel TC anywhere else than for NickelMenu. KOReader, KFMon, FBInk, KoboStuff are all built with the "kobo" TC.

If, for some reason (e.g., modern C++), you absolutely need a bleeding-edge compiler, that's also possible (i.e., I regularly run tests with the latest Clang & GCC versions), ping me, as that's slightly less user-friendly .

Last edited by NiLuJe; 06-11-2020 at 03:46 PM.
NiLuJe is offline   Reply With Quote
Advert
Reply

Tags
firmware, gcc, nickel, sysroot, toolchain


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Water damage: fully functional, but battery really bad - replace? coplate Amazon Kindle 18 04-26-2017 10:27 AM
Easy debian install with prebuilt image. Xqtftqx Kindle Developer's Corner 67 02-07-2017 05:49 PM
YotaPhone: A Fully Functional LCD/E-Ink Phone on Sale Now! faithbw News 16 12-09-2013 01:41 PM
Making a duplicate of a fully functional CM7 image dereksurfs Nook Developer's Corner 5 03-30-2012 12:50 AM


All times are GMT -4. The time now is 07:23 AM.


MobileRead.com is a privately owned, operated and funded community.