[OmniOS-discuss] Hello bloody folks! Check out preliminary gcc5.1 support

Dan McDonald danmcd at omniti.com
Tue Jun 16 13:14:57 UTC 2015


> On Jun 10, 2015, at 10:00 AM, Eric Sproul <eric.sproul at circonus.com> wrote:
> 
> On Wed, Jun 10, 2015 at 8:46 AM, Dan McDonald <danmcd at omniti.com> wrote:
>> 
>>> On Jun 8, 2015, at 10:46 AM, Eric Sproul <eric.sproul at circonus.com> wrote:
>>> 
>>> On Fri, Jun 5, 2015 at 3:46 PM, Dan McDonald <danmcd at omniti.com> wrote:
>>>> Any code-minded people in the community should have a look at the above webrev, and tell me what you think. Unlike the last compiler change done for r151008, this is a jump from 4 to 5, so "g{cc,++}-N-runtime" has a new value of N, namely 5.  The prior versions of gcc runtime are in place (.so.6.0.XX), but the package name has been changed.  I've use the "renamed" attribute for gcc/++-4-runtime to aid in this regard.
>>> 
>>> Dan,
>>> Great work so far.  Mostly looks good to me, though I'm curious if
>>> pkglint is/will be complaining about redundant require dependencies.
>> 
>> Remember -- we don't run pkglint by default.  (Some existing package naming schemes make that difficult/impossible.)
> 
> Ah, I just looked at the make_package() function.  Out of (perhaps
> morbid) curiosity, what are the obstacles?

-bash-4.3$ pkg list nfs
NAME (PUBLISHER)                                  VERSION                    IFO
service/file-system/nfs                           0.5.11-0.151015            i--
system/file-system/nfs                            0.5.11-0.151015            i--
-bash-4.3$ 

Though those are in ON, to be fair.

>> The whole DEPENDS_IPS/BUILD_DEPENDS_IPS/PKG_DEPENDS_IPS is screwy to me.  A bit of history, and a suggested what's-right course of action may be in order.
> 
> OK, so to go _really_ far back into the Dark Ages, our build system
> was originally created to make SVR4 packages for Solaris 10 in
> OmniTI's hosting environments.  No fancy auto-dependency tools there,
> so the build had to declare all runtime dependencies manually.  That
> persisted through the transition to SXCE, which was still SVR4.
> Fast-forward to IPS and OmniOS, which grew organically from the SVR4
> builds, and the habit of specifying all deps manually was already
> deeply ingrained.

Inherited S10/SVR4 stuff -- got it!

> So now, in the all-IPS world, with pkgdepend, we generally don't need
> to specify run-time dependencies.  pkgdepend can handle ELF, Java, and
> some scripts (Python, Perl, shell), and maybe a few other minor
> things.  It can't do Perl modules, that's one glaring issue that comes
> to mind, so there are still cases where you need to specify *some*
> runtime deps. BUT, since we don't run pkglint, we haven't been good
> about cleaning up the unnecessary DEPENDS_IPS items, and our packages
> will end up with either duplicate deps or unnecessary ones, e.g.
> 
> $ pkg contents -t depend -o type,fmri bash
> TYPE    FMRI
> require pkg:/SUNWcs at 0.5.11-0.151014
> require pkg:/system/library at 0.5.11-0.151014
> require system/library/gcc-4-runtime
> 
> The first two came from pkgdepend, but bash doesn't actually need
> gcc-4-runtime (verified with ldd).  It may have at one time, or
> someone was just over-zealous in applying an assumed dependency
> without validation.
> 
> This is mostly harmless, but as in your case here, it's creating
> unnecessary work for you to change to gcc5.

Since I've *done* the work already, however, are you okay with the existing changes. I've been running a gcc5'ed bloody on&off for the past 1-2 weeks.  I also have a gcc5 install ISO which I need to confirm, but I think I'm good. If you're good, I'll mark you as a reviewer, integrate, rebuild the world, and see if a conventional "pkg update" works on my pristine bloody system.

Thanks,
Dan





More information about the OmniOS-discuss mailing list