From owner-freebsd-ports@freebsd.org Wed Jun 14 00:00:48 2017 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3DB91C09D6E for ; Wed, 14 Jun 2017 00:00:48 +0000 (UTC) (envelope-from kob6558@gmail.com) Received: from mail-pg0-x231.google.com (mail-pg0-x231.google.com [IPv6:2607:f8b0:400e:c05::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0903C7157C for ; Wed, 14 Jun 2017 00:00:48 +0000 (UTC) (envelope-from kob6558@gmail.com) Received: by mail-pg0-x231.google.com with SMTP id k71so67173117pgd.2 for ; Tue, 13 Jun 2017 17:00:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=3Q5cbyOMRyYyEdL+FFYviCFYXFMZb7GEHRD7QK29Aqc=; b=BpaNwVsrLz44FnGbsHJPc0CwdoXHRD+PNujES2t6ZSaxsIimb0oyq714ZHHo0RZnkB dNor6lkIzkUR2oV4906gLEJXpQeysUnlo0SSPdIFUeyvIy5+UNYbDtd0qSxxAXC8T2vv 1ojeFssypGdkk5zfDNS/n1nTZIM+2R/9GVhEMfkwkjGcGfRZmGGaKHrDhe83bcbpgokt RRUTBVLqoieM6VYGi9P2Vaqxgvk4tHa4OPAMPZqe5lDdbARHvwGQPrn82zmnvd7AIyx7 3kfj6acdBILF3eMlcO9qfipCHvDOadwE16E1nLfXY7NOKDfffSlz+jm828TA3Hs9RGPk aZAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=3Q5cbyOMRyYyEdL+FFYviCFYXFMZb7GEHRD7QK29Aqc=; b=foCU26+2jyvDaMdc/QG05Eaw1JhMTmVW5uxoHJZwjBY2VVKWcptUIXlt7pTDeLSK8V QP9MzsRGnbx4L0GjJIalqIWjY/surCE6yPHbfVBEGIt/y73AbAKiYEXRjeQPNCKrSMIp FQ/Amek77+p9/gEy1VhecQKBvAtSM1KiOMXm9xkrpiu0FCeikVCd4d3ir0bZhvNrVakM cz0sUb6o4oYf5IhNAbZSovyjmhDQbCXLBa7CAU2PM/NO7yJwZBf7PIuMfPwEXl6H8xEp LH0LrYpjkQkLFeoZfDCvFRvv/B6kgphsOGyhhaffFoYD4olWP/D9vXHYGcoX3VytsmJf FEKg== X-Gm-Message-State: AKS2vOwBL/C/29VNQKqYTWpgVm11PslDRS6McYcSslALWp8p+fiQWuq5 aqP6AP9I8RHdN5sRw3Y0sISiXMYr3g== X-Received: by 10.99.127.89 with SMTP id p25mr1772670pgn.120.1497398447542; Tue, 13 Jun 2017 17:00:47 -0700 (PDT) MIME-Version: 1.0 Sender: kob6558@gmail.com Received: by 10.100.140.202 with HTTP; Tue, 13 Jun 2017 17:00:46 -0700 (PDT) In-Reply-To: References: <9DD17DEF-D6EB-496B-95AB-DC2C8EE4156B@FreeBSD.org> <594005E1.70608@grosbein.net> <4aeaa9da-1e52-812f-fddd-fda24cfa0ee5@gmail.com> <44vanzx4qd.fsf@lowell-desk.lan> <56bafdb9-9e01-c158-63d7-f3d4c3daa0c5@gmail.com> From: Kevin Oberman Date: Tue, 13 Jun 2017 17:00:46 -0700 X-Google-Sender-Auth: y2jBAkituw299M4RsqmwH8cFEOc Message-ID: Subject: Re: How to stop ports recompiling gcc, llvm, etc.? To: Rastko P Cc: FreeBSD Ports ML Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Jun 2017 00:00:48 -0000 On Tue, Jun 13, 2017 at 3:07 PM, Rastko P 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 > > 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 > > > 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@gmail.com PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683