How to stop ports recompiling gcc, llvm, etc.?
Rastko P
lylecorman at gmail.com
Wed Jun 14 07:39:36 UTC 2017
Thanks a lot Kevin,
a lot of valuable info, and I think it'll solve my problems in the long run.
I haven't been using portmaster to build ports, but "make". I'll have a look
in the manpages. As to your confusion for why LLVM isn't there, the command
is supposed to list all the packages with rev-depends > 0. As to why gcc5
is listed as gcc5-0, is beyond quant theory. And yes, I am dual-booting, so
only 64 GiB for FreeBSD here. Already on 37%, and I haven't even started
coding yet.
Thanks for the info.
On 14.06.2017 02:00, Kevin Oberman wrote:
> On Tue, Jun 13, 2017 at 3:07 PM, Rastko P <lylecorman at gmail.com
> <mailto:lylecorman at gmail.com>> wrote:
>
> I used the portsnap fetch>extract>fetch>update
>
> then built portmaster,
>
> then used pkg version -l "<", which gave 2 out-of-date,
>
> then used portmaster -L, which gave 2 matching out-of-date,
>
> then used portmaster -a to update all ports, which pulled in a lot of
>
> dependencies, including llvm, cairo, openjdk, etc.
>
> then used 'df', just to find out not much space has been taken,
>
> then used postmaster --clean-distfiles,
>
> then used pkg clean (-a),
>
> then did some pkg and portsnap updates again, so forth.
>
>
> The compilation of thunderbird52.1.1 has stopped with an error
>
> mentioning a void reference, AFAIR, and I used make only, not make
> install,
>
> however, I am left with gcc5 installed, 2 versions of llvm
> installed, etc.
>
>
> Here's some output from pkg:
>
>
> Manually installed packages
>
> #################
>
>
> $ pkg query -e '%a = 0' %o
> security/openssh-askpass
> ports-mgmt/dialog4ports
> misc/freebsd-doc-en
> www/firefox
> www/firefox-i18n
> security/gnome-ssh-askpass
> x11/gnome3
> editors/nano
> ports-mgmt/pkg
> ports-mgmt/portmaster
> lang/python
> lang/python36
> misc/freebsd-doc-sr
> security/sudo
> mail/thunderbird
> mail/thunderbird-i18n
> x11-fonts/urwfonts
> multimedia/vlc-qt4
> security/xca
> x11-drivers/xf86-video-intel
> x11/xorg
> graphics/xpdf
>
>
> Devel/Lang category automatically installed with -N dependencies
> at the end
>
> ##############################################
>
>
> $ pkg query -e '%a = 1 && %o ~ lang* || %o ~ devel* && %#r > 0'
> %o-%#r |
> sort
> devel/autoconf-1
> devel/autoconf-wrapper-2
> devel/automake-wrapper-1
> devel/binutils-1
> devel/boehm-gc-2
> devel/boehm-gc-threaded-1
> devel/boost-libs-2
> devel/cmake-modules-1
> devel/dbus-20
> devel/dbus-glib-30
> devel/dconf-5
> devel/dconf-editor-1
> devel/desktop-file-utils-24
> devel/dotconf-2
> devel/gamin-1
> devel/gconf2-7
> devel/gettext-runtime-301
> devel/gettext-tools-2
> devel/glib20-255
> devel/glibmm-7
> devel/gobject-introspection-18
> devel/gsettings-desktop-schemas-15
> devel/gstreamer1-plugins-soup-1
> devel/gvfs-6
> devel/icu-9
>
> devel/json-glib-14
> devel/jsoncpp-1
> devel/libdaemon-1
> devel/libedit-3
> devel/libevent-2
> devel/libffi-13
> devel/libgdata-7
> devel/libgee-7
> devel/libgit2-1
> devel/libgit2-glib-1
> devel/libglade2-3
> devel/libgsf-27
> devel/libgtop-4
> devel/libical-2
> devel/libIDL-9
> devel/libinotify-1
> devel/libltdl-9
> devel/libnotify-15
> devel/libpciaccess-4
> devel/libpeas-7
> devel/libpthread-stubs-1
> devel/librest-5
> devel/libsigc++20-8
> devel/libsoup-17
> devel/libsoup-gnome-8
> devel/libunistring-4
> devel/libunwind-1
> devel/libuv-1
> devel/libvolume_id-1
> devel/llvm39-2
>
> devel/lua-bitop-1
> devel/lua-lpeg-1
> devel/m4-5
> devel/npth-1
> devel/nspr-9
> devel/ORBit2-8
> devel/orc-36
> devel/p5-Locale-gettext-1
> devel/pcre-3
> devel/popt-2
> devel/ptlib-1
> devel/py-babel-2
> devel/py-cffi-1
> devel/py-dbus-5
> devel/py-enum34-2
> devel/py-gobject-5
> devel/py-gobject3-6
> devel/py-iso8601-1
> devel/py-Jinja2-1
> devel/py-libpeas-1
> devel/py-notify-1
> devel/py-pyasn1-1
> devel/py-pycparser-1
> devel/py-pytz-1
> devel/py-six-4
> devel/py-xdg-1
> devel/py27-setuptools-29
> devel/py3-dbus-2
> devel/py3-gobject3-6
> devel/py3-libpeas-3
>
> devel/py3-xdg-2
> devel/py35-setuptools-1
> devel/pydbus-common-2
> devel/pygobject3-common-2
> devel/qt4-corelib-2
> devel/readline-11
> devel/sdl12-2
> devel/spice-protocol-1
> devel/talloc-3
> devel/tevent-2
> devel/xdg-utils-2
> lang/gcc-ecj45-1
> lang/gcc5-0
> lang/gjs-7
> lang/guile2-1
> lang/lua52-11
> lang/perl5.24-23
> lang/python2-31
> lang/python27-76
> lang/python3-14
> lang/python35-17
> lang/spidermonkey170-1
> lang/spidermonkey24-1
> lang/vala-1
>
>
>
> On 13.06.2017 20:09, Kevin Oberman wrote:
> > On Tue, Jun 13, 2017 at 9:19 AM, Rastko P <lylecorman at gmail.com
> <mailto:lylecorman at gmail.com>
> > <mailto:lylecorman at gmail.com <mailto:lylecorman at gmail.com>>> wrote:
> >
> > Nope, none of those, funny as it may sound, I was going by the
> > "Handbook" and tried to use "portmaster", as it reported some
> > upgradeable 'ports'.
> >
> > However, that was the first time I launched portmaster, and
> it was
> > weird, because it kept prompting me to delete newer versions of
> > software
> > than that which had been built by the portmaster session, to
> which I
> > replied 'oh, no [n]o', which was the default.
> >
> > But in the end, it seems to have not installed anything
> (?!). Why
> > did it
> > pull in all those dependencies? Where are the binaries?
> >
> >
> > On 13.06.2017 17:54, Lowell Gilbert wrote:
> > > Rastko P <lylecorman at gmail.com
> <mailto:lylecorman at gmail.com> <mailto:lylecorman at gmail.com
> <mailto:lylecorman at gmail.com>>>
> > writes:
> > >
> > >> I have a fresh 11-RELEASE dist. I am 'bootstrapping' the
> > environment.
> > >>
> > >> I am in the process of building mail/thunderbird-52.1.1,
> > because the
> > >> binary doesn't have support for Lightning calendar extension.
> > >>
> > >> Yesterday, a documentation port build pulled in a lot of
> > dependencies,
> > >> including GCC, LLVM, and a lot of others. 6+ hours of
> compile-time.
> > >>
> > >> After it finished I immediately issued a 'df' cmd, and
> > lo-and-behold,
> > >> not more than 1GB was taken by the build process. Now
> that you've
> > >> mentioned it, pkg says GCC or LLVM are not to be found
> > installed. I am
> > >> missing something huge here.
> > > Are you using synth, or poudriere? A normal port build would
> > leave those
> > > things installed if it needed them at build time.
> >
> >
> > What command are you using? Specifically, what options are you using
> > with portmaster? Are you installing from /usr/ports? Installing into
> > /usr/local?
> >
> > Clearly, something odd is going on. While building llvm is big, I
> > don't have to do it very often. Only when the port, itself, is
> > updated. Anything in you environment that might be unexpected?
> >
> > When you run portmaster, you should get a list of ports to be
> > installed and a request for confirmation that you want to
> proceed. Are
> > you seeing this? Or, is the build of the port triggering the rebuild
> > of the compiler.
>
>
> First, I think "pkg clean is a reasoable thing to do but "pkg clean
> -a" is a bit excessive unless you are seriously tight on disk space.
> This is just a comment and orthogonal to your issue.
>
> Next, you will need multiple version of llvm snd may need more than
> one version of gcc. Some ports are simply won't build with other than
> some specific version. Also, some ports combinations may cause both
> lang/gcc and lang/gcc5 to be built. (Not sure of this.)
>
> You are mixing port and package installs which is a bit dangerous and
> may cause issues. That is why it is not recommended. That said, they
> are often needed unless you use synth or poudriere. You can at least
> minimize this by only using ports for those cases where the packaged
> version won't do.
>
> When you run portmaster to install a port, it should provide a list of
> all ports it will install. If none of these require special options, I
> would suggest responding "n" and then using pkg install to take care
> of the dependencies. No need to build them unless you need a
> non-standard option which is fairly unlikely for most of them. I am
> unsure why I don't see lang/llvm, though.
>
> Also, do you really need vlc-qt4? qt4 is getting very long of tooth
> and starting to suffer bit rot. I still have a couple of ports that
> require qt4, but I am working on writing updates to the ports to move
> them to qt5. In both cases the upstream supports qt5, but our port has
> not been updated to take advantage of this.
>
> Finally, use "pkg lock" to lock your custom ports so you can then just
> use "pkg upgrade" to maintain all of the rest. I do a daily:
> pkg upgrade
> portsnap update
> pkg version -vL=
>
> with a nightly cron job in /etc/crontab:
> # Fetch updates to the ports tree
> 0 4 * * * root /usr/sbin/portsnap cron
>
> These are some suggestions to make you life a bit easier. Whether they
> can resolve the root issue, I am not sure.
> --
> Kevin Oberman, Part time kid herder and retired Network Engineer
> E-mail: rkoberman at gmail.com <mailto:rkoberman at gmail.com>
> PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683
More information about the freebsd-ports
mailing list