Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Oct 2016 01:14:39 -0700
From:      Julian Elischer <julian@freebsd.org>
To:        Dewayne Geraghty <dewaynegeraghty@gmail.com>, ports-list freebsd <freebsd-ports@freebsd.org>
Subject:   Re: gcc5 dependency challenges
Message-ID:  <48288f1e-ec59-9992-c557-c8d7e7f61b61@freebsd.org>
In-Reply-To: <CAGnMC6rjJOHGvYNM43DKHgq6bJS65QBzwZVsMYF-OKVt_5vP%2BA@mail.gmail.com>
References:  <CAGnMC6rjJOHGvYNM43DKHgq6bJS65QBzwZVsMYF-OKVt_5vP%2BA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 14/10/2016 12:48 AM, Dewayne Geraghty wrote:
> After some rudimentary performance testing I note that we get up around 3%
> improvement in application performance when we use gcc5 for our package
> builds.
>
> However building ports with gcc results in gcc5 being a dependency.
> Examining ldd, we find that rarely does anything require gcc5's shared libs
> for their execution.  Even simple things like ftp/wget and devel/ccache
> depend on gcc5 for building but NOT runtime.  As we aren't allowed to
> install compilers onto production systems, what is the best course of
> action to address?
> (We could just install gcc5 and then remove it but then of course, the base
> pkg wants to remove everything (600+ packages) that depends on gcc5!)
>
> So the question is - how should we build our packages or install them so
> that gcc5 is not (unnecessarily) installed?
This is a topic I have been discussing in this list over the last few 
weeks.
My understanding is that the compiler should not be a dependency for 
the package.

I have been suggesting that packages should be installable in two 
manners,  runtime or developement.
In runtie mode they would only unpack the binary results (and not the 
man pages or .a files or .h files)
and would only give library dependancies as depends.. In devel mode 
they woudl be sort of like now..

> We've added to our /etc/make.conf
> USE_GCC=  5
> but I wonder if there's something like a build_depends mechanism?
>
>
> Background:
> Our FreeBSD 10.3 Stable uses pkg 1.8.3; whereas ports uses 1.8.7_3, minor
> point.
>
> Why gcc5? Well most ports use clang 3.4.1 to compile, some ports do use gcc
> 4.8.5; and if we move to FreeBSD11 then we also need to add llvm3.6 into
> the build/migrating equation.  So to aid our migration effort we "think"
> choosing gcc5 now is a good idea; particularly as /usr/ports/base/gcc uses
> gcc 5.4.0 (rather than /usr/ports/lang/gcc which is 4.8.5)
>
> All production systems use local package repositories (as heimdal is widely
> used as are  non-default options).
>
> Kind regards, Dewayne
> _______________________________________________
> freebsd-ports@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org"
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?48288f1e-ec59-9992-c557-c8d7e7f61b61>