Summary: | media-video/nvidia-settings-190.42 fails with "error: X11/extensions/xf86vmproto.h: No such file or directory" | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Chris Ribble <chris> |
Component: | New packages | Assignee: | Piotr JaroszyĆski (RETIRED) <peper> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | azamat.hackimov, chalucha, david, dwc, gentoo-bugs, kentnl, kutagrob, Manfred.Knick, pacho, rmay31, slipcon, wschlich, wyvern5 |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | nvidia-settings-190.42-xf86vidmodeproto.patch |
Description
Chris Ribble
2009-11-01 21:19:32 UTC
*** This bug has been marked as a duplicate of bug 289744 *** Unless I am seeing something wrong, the patch from the referenced bug does NOT fix the issue here. When emerging this package portage outputs the following: >>> Emerging (1 of 1) media-video/nvidia-settings-190.42 * nvidia-settings-190.42.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking nvidia-settings-190.42.tar.gz to /var/tmp/portage/media-video/nvidia-settings-190.42/work * Applying nvidia-settings-190.42-xf86vidmodeproto.patch ... So it seems to me like it IS applying that patch. If the bug that this is a duplicate of is in fact resolved via that patch, then that is hardly justification to close this one. As I noted, I am NOT running libXxf86vm-1.1.0, I am running x11-libs/libXxf86vm-1.0.2 I am seeing exactly the same thing as #2. Same here. Looks like nvidia-settings-190.42 requires a newer version of x11-proto/xf86vidmodeproto which is suspected to contain xf86vmproto.h (see http://lists.x.org/archives/xorg-devel/2009-September/002153.html). Cross-Reference: http://bugs.gentoo.org/show_bug.cgi?id=291563#c2 Created attachment 209165 [details, diff]
nvidia-settings-190.42-xf86vidmodeproto.patch
Hello there!
I think, patch nvidia-settings-190.42-xf86vidmodeproto.patch is cause of problem. Current patch is
--- src/libXNVCtrlAttributes/NvCtrlAttributesVidMode.c
+++ src/libXNVCtrlAttributes/NvCtrlAttributesVidMode.c
@@ -28,6 +28,9 @@
#include "msg.h"
#include <X11/extensions/xf86vmode.h>
+#if !defined(XF86VIDMODE_MAJOR_VERSION) || !defined(XF86VIDMODE_MINOR_VERSION)
+#include <X11/extensions/xf86vmproto.h>
+#endif /* XF86VidMode Extension protocol defines */
#include <stdlib.h>
#include <string.h>
But #if apply against _stable_ version x11-proto/xf86vidmodeproto-2.2.2 instead of 2.3. Macros XF86VIDMODE_MAJOR_VERSION and XF86VIDMODE_MINOR_VERSION exists only in x11-proto/xf86vidmodeproto-2.3, so #if string should looks like
+#if defined(XF86VIDMODE_MAJOR_VERSION) || defined(XF86VIDMODE_MINOR_VERSION)
With fixed patch nvidia-settings emerged without errors.
(In reply to comment #7) > Created an attachment (id=209165) [details] > nvidia-settings-190.42-xf86vidmodeproto.patch > > Hello there! > > I think, patch nvidia-settings-190.42-xf86vidmodeproto.patch is cause of > problem. Current patch is > > --- src/libXNVCtrlAttributes/NvCtrlAttributesVidMode.c > +++ src/libXNVCtrlAttributes/NvCtrlAttributesVidMode.c > @@ -28,6 +28,9 @@ > #include "msg.h" > > #include <X11/extensions/xf86vmode.h> > +#if !defined(XF86VIDMODE_MAJOR_VERSION) || !defined(XF86VIDMODE_MINOR_VERSION) > +#include <X11/extensions/xf86vmproto.h> > +#endif /* XF86VidMode Extension protocol defines */ > > #include <stdlib.h> > #include <string.h> > > But #if apply against _stable_ version x11-proto/xf86vidmodeproto-2.2.2 instead > of 2.3. Macros XF86VIDMODE_MAJOR_VERSION and XF86VIDMODE_MINOR_VERSION exists > only in x11-proto/xf86vidmodeproto-2.3, so #if string should looks like > > +#if defined(XF86VIDMODE_MAJOR_VERSION) || defined(XF86VIDMODE_MINOR_VERSION) > > With fixed patch nvidia-settings emerged without errors. > Thanks your solution works wonderfully. I was having the same errors others here were reporting. The patch above doesn't work without the changes made above. Thanks To clarify, hacking open the patch and removing '!' marks from it makes it build. ALTERNATIVE for all those who only want to exploit the driver itself and don't need nvidia-settings at all; ### In order to remove nvidia-drivers' dependency upon nvidia-settings, disable the USE flag "gtk" for this package by adding the following line into /etc/portage/package.use : x11-drivers/nvidia-drivers -gtk Then you can unmerge nvidia-settings, and upgrade to nvidia-drivers 190.42 . ### DRAWBACK: Unfortunately, it is nvidia-settings which contains support for reading the GPU's temperature sensor; thus you lose track of monitoring it - e.g. in gkrellm. (In reply to comment #10) > Unfortunately, it is nvidia-settings which contains support for > reading the GPU's temperature sensor; > thus you lose track of monitoring it - e.g. in gkrellm. lm_sensors should be able to read the temperature sensor as well. (In reply to comment #11) > (In reply to comment #10) > ... should ... ??? Without detailed 'how_to', such hand-waving is not really helpful for people which feel uneasy with kernel-patching etc. yet. My hint was only intended as an _easy_ workaround to be used temporarily until a fixed -r1 hits the tree. (In reply to comment #7) > Created an attachment (id=209165) [details] > nvidia-settings-190.42-xf86vidmodeproto.patch > > Hello there! > > I think, patch nvidia-settings-190.42-xf86vidmodeproto.patch is cause of > problem. Current patch is > > --- src/libXNVCtrlAttributes/NvCtrlAttributesVidMode.c > +++ src/libXNVCtrlAttributes/NvCtrlAttributesVidMode.c > @@ -28,6 +28,9 @@ > #include "msg.h" > > #include <X11/extensions/xf86vmode.h> > +#if !defined(XF86VIDMODE_MAJOR_VERSION) || !defined(XF86VIDMODE_MINOR_VERSION) > +#include <X11/extensions/xf86vmproto.h> > +#endif /* XF86VidMode Extension protocol defines */ > > #include <stdlib.h> > #include <string.h> > > But #if apply against _stable_ version x11-proto/xf86vidmodeproto-2.2.2 instead > of 2.3. Macros XF86VIDMODE_MAJOR_VERSION and XF86VIDMODE_MINOR_VERSION exists > only in x11-proto/xf86vidmodeproto-2.3, so #if string should looks like > > +#if defined(XF86VIDMODE_MAJOR_VERSION) || defined(XF86VIDMODE_MINOR_VERSION) > > With fixed patch nvidia-settings emerged without errors. > If include this header : /usr/include/X11/extensions/xf86vmstr.h, where are defined XF86VIDMODE_MAJOR_VERSION and XF86VIDMODE_MINOR_VERSION then it builds too and I think it will be more correctly. Should be fixed by solution from bug 291563. |