x11/nvidia-driver incompatible with portmaster?

Stephen Montgomery-Smith stephen at missouri.edu
Sun Jul 3 04:06:37 UTC 2011


On 07/02/2011 10:54 PM, b. f. wrote:
> On 7/3/11, Stephen Montgomery-Smith<stephen at 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

If you want to do it this way, this is definitely outside of my 
expertize.  I would not be willing to take the lead in this.

If you like the rtld approach, it would be easy to make the ports 
install according to whether the version of FreeBSD supports this 
capability.  And if this is the better way to go, it makes sense to use 
this approach.  Users of older versions of FreeBSD will gradually decline.



More information about the freebsd-x11 mailing list