From owner-freebsd-ports@freebsd.org Fri Nov 6 15:32:09 2015 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 D4DE1A274E8 for ; Fri, 6 Nov 2015 15:32:09 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4FED9119A for ; Fri, 6 Nov 2015 15:32:09 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTPS id tA6FW2eW092268 (version=TLSv1 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Fri, 6 Nov 2015 17:32:02 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua tA6FW2eW092268 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id tA6FW21n092267; Fri, 6 Nov 2015 17:32:02 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 6 Nov 2015 17:32:02 +0200 From: Konstantin Belousov To: Norbert Koch Cc: freebsd-ports@FreeBSD.org Subject: Re: ports/pkg incompatibility, os/libc api changes Message-ID: <20151106153202.GN2257@kib.kiev.ua> References: <563C7423.70705@demig.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <563C7423.70705@demig.de> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Nov 2015 15:32:09 -0000 On Fri, Nov 06, 2015 at 10:34:27AM +0100, Norbert Koch wrote: > Hello. > > I am observing this on a system running FreeBSD 9.1: > > If I build fontconfig from ports all is ok. > > If I do pkg install fontconfig it does not work. > > The reason is that fontconfig calls fcntl() > with the parameter F_DUPFD_CLOEXEC. This has > been introduced afaics since FreeBSD 9.2. > > So, I obviously should update to 9.3 and all would be ok, > but, due to different reasons, this is not a solution for me. > > My question is: > > Is it, according to FreeBSD policies, > acceptable to change the os (or libc) api without > changing FreeBSD's major version number? Yes. > > If yes, is there some documentation about potential > problems like the one I found? There is no formal statement about the guarantees the project provides, but the essence is that the compatibility is backward (and not forward, as you found). In other words, we guarantee that a binary compiled and worked on the previous version of the system, works on the newer version, but not in reverse. More, with the utilization of the symbol versioning, binaries which only depend on the base C runtime, should be transportable to the greater major versions as well. The big exception is the binaries which utilize management interfaces, e.g. there is no chance that ifconfig(8) would work on a different version. Your problem is due to the fontconfig binary was compiled on newer system and then tried to run on older. > Shouldn't pkg reject to install an incompatible package?