From owner-freebsd-x11@FreeBSD.ORG Sun Jul 3 03:54:17 2011 Return-Path: Delivered-To: freebsd-x11@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5EFC4106564A for ; Sun, 3 Jul 2011 03:54:17 +0000 (UTC) (envelope-from bf1783@googlemail.com) Received: from mail-pz0-f54.google.com (mail-pz0-f54.google.com [209.85.210.54]) by mx1.freebsd.org (Postfix) with ESMTP id 347F28FC16 for ; Sun, 3 Jul 2011 03:54:17 +0000 (UTC) Received: by pzk27 with SMTP id 27so1913254pzk.13 for ; Sat, 02 Jul 2011 20:54:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=q6pnBYzMew0l0ugDpIjBgDSK/XC8EyAeTWALcktk+Hw=; b=DqFD4M5NU5Gr1B1eLhsdwT9cZhwpPiFCRpzP+Zmb9WOQecHd8AQtTbOVnojAhVw5bG qOoiBzlPbAOCNvDeHszy23nwqTUjLSIwgBwsEckNa2D0eOcnLNFQrF78UsETXEZgP4Tw x2nnoEAVWSnpF7JycT1TUN0Z3zZUp23rz/45E= MIME-Version: 1.0 Received: by 10.68.25.201 with SMTP id e9mr6032454pbg.22.1309665255844; Sat, 02 Jul 2011 20:54:15 -0700 (PDT) Received: by 10.68.64.104 with HTTP; Sat, 2 Jul 2011 20:54:15 -0700 (PDT) In-Reply-To: <4E0FD8DC.20700@missouri.edu> References: <4E0FCDD1.7050809@missouri.edu> <4E0FD8DC.20700@missouri.edu> Date: Sun, 3 Jul 2011 03:54:15 +0000 Message-ID: From: "b. f." To: Stephen Montgomery-Smith Content-Type: text/plain; charset=ISO-8859-1 Cc: "freebsd-x11@FreeBSD.org" Subject: Re: x11/nvidia-driver incompatible with portmaster? X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: bf1783@gmail.com List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Jul 2011 03:54:17 -0000 On 7/3/11, Stephen Montgomery-Smith wrote: > On 07/02/2011 09:02 PM, Stephen Montgomery-Smith wrote: >> On 07/02/2011 08:39 PM, b. f. wrote: > Maybe the xorg-server and libGL ports install the libglx.la etc stuff > into a folder called share/xorg/gl-libs, and the nvidia-drivers install > their stuff into a folder called share/nvidia-driver/gl-libs. I think that libraries should be installed in a subdirectory of ${PREFIX}/lib. > > Further, the libGL port installs a script libexec/xorg/link-gl-libs.sh, > which links lib/modules/extensions/libglx.la to either the stuff in > share/xorg/gl-libs, or the stuff in share/nvidia-driver/gl-libs, > depending upon whether share/nvidia-driver/gl-libs exists or not. A libtool archive ( *.la ) is not the same as an archive (*.a). I don't think there are any archives involved in the collisions, only shared libraries. I wish that the *.la files were not installed, because I think that they are more trouble than they are worth. In any event, as you suggest, they can be patched. But not every port that links to one of the shared libraries uses the *.la via libtool/libltdl. You still have to address normal linking. The two methods I mentioned earlier are options. By a linker script I mean a script in the linker language understood by ld(1). See, for example, the ld info docs. There is another option that I didn't mention: build the conflicting xorg-server and libGL libraries as filters for the corresponding nvidia-driver libraries. But unfortunately, not all supported versions of FreeBSD have this capability in rtld(1) -- kib@ only added it in: http://svnweb.FreeBSD.org/base?view=revision&revision=216695 b.