Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Jul 2011 03:54:15 +0000
From:      "b. f." <bf1783@googlemail.com>
To:        Stephen Montgomery-Smith <stephen@missouri.edu>
Cc:        "freebsd-x11@FreeBSD.org" <freebsd-x11@freebsd.org>
Subject:   Re: x11/nvidia-driver incompatible with portmaster?
Message-ID:  <CAGFTUwM-c4WvkX01iuDh4kWcjX8kLKv9Gm1297orPMgNyV_1Cg@mail.gmail.com>
In-Reply-To: <4E0FD8DC.20700@missouri.edu>
References:  <CAGFTUwMPV9Tge6%2BGZO879KD7dh6Sr6%2BfPGK97SGvRndBitMTjg@mail.gmail.com> <4E0FCDD1.7050809@missouri.edu> <4E0FD8DC.20700@missouri.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On 7/3/11, Stephen Montgomery-Smith <stephen@missouri.edu> 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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGFTUwM-c4WvkX01iuDh4kWcjX8kLKv9Gm1297orPMgNyV_1Cg>