Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 339292 - x11-libs/libvdpau-0.4 fails emerge, problem with include driproto2.h
Summary: x11-libs/libvdpau-0.4 fails emerge, problem with include driproto2.h
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Doug Goldstein (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-30 20:54 UTC by Matthew
Modified: 2010-10-02 21:58 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
output of 'emerge --info =x11-libs/libvdpau-0.4' (libvdpau-0.4.info,4.72 KB, text/plain)
2010-09-30 20:58 UTC, Matthew
Details
output of 'emerge -pqv =x11-libs/libvdpau-0.4' (libvdpau-0.4.info2,389 bytes, text/plain)
2010-09-30 20:59 UTC, Matthew
Details
complete build log (libvdpau-0.4.build.log,9.80 KB, text/plain)
2010-09-30 21:00 UTC, Matthew
Details
ebuild environment file (libvdpau-0.4.environment,35.59 KB, text/plain)
2010-09-30 21:00 UTC, Matthew
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew 2010-09-30 20:54:59 UTC
When...

emerge -uv x11-drivers/nvidia-drivers   (updating from 180.29 to 195.36.24)

... x11-libs/libvdpau-0.4 gets pulled in.  But during the build it fails with...


make[2]: Entering directory `/var/tmp/portage/x11-libs/libvdpau-0.4/work/libvdpau-0.4/src'
/bin/sh ../libtool --tag=CC   --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..    -I../include -DVDPAU_MODULEDIR="\"/usr/lib\""   -march=pentium4 -O2 -pipe -c -o vdpau_wrap
per.lo vdpau_wrapper.c
/bin/sh ../libtool --tag=CC   --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..    -I../include -DVDPAU_MODULEDIR="\"/usr/lib\""   -march=pentium4 -O2 -pipe -c -o mesa_dri2.
lo mesa_dri2.c
libtool: compile:  i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DVDPAU_MODULEDIR=\"/usr/lib\" -march=pentium4 -O2 -pipe -c vdpau_wrapper.c  -fPIC -DPIC -o .libs/vdpau_wr
apper.o
libtool: compile:  i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I../include -DVDPAU_MODULEDIR=\"/usr/lib\" -march=pentium4 -O2 -pipe -c mesa_dri2.c  -fPIC -DPIC -o .libs/mesa_dri2.o
distcc[22008] ERROR: compile /var/tmp/ccache/mesa_dri2.tmp.mythtv1.22000.i on localhost failed
mesa_dri2.c: In function ‘_vdp_DRI2Connect’:
mesa_dri2.c:122: error: ‘xDRI2ConnectReq’ has no member named ‘window’
mesa_dri2.c:123: error: ‘xDRI2ConnectReq’ has no member named ‘driverType’
mesa_dri2.c:130: error: ‘xDRI2ConnectReply’ has no member named ‘deviceNameLength’
mesa_dri2.c:140: error: ‘xDRI2ConnectReply’ has no member named ‘deviceNameLength’
mesa_dri2.c:148: error: ‘xDRI2ConnectReply’ has no member named ‘deviceNameLength’
mesa_dri2.c:151: error: ‘xDRI2ConnectReply’ has no member named ‘deviceNameLength’
mesa_dri2.c:156: error: ‘xDRI2ConnectReply’ has no member named ‘deviceNameLength’
mesa_dri2.c:157: error: ‘xDRI2ConnectReply’ has no member named ‘deviceNameLength’
make[2]: *** [mesa_dri2.lo] Error 1
make[2]: Leaving directory `/var/tmp/portage/x11-libs/libvdpau-0.4/work/libvdpau-0.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/x11-libs/libvdpau-0.4/work/libvdpau-0.4'
make: *** [all] Error 2
 * ERROR: x11-libs/libvdpau-0.4 failed:
 *   emake failed
 *
 * Call stack:
 *     ebuild.sh, line  54:  Called src_compile
 *   environment, line 883:  Called _eapi2_src_compile
 *     ebuild.sh, line 646:  Called die
 * The specific snippet of code:
 *              emake || die "emake failed"


It seems that the build is not finding the (correct?) structure definition for xDRI2ConnectReq and xDRI2ConnectReply, which are in driproto2.h

(emerge failure info will be attached)
Comment 1 Matthew 2010-09-30 20:58:24 UTC
Created attachment 249112 [details]
output of 'emerge --info =x11-libs/libvdpau-0.4'
Comment 2 Matthew 2010-09-30 20:59:24 UTC
Created attachment 249114 [details]
output of 'emerge -pqv =x11-libs/libvdpau-0.4'
Comment 3 Matthew 2010-09-30 21:00:26 UTC
Created attachment 249116 [details]
complete build log
Comment 4 Matthew 2010-09-30 21:00:55 UTC
Created attachment 249117 [details]
ebuild environment file
Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2010-09-30 21:15:59 UTC
$ grep deviceNameLength /usr/include/X11/extensions/dri2proto.h
    CARD32  deviceNameLength B32;
$ qfile -v dri2proto.h
x11-proto/dri2proto-2.3 (/usr/include/X11/extensions/dri2proto.h)

What version of dri2proto you have? 
Does updating it, or any other installed x11-proto or x11-libs packages help?
What about libX11?
Comment 6 Matthew 2010-09-30 22:55:05 UTC
(In reply to comment #5)

x11-proto/dri2proto-2.3, which I have reinstalled, to no avail.  

FYI, this was previously an 'un-loved' system, so there have been the usual update challenges, but I've been meticulous and careful, and this is the last thing that is really holding things up.  A lot of packages end up wanting to update xorg-server and all things related (I have 1.5.3-r6), which I cannot do until this is solved.

I'll try reinstalling all the x11-proto and x11-libs.

Nevertheless, it is clear where the 'xDRI2ConnectReq' and 'xDRI2ConnectReply' structures are defined (in driproto2.h, and no place else that I can find), so what would cause the libvdpau build to not find those?  


Comment 7 Matthew 2010-10-01 04:33:40 UTC
Ugh!  Apparently any package that include's driproto2.h has the same compile error (for example, media-libs/mesa)

I re-emerged all x11-proto and x11-libs, but that didn't help.

Comment 8 Matthew 2010-10-01 15:56:33 UTC
I'm looking at the libvdpau-0.4.ebuild... it does not include x11-proto/dri2proto as a dependency?  As a matter of fact, it doesn't include x11-drivers/nvidia-drivers as a dependency? (although it does block certain versions of it).  This isn't right, is it?

OK, I successfully compiled by editing mesa_dri2.c (in work/libvdpau-0.4/src) and adding an explicit (not relative) include for dri2proto.h:

-#include <X11/extensions/dri2proto.h>
+#include </usr/include/X11/extensions/dri2proto.h>

So is it an include path issue?  I am not sure - notice the other includes in mesa_dri2.c...

#include <X11/Xlibint.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>

...which obviously are working. It's almost as if another version of dri2proto.h is being included from somewhere else...AHA!! Found it! 

/usr/local/include/X11/extensions/dri2proto.h

And of course now all is peachy with building.  Hooray, the world makes sense now.

So in conclusion:

1. Is it correct behavior to include /usr/local in the Make build paths?   
2. Are the questions about libvdpau-0.4.ebuild legitimate?

Thanks...



Comment 9 Rémi Cardona (RETIRED) gentoo-dev 2010-10-02 07:14:49 UTC
(In reply to comment #8)
> /usr/local/include/X11/extensions/dri2proto.h
[...]
> 1. Is it correct behavior to include /usr/local in the Make build paths?

Yes, we cannot prevent it, but you *should not* install your own packages in /usr/local if you want to build your own packages as they *will* interfere with portage. Don't use /usr/local unless you know what you're doing.

> 2. Are the questions about libvdpau-0.4.ebuild legitimate?

Nope, the libvdpau ebuild is fine as-is.

Thanks
Comment 10 Matthew 2010-10-02 21:58:45 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > 2. Are the questions about libvdpau-0.4.ebuild legitimate?
> 
> Nope, the libvdpau ebuild is fine as-is.
> 

Thank you for the reply.  Of course I recognize your superiority in all things Gentoo, but for the benefit of user(s) interested in bettering their understanding, and potentially contributing in the future, would you be able to give some additional details, i.e., to those several questions I posed about the ebuild?  Why is it fine to omit required dependencies (x11-proto/dri2proto and nvidia-drivers) from the libvdpau ebuild?