From owner-freebsd-geom@FreeBSD.ORG Tue Mar 18 02:37:16 2014 Return-Path: Delivered-To: freebsd-geom@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AEFAE6B1; Tue, 18 Mar 2014 02:37:16 +0000 (UTC) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 82E5BBA7; Tue, 18 Mar 2014 02:37:16 +0000 (UTC) Received: from compute6.internal (compute6.nyi.mail.srv.osa [10.202.2.46]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id CEA7820D1D; Mon, 17 Mar 2014 22:37:14 -0400 (EDT) Received: from web3 ([10.202.2.213]) by compute6.internal (MEProxy); Mon, 17 Mar 2014 22:37:14 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:from:to:cc:mime-version :content-transfer-encoding:content-type:subject:date; s=smtpout; bh=tLn7NGhHmQTZa9ZoUjeLTw2azhg=; b=NIosZFxNQkGgtLkeM4qeGqUB7KXI 5IEiai6apYJQGeb2HxU8/QAg+y+7Se2fgvupGjsAB/WjJB+keFAr7O188729atXP /NnNk87csNjqVw1OGYkomIxnrCdWOJAhYgKRDQT98MMjOtXEjD0wZC3rIcLyE7s7 YamBGx27NibpgAw= Received: by web3.nyi.mail.srv.osa (Postfix, from userid 99) id 959641480A1; Mon, 17 Mar 2014 22:37:14 -0400 (EDT) Message-Id: <1395110234.28391.95721417.1EBDEC74@webmail.messagingengine.com> X-Sasl-Enc: aa1PlYTp4+48JpV24VQKRimQVlYh62gKZ0L6U4I/3kVC 1395110234 From: Ryan Lortie To: freebsd-geom@freebsd.org MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain X-Mailer: MessagingEngine.com Webmail Interface - ajax-88721676 Subject: GLib vs. libgeom: g_close() Date: Mon, 17 Mar 2014 22:37:14 -0400 X-Forwarded-Message-Id: <1391613475.11936.79646661.124E1A36@webmail.messagingengine.com> Cc: kwm@freebsd.org X-BeenThere: freebsd-geom@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: GEOM-specific discussions and implementations List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Mar 2014 02:37:16 -0000 hi, I'm part of a team that's trying to get the latest versions of GNOME (out of git) building on FreeBSD with the eventual goal of getting a "continuous integration" sort of setup so that we can flag FreeBSD portability issues in GNOME at an earlier stage. We've made some pretty good progress so far: https://wiki.gnome.org/Projects/Jhbuild/FreeBSD We hit an issue a bit over a month ago when attempting to get libgtop working with the latest GLib on FreeBSD. Specifically: GLib added a g_close() function during the 2.36 cycle which conflicts with the g_close() function that is exported by libgeom. https://developer.gnome.org/glib/stable/glib-File-Utilities.html#g-close http://www.unix.com/man-page/FreeBSD/3/g_close/ I tried to write to pjd@ to ask for advice but I didn't receive any reply. In tthe short term is that we have had to remove support for reporting disk usage statistics on FreeBSD from libgtop in order to avoid the conflict. In the medium-long term (maybe FreeBSD 11 timeframe) I was wondering if it would be possible to change libgeom so that it only uses one namespace (eg: geom_) instead of three (geom_, gctl_, g_). This would allow us to re-enable support for disk statistics and would avoid future problems that will surely come up in other situations due to this conflict. I understand that GLib was the second library to use the name 'g_close' but there are some factors that I think weigh in favour of GLib's continued use of the name: - GLib has a very strong and publicly-stated policy of API/ABI stability - GLib is extremely widely used on essentially every platform in existence - GLib's use of the g_ namespace is long-established, predating the existence of libgeom. It currently has approximately 4000 symbols starting with g_ in this namespace. - I don't personally believe that it's a good idea to have multiple libraries sharing a namespace, and libgeom is also using three separate namespaces... I appreciate any input on this issue. I particularly hope to be able to find a solution that would allow us to re-enable the filesystem statistics reporting on FreeBSD. Thanks in advance.