Date: Tue, 29 Dec 2009 15:21:01 -0800 (PST) From: "Ronald F.Guilmette" <rfg@tristatelogic.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/142149: Same as: misc/133957: /usr/ports/security/gnome-keyring fails to build Message-ID: <20091229232101.F3ADFBDC46@segfault.tristatelogic.com> Resent-Message-ID: <200912292330.nBTNU5eJ025241@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 142149 >Category: ports >Synopsis: Same as: misc/133957: /usr/ports/security/gnome-keyring fails to build >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Dec 29 23:30:05 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Ronald F. Guilmette >Release: FreeBSD 7.0-RELEASE i386 >Organization: Infinite Monkeys & Co. >Environment: System: FreeBSD segfault.tristatelogic.com 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Tue Aug 5 02:38:40 PDT 2008 root@segfault.monkeys.com:/usr/src/sys/i386/compile/rfg20080805 i386 >Description: This is essentially the exact same bug as misc/133957. I also got the exact same errors as shown in that bugreport when trying to build gnome-keyring-2.28.2 using portupgrade. Please note that misc/133957 was closed by request of the original submitter, however that was only because he managed to get gnome-keyring to build by using portmaster rather than portupgrade. However this is most definitely NOT a solution, and it only shows that the original submitter didn't really understand the problem. (Neither do I, entirely, but I _am_ quite completely sure that it _is_ (still) a problem.) Evidently, the file gcr/gcr-importer.h contains a number of function declarations that have parameters whose types are defined _only_ when one first includes the <gio/gio.h> file (which is a part of the "glib" package). I have the (current) port for glib-2.22.3 installed on my system, but apparently that is not enough to insure that <gio/gio.h> will be properly #included prior to the function declarations within the gcr/gcr-importer.h file. I have no idea why other people aren't seeing this exact same problem, but I put it down to some sort of version skew relating to the exact set of packages I have installed. Still, this problem _should_ be fixed so that other people similarly situated will not also come to grief when trying to build gnome-keyring-2.28.2 (or subsequent). >How-To-Repeat: portupgrade gnome-keyring or alternatively: cd /usr/ports/security/gnome-keyring; make Note: Obviously, for a lot of people with different sets of ports installed, the above commands will not reproduce the problem. However, if you cannot reproduce this bug on your own system, then please DO (1) make a "make" log of _your_ build of gnome-keyring-2.28.2 and (2) chop out just the command that compiles gcr-certificate.c, and (3) put that in a file preceded by #!/bin/sh and with "-c" changed to "-E" (to generate preprocessor output) and then (4) execute the resulting shell script and save the stdout output to a file. When you have that file, please e-mail it to me so that I can maybe see why/how YOU are getting <gio/gio.h> into the compilation stream prior to gcr/gcr-importer.h (whereas I am definitely NOT getting it... unless I use the patch provided below). >Fix: The following trivial patch worked for me. After applying this, gnome-keyring-2.28.2 built and installed without any significant problems. NOTE: I _do not_ claim that this is in any sense either the "best" or the "most correct" fix for this bug. I suspect that only the primary gnome-keyring developer/maintainer can make a determination of how best to resolve this bug. All I do know is that this works, and it is an utterly benign workaround (i.e. causes no harm) and can be useful until such time as a proper fix is developed. *** gnome-keyring-2.28.2/gcr/gcr.h- Mon Nov 9 18:01:21 2009 --- gnome-keyring-2.28.2/gcr/gcr.h Tue Dec 29 14:44:11 2009 *************** *** 24,27 **** --- 24,28 ---- #include <glib.h> + #include <gio/gio.h> #include "gcr-certificate.h" >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091229232101.F3ADFBDC46>