Fix nvidia-like ports, help needed
fjwcash at gmail.com
Tue Feb 28 21:36:29 UTC 2012
The problem is when tools like portmaster notice x11/nvidia-driver
(not installed) has a newer version number than x11/nvidia-driver-173
(installed), and the mesa/dri/drm ports have updates available, and
then builds/installs them in the wrong order such that the
x11/nvidia-driver port is installed first, the x11/nvidia-driver-173
port is removed, and then the x11/meda/dri/drm ports are installed,
leaving you with a broken mess.
You get an nvidia.ko that doesn't support the video card installed in
the machine, an nvidia X11 driver that links against the wrong
libGL.so, and thus a broken X11 setup that can lead to a lot of
frustration, gnashing of teeth, and tearing of sackcloth to get sorted
There are three issues here (at least for me, although it's really
only the last one that's the topic of this thread):
- the fact that portmaster sees "nvidia-driver" instead of
"nvidia-driver-173" as the port name and installs the wrong port
- the fact that portmaster installs "nvidia-driver" before the
- the fact that both the nvidia-driver* and x11/mesa/dri/drm ports
install libGL.so, and the wrong one is installed "last"
The combination of those three means that any upgrade of nvidia/x11
ports requires a lot of manual hand-holding to make sure things are
installed in the right order, and that the correct ports are installed
(thank god of -i).
That last option is the one that causes all the issues. Two ports
install the same file, but they aren't listed as CONFLICTS of each
other, so it's up to the end-user to "make it work".
Ideally, the best solution would be to fix those ports such that they
don't install the same file, and that they are listed as CONFLICTS of
each other. A nice solution would be, as you suggested, separating
out the libGL bits into slave ports and only installing one of them
(and getting the versioning right so that updates only occur in the
The other issues are slightly annoying, although not really sure how
to fix them permanently, and they're outside the scope of this thread.
(This issue is making me regret installing an nVidia video card into
my home desktop. Life was so much simpler with Ati and Intel.)
More information about the freebsd-ports