From owner-freebsd-gnome@FreeBSD.ORG Fri Jun 25 13:24:58 2010 Return-Path: Delivered-To: gnome@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2FDFA1065672 for ; Fri, 25 Jun 2010 13:24:58 +0000 (UTC) (envelope-from truckman@FreeBSD.org) Received: from gw.catspoiler.org (adsl-75-1-14-242.dsl.scrm01.sbcglobal.net [75.1.14.242]) by mx1.freebsd.org (Postfix) with ESMTP id DE25F8FC14 for ; Fri, 25 Jun 2010 13:24:57 +0000 (UTC) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.13.3/8.13.3) with ESMTP id o5P5Lu0L028933; Thu, 24 Jun 2010 22:22:00 -0700 (PDT) (envelope-from truckman@FreeBSD.org) Message-Id: <201006250522.o5P5Lu0L028933@gw.catspoiler.org> Date: Thu, 24 Jun 2010 22:21:56 -0700 (PDT) From: Don Lewis To: mezz7@cox.net In-Reply-To: MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii Cc: gnome@FreeBSD.org Subject: Re: ports/148101: x11/startup-notification Makefile missing library dependencies [patch] X-BeenThere: freebsd-gnome@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: GNOME for FreeBSD -- porting and maintaining List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Jun 2010 13:24:58 -0000 On 24 Jun, Jeremy Messenger wrote: > On Thu, 24 Jun 2010 17:14:57 -0500, Don Lewis wrote: > The startup-notification does not depend on libSM, libICE and etc. It's > just grab from one of silly *.la or *.pc files. libSM and libICE are getting added to the linker command line by configure, which for some reason thinks that those are needed presumably because libXau is getting linked in, but I don't know why it thinks that. libxcb pulls libXau in, but I don't know how configure knows about that. In any case configure adds -lSM and -lICE, but it doesn't add -lXau. Libtool is adding libXau, libXdmcp, and libpthread-stubs to the linker command line. This seems wrong to me. The test programs seem to link fine without all of these being specified and these libraries should get dynamically linked in at runtime when libxcb gets pulled in. The way that libtool is doing it, startup-notification will need to be rebuilt when the version number of one of these libraries is rebuilt even though it doesn't have any direct dependency on them. Rebuilding libxcb should be sufficient. At least these extra libraries are listed as dependencies of the package through some magic that I don't understand, unlike libSM and libICE. > No, it's not the policy that I recall unless recently the rule has > changed. I don't mind with this, but the problem is that > startup-notification does not require libSM, libICE and etc. I am not > surpised if I add ltasneededhack in the USE_GNOME and those won't be > linked in the library files. But it will require test with some > applications before I can put ltasneededhack in it. You can check and see > the difference. I don't think GNOME is the culprit here. This port's configure script is hard-wired to pull in these libraries if it finds libICE. If they aren't needed, then the best fix is to not link them in. >> For instance, if a library has a version bump, then everything >> that links against this library should be rebuilt, but if the library is > > I rather to use 'port* -r' instead of follow that. Because of that silly > *.la and *.pc files usually include dependencies incorrect. :-/ That's the way I do it as well, as documented in ports/UPDATING. BTW, I just ran portmaster -n -r libICE-1.0.6,1 and it didn't think that startup-notification needed to be re-installed even though the port was installed using the original Makefile and ldd shows that libstartup-notification-1.so depends on libICE.so.6.