From owner-freebsd-ports@freebsd.org Fri Oct 14 07:48:59 2016 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 F0D5FC11565 for ; Fri, 14 Oct 2016 07:48:59 +0000 (UTC) (envelope-from dewaynegeraghty@gmail.com) Received: from mail-it0-x22b.google.com (mail-it0-x22b.google.com [IPv6:2607:f8b0:4001:c0b::22b]) (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 BD6BD656 for ; Fri, 14 Oct 2016 07:48:59 +0000 (UTC) (envelope-from dewaynegeraghty@gmail.com) Received: by mail-it0-x22b.google.com with SMTP id 4so8618903itv.0 for ; Fri, 14 Oct 2016 00:48:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=0S2ajvv5YYpSDy3DoP8kdDemFU2yZKe6XzPSfZxHsDk=; b=vGcVVx/v5panTVV5PYhnJArhV/l0ewbRJXoz4JmtQMN9TYzEv7FCbALmM6ePeSF5Oy eBS9Zchf6ynRo4hXKO1gSXHERcwTgtfWL0tUMsWnCbJ8f2YqYP41TZpnMlCQnmTUk6ml bzUSDDBtI0jsuD2gMqvwEmJqLDtqWfjkYHuVl1zkLrkHtDwSaE3gAsAQmN5Ll6H923t8 mhK1Ps2uwnloUkV4oEToZgJoLMNaKvhuCuXPa2cH70HXRGJNcCRw8x2Q8/Jn1hem+Pxy xsjnvhy55rbRHpqmTWrJ0/kYJiNFXbz+Q9I8/IAfS2MvT2X9EsuB6RlBoQRTU4INKDvQ wfxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=0S2ajvv5YYpSDy3DoP8kdDemFU2yZKe6XzPSfZxHsDk=; b=bTe9++7ZevbVNw7NDHHPna649NkXJYAdM5qonddNGsCwL+DAbRu3yTGwarmJRrXPtI hphSYsY9MsaCaJgthWghHiuaQgNDuSyyU4uWhfXI8Y6ctvAeg28xCIPPagwuMd0y5tmM 0WwndacbXRh0/fW/0RaWFjXUNflpG3Pdm7A06HZ+EMtUcsO7QaKAQzG4CHZwvG5QHDmH eoxpVgW78brL2otSDAOm2tYIW1Qzm/HK7AwXpieCK7FFjt6+yV4R8GubkChhpcVhaU9l Rw6DXJe4dRnEbaEcbZ4DCAlJrDIkpyx2euLyUjj2ArbaEDavR99SAEl7NE+uigbZ8NMW Xq2g== X-Gm-Message-State: AA6/9Rm1RbwcvdPRyGCOcA/Q1t1tDDL3hMLFT8AUsfFoy3w7e0KOe5pJ4b00RSF0JGtEl6XDLhtmDjCwVDSxAQ== X-Received: by 10.36.245.10 with SMTP id k10mr11285143ith.120.1476431339029; Fri, 14 Oct 2016 00:48:59 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.27.139 with HTTP; Fri, 14 Oct 2016 00:48:28 -0700 (PDT) From: Dewayne Geraghty Date: Fri, 14 Oct 2016 18:48:28 +1100 Message-ID: Subject: gcc5 dependency challenges To: ports-list freebsd 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: Fri, 14 Oct 2016 07:49:00 -0000 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? 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