From grog@freebie.lemis.com Tue Jul  6 19:00:53 1999
Return-Path: <grog@freebie.lemis.com>
Received: from allegro.lemis.com (allegro.lemis.com [192.109.197.134])
	by hub.freebsd.org (Postfix) with ESMTP id 549151537A
	for <FreeBSD-gnats-submit@FreeBSD.org>; Tue,  6 Jul 1999 19:00:43 -0700 (PDT)
	(envelope-from grog@freebie.lemis.com)
Received: from freebie.lemis.com (freebie.lemis.com [192.109.197.137])
	by allegro.lemis.com (8.9.1/8.9.0) with ESMTP id LAA05222
	for <FreeBSD-gnats-submit@FreeBSD.org>; Wed, 7 Jul 1999 11:30:41 +0930 (CST)
Received: (from grog@localhost)
	by freebie.lemis.com (8.9.3/8.9.0) id LAA60893;
	Wed, 7 Jul 1999 11:30:38 +0930 (CST)
Message-Id: <199907070200.LAA60893@freebie.lemis.com>
Date: Wed, 7 Jul 1999 11:30:38 +0930 (CST)
From: Greg Lehey <grog@lemis.com>
Sender: grog@freebie.lemis.com
Reply-To: grog@lemis.com
To: FreeBSD-gnats-submit@FreeBSD.org
Subject: gtk installs itself where it can't be found
X-Send-Pr-Version: 3.2

>Number:         12541
>Category:       ports
>Synopsis:       gtk installs itself where it can't be found
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul  6 19:10:01 PDT 1999
>Closed-Date:    Thu Nov 25 14:50:43 PST 1999
>Last-Modified:  Thu Nov 25 14:52:32 PST 1999
>Originator:     Greg Lehey
>Release:        FreeBSD-4.0, non-specific
>Organization:
FreeBSD
>Environment:

	FreeBSD 4.0-CURRENT, probably not relevant

>Description:

	x11-toolkits/gtk12 installs its files in
	/usr/X11R6/include/gtk12 and /usr/X11R6/lib/libgtk12.  It's
	possible to find these paths with the config utility, which in
	the source tree is called gtk-config, and some ports (at least
	xscreensaver) do this, but the file gets installed as
	/usr/X11R6/bin/gtk12-config, which breaks configuration
	scripts.

>How-To-Repeat:

	Once is enough.  Repetition is not necessary, but if you have
	to, install the package and take a look at the files.

>Fix:
	
	After installation, perform:

	      ln /usr/X11R6/bin/gdk12-config /usr/X11R6/bin/gdk-config


>Release-Note:
>Audit-Trail:

From: Steve Price <sprice@hiwaay.net>
To: Greg Lehey <grog@lemis.com>
Cc: FreeBSD-gnats-submit@FreeBSD.ORG
Subject: Re: ports/12541: gtk installs itself where it can't be found
Date: Tue, 6 Jul 1999 21:27:59 -0500 (CDT)

 On Wed, 7 Jul 1999, Greg Lehey wrote:
 
 # >Description:
 # 
 # 	x11-toolkits/gtk12 installs its files in
 # 	/usr/X11R6/include/gtk12 and /usr/X11R6/lib/libgtk12.  It's
 # 	possible to find these paths with the config utility, which in
 # 	the source tree is called gtk-config, and some ports (at least
 # 	xscreensaver) do this, but the file gets installed as
 # 	/usr/X11R6/bin/gtk12-config, which breaks configuration
 # 	scripts.
 
 This is because we have multiple copies of the gtk* ports.  The
 gtk-1.0 port installs gtk-config.  The gtk-1.1 installs gtk11-config.
 The gtk-1.2 port installs gtk12-config.  Same goes for the glib*
 ports. This is not a bug, rather by design to allow multiple versions
 of the same port to co-exist because for awhile the gtk* and glib*
 ports were so fast a moving target that we had ports requiring
 different minor versions of the three ports we had in the tree.  I
 think most of the ports now use gtk-1.2, so this is not much of a
 problem now.  In fact,
 
 bonsai[/usr/ports]$ grep x11-toolkits/gtk12 */*/Makefile | wc -l
       61
 bonsai[/usr/ports]$ grep x11-toolkits/gtk11 */*/Makefile | wc -l
        0
 bonsai[/usr/ports]$ grep x11-toolkits/gtk10 */*/Makefile | wc -l
        7
 
 Looks likes we should remove the gtk11 port now since it is not
 used.  The gtk10 port can probably go too, if we mark the few that
 use it as broken until we get them to work with gtk12.
 
 Were you having problems with any ports in particular needing
 gtk-config that didn't have a dependency on the gtk10 port?  Or
 was this with software not in the ports collection?
 
 -steve
 
 

From: Greg Lehey <grog@lemis.com>
To: Steve Price <sprice@hiwaay.net>
Cc: FreeBSD-gnats-submit@FreeBSD.ORG
Subject: Re: ports/12541: gtk installs itself where it can't be found
Date: Wed, 7 Jul 1999 12:21:38 +0930

 On Tuesday,  6 July 1999 at 21:27:59 -0500, Steve Price wrote:
 > On Wed, 7 Jul 1999, Greg Lehey wrote:
 >
 > # >Description:
 > #
 > # 	x11-toolkits/gtk12 installs its files in
 > # 	/usr/X11R6/include/gtk12 and /usr/X11R6/lib/libgtk12.  It's
 > # 	possible to find these paths with the config utility, which in
 > # 	the source tree is called gtk-config, and some ports (at least
 > # 	xscreensaver) do this, but the file gets installed as
 > # 	/usr/X11R6/bin/gtk12-config, which breaks configuration
 > # 	scripts.
 >
 > This is because we have multiple copies of the gtk* ports.  The
 > gtk-1.0 port installs gtk-config.  The gtk-1.1 installs gtk11-config.
 > The gtk-1.2 port installs gtk12-config.  Same goes for the glib*
 > ports. This is not a bug, rather by design to allow multiple versions
 > of the same port to co-exist because for awhile the gtk* and glib*
 > ports were so fast a moving target that we had ports requiring
 > different minor versions of the three ports we had in the tree.  I
 > think most of the ports now use gtk-1.2, so this is not much of a
 > problem now.  In fact,
 >
 > bonsai[/usr/ports]$ grep x11-toolkits/gtk12 */*/Makefile | wc -l
 >       61
 > bonsai[/usr/ports]$ grep x11-toolkits/gtk11 */*/Makefile | wc -l
 >        0
 > bonsai[/usr/ports]$ grep x11-toolkits/gtk10 */*/Makefile | wc -l
 >        7
 >
 > Looks likes we should remove the gtk11 port now since it is not
 > used.  The gtk10 port can probably go too, if we mark the few that
 > use it as broken until we get them to work with gtk12.
 >
 > Were you having problems with any ports in particular needing
 > gtk-config that didn't have a dependency on the gtk10 port?  Or
 > was this with software not in the ports collection?
 
 This was with x11/xscreensaver (see the PR I've entered against that
 port).  It goes out looking for gtk-config and doesn't find it.
 
 I can appreciate that there might be a need to link against a specific
 version of gtk, and the current method is fine for software that knows
 what it's looking for, but most software would expect to be able to
 find *something* under the name gtk-config.  That's why my suggested
 fix was a link, not a rename.  I still think this is a bug, not a
 feature.
 
 Greg
 --
 See complete headers for address, home page and phone numbers
 finger grog@lemis.com for PGP public key
 

From: Steve Price <sprice@hiwaay.net>
To: Greg Lehey <grog@lemis.com>
Cc: FreeBSD-gnats-submit@FreeBSD.ORG
Subject: Re: ports/12541: gtk installs itself where it can't be found
Date: Tue, 6 Jul 1999 22:30:34 -0500 (CDT)

 On Wed, 7 Jul 1999, Greg Lehey wrote:
 
 # This was with x11/xscreensaver (see the PR I've entered against that
 # port).  It goes out looking for gtk-config and doesn't find it.
 
 This is a (mis?)feature of xscreensaver's configure script trying
 to include support for gtk/glib even though FreeBSD's port doesn't
 require it.  It can be handled one of three ways.  Patch the configure
 script to not perform the check.  Add '--without-gtk' to CONFIGURE_ARGS.
 Patch the configure script to look for gtk12-config and add a
 dependency on the gtk12 port.  I haven't tried it with gtk-1.0.*
 installed but my guess is that it won't fail to build.  It definitely
 doesn't fail to build whether gtk-1.2.* is installed or not.  You
 just don't get GTk support.  Which in my opinion and apparently the
 maintainer's no big loss.
 
 # I can appreciate that there might be a need to link against a specific
 # version of gtk, and the current method is fine for software that knows
 # what it's looking for, but most software would expect to be able to
 # find *something* under the name gtk-config.
 
 That is why all of the ones in the ports collection that require
 gtk-1.2.* have been patched to use gtk12-config instead.
 
 #                                              That's why my suggested
 # fix was a link, not a rename.  I still think this is a bug, not a
 # feature.
 
 This won't work either.  Suppose we do as you say.  We have a port
 A that requires gtk-1.0.* (and won't work with 1.2.* because of
 interface changes), and a port B that works with gtk-1.2.* (and
 this one won't work with 1.0.* because of interface changes).  No
 matter what order you install the gtk* ports, one of them (A,B) won't
 build if you create the symlink and they both try to use gtk-config.
 The only workable solution (and the reason why it is indeed a
 feature and not a bug) is to have the one that needs gtk-1.0.*
 use gtk-config and to patch the one that needs gtk-1.2.* to use
 gtk12-config.  Well their is an alternative and that is to only
 allow the ports that work with gtk-1.2.* in the tree and shun all
 others.  But what happens when gtk-2.2.* comes out next year and
 it looks more like Qt that GTk?   We start the same vicious cycle
 all over again. :-)
 
 The Gnome people see this as a problem too, which is why most new
 software that requires GTk of one version or another has hooks
 in their configure script to pickup the name of the gtk-config
 script from the GTK_CONFIG variable in the user's environment.  The
 same holds true for glib* with GLIB_CONFIG.
 
 $ cd /usr/ports
 $ grep GTK_CONFIG */*/Makefile | sed -e 's/:.*//' | uniq | wc -l
       68
 
 Looks like we have quite a few ports that use it already.
 
 -steve
 
 
State-Changed-From-To: open->closed 
State-Changed-By: jseger 
State-Changed-When: Thu Nov 25 14:50:43 PST 1999 
State-Changed-Why:  
It has been resolved that this is not a bug, but an unfortunately necessary bug due to the 
multiple versions of gtk required by ports in our tree.  This is in the same 
category as tcl/tk that is being gradually changed over time so that we only 
need to support one version.  Since this PR was last discussed, gtk11 has been 
removed, all that is left to do is to remove some gtk-1.0 dependencies and switch 
gtk12 back to installing gtk-config. 
>Unformatted:
