[OpenIndiana-discuss] Could you update your sysroot, jclulow?

Stephan Althaus Stephan.Althaus at Duedinghausen.eu
Mon Jan 18 12:37:00 UTC 2021


Hi!

Building PaleMoon for your private use is easy on OI with this 
informations, tried it yesterday:

http://developer.palemoon.org/build/sunos/

Greetings,
Stephan


On 01/18/21 13:15, Hung Nguyen Gia via openindiana-discuss wrote:
> I ended up make my own sysroot using tar on a minimal OI installation with gcc-10 installed.
>
> Now I have a working cross compiler, even for C++.
>
> The key is also include /usr/gcc/10/include and /usr/gcc/10/lib in the tarball.
>
> But I don't think I could cross compile Pale Moon for OI from Linux at all.
>
> I think I still have to mess with distribution constructor.
>
>
> ---- On Mon, 18 Jan 2021 05:04:59 +0700 Joshua M. Clulow via openindiana-discuss <openindiana-discuss at openindiana.org> wrote ----
>
>   > On Sun, 17 Jan 2021 at 05:24, Peter Tribble <peter.tribble at gmail.com> wrote:
>   > > On Sun, Jan 17, 2021 at 11:15 AM Hung Nguyen Gia via openindiana-discuss <
>   > > openindiana-discuss at openindiana.org> wrote:
>   > > > I wanted to use your sysroot here to build a cross compiler for OI from
>   > > > Linux:
>   > > >
>   > > > https://github.com/illumos/sysroot
>   > > >
>   > > > But it seemed you didn't include the C++ part. I couldn't find them. There
>   > > > is no C++ headers, e.g: cmath, iostream,... nor the C++ standard library
>   > > > itself.
>   > > Those are supplied by the toolchain, in our case usually gcc. And you would
>   > > normally
>   > > need to ensure that the versions in the sysroot are compatible (for
>   > > whatever definition of
>   > > compatible you're interested in) with the toolchain you're using.
>   >
>   > Right.  The official illumos sysroot contains, as much as possible,
>   > only things that are delivered directly from illumos-gate.  A small
>   > exception is made for libssp and libgcc_s, after an extensive survey
>   > was undertaken to determine if compatible versions of those libraries
>   > were available in basically all shipping distributions.  As described
>   > in the release notes, the copies of these libraries included within
>   > the archive are stubs: they contain no executable code, and would not
>   > actually _work_ if you attempted to use them on an illumos system.
>   > They're just for cross-compilation.
>   >
>   > Unlike libgcc_s and libssp, there aren't sufficiently strong backwards
>   > compatibility guarantees made about any of the C++ runtimes, or
>   > OpenSSL, or many other commonly used components.  On that basis,
>   > they're not good candidates for an illumos sysroot.
>   >
>   > You could, on the other hand, select a specific distribution (and
>   > presumably a specific version) to create a different sort of sysroot.
>   > That sysroot archive could then include anything that was guaranteed
>   > to be available within the distribution; a process of selection that
>   > would depend a lot on the policies of that specific distribution and
>   > on your goals.
>   >
>   > > > This sysroot is also a bit old, too.
>   > > A sysroot can be used for a variety of uses. This one is targetted at
>   > > building software on
>   > > a current host that will still run correctly on an older system.
>   >
>   > More specifically than that, it was built almost exclusively at the
>   > time with Rust in mind.  The Rust project uses this sysroot archive
>   > within a Linux docker container to cross-compile the Rust toolchain
>   > (including Cargo, etc) for illumos.  Selecting the specific version
>   > here was a balance between the widest possible audience (thus, the
>   > oldest contents) and the inclusion of the getrandom(2) public API.
>   > More details on our choice are in the release notes:
>   >
>   >  https://github.com/illumos/sysroot/releases/tag/20181213-de6af22ae73b-v1
>   >
>   > We will likely at some point select a new version of the gate to
>   > create a new sysroot.  This will probably not happen until we need to
>   > use a new interface of some kind that was added some time after
>   > December 2018.  When we get there, it will likely _still_ seem to be
>   > an old version -- the 20181213 sysroot was, after all, created in
>   > April 2020.
>   >
>   > If we were to create a new sysroot in April 2021, it may well be from
>   > gate bits towards the end of 2019 or very early 2020.  Any newer and
>   > it is unlikely to result in binaries that can be used on, as much as
>   > possible, all supported distribution releases.  You can see from the
>   > release schedule at OmniOS that some of their LTS releases are
>   > supported for a long time, and we want the sysroot to produce binaries
>   > that can be used there:
>   >
>   >  https://omniosce.org/schedule
>   >
>   > The current LTS release is r151030, which was released in May 2019 and
>   > will be supported until May 2022.  That makes it unlikely that the
>   > released sysroot would advance past May 2019 until 2022, unless we
>   > could find a way around the problem.
>   >
>   > > Generally I would expect anyone using a sysroot to have a pretty specific
>   > > target in mind.
>   > > It's not that hard to create, either simply copying an existing system that
>   > > has the bits you
>   > > want, or using packaging - pkg has the image-create functionality designed
>   > > for exactly
>   > > this purpose.
>   >
>   > Yes, you could definitely use "pkg image-create" to install any set of
>   > OpenIndiana packages into a directory tree.  This is, as it happens,
>   > basically what the Distribution Constructor does today to create the
>   > install media.  The OmniOS folks also use this approach to build cloud
>   > images in their Kayak tools.
>   >
>   > You could also use the tools we included in the "illumos/sysroot"
>   > repository, with minor configuration or modification, to make your own
>   > sysroot from any built copy of illumos.
>   >
>   >
>   > Cheers.
>   >
>   > --
>   > Joshua M. Clulow
>   > http://blog.sysmgr.org
>   >
>   > _______________________________________________
>   > openindiana-discuss mailing list
>   > openindiana-discuss at openindiana.org
>   > https://openindiana.org/mailman/listinfo/openindiana-discuss
>   >
>
> _______________________________________________
> openindiana-discuss mailing list
> openindiana-discuss at openindiana.org
> https://openindiana.org/mailman/listinfo/openindiana-discuss





More information about the openindiana-discuss mailing list