Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 182026 - x11-drivers/xf86-video-i810-2.0.0 compile fails w/ USE="-dri"
Summary: x11-drivers/xf86-video-i810-2.0.0 compile fails w/ USE="-dri"
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
: 182024 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-06-14 13:20 UTC by Alexey
Modified: 2007-08-02 00:11 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey 2007-06-14 13:20:09 UTC
(sorry for my english)
I compiled my xorg with flags (minimal -dri), so all drivers i compiled with (-dri). When I try compile driver I can see

/bin/sh ../libtool --tag=CC   --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I..    -Wall -Wpointer-arith -Wstrict-prototypes        -Wmissing-prototypes -Wmissing-declarations     -Wnested-externs -fno-strict-aliasing -I/usr/include/xorg -DI830_XV -DI830_USE_XAA -DI830_USE_EXA -O2 -march=i686 -pipe -MT i830_memory.lo -MD -MP -MF .deps/i830_memory.Tpo -c -o i830_memory.lo i830_memory.c
 i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -I/usr/include/xorg -DI830_XV -DI830_USE_XAA -DI830_USE_EXA -O2 -march=i686 -pipe -MT i830_memory.lo -MD -MP -MF .deps/i830_memory.Tpo -c i830_memory.c  -fPIC -DPIC -o .libs/i830_memory.o
i830_memory.c: In function 'i830_reset_allocations':
i830_memory.c:234: error: 'struct _I830Rec' has no member named 'back_buffer'
i830_memory.c:235: error: 'struct _I830Rec' has no member named 'third_buffer'
i830_memory.c:236: error: 'struct _I830Rec' has no member named 'depth_buffer'
i830_memory.c:237: error: 'struct _I830Rec' has no member named 'textures'
i830_memory.c:238: error: 'struct _I830Rec' has no member named 'memory_manager'
i830_memory.c: In function 'i830_free_3d_memory':
i830_memory.c:251: error: 'struct _I830Rec' has no member named 'back_buffer'
i830_memory.c:252: error: 'struct _I830Rec' has no member named 'back_buffer'
i830_memory.c:253: error: 'struct _I830Rec' has no member named 'third_buffer'
i830_memory.c:254: error: 'struct _I830Rec' has no member named 'third_buffer'
i830_memory.c:255: error: 'struct _I830Rec' has no member named 'depth_buffer'
i830_memory.c:256: error: 'struct _I830Rec' has no member named 'depth_buffer'
i830_memory.c:257: error: 'struct _I830Rec' has no member named 'textures'
i830_memory.c:258: error: 'struct _I830Rec' has no member named 'textures'
i830_memory.c:259: error: 'struct _I830Rec' has no member named 'memory_manager'
i830_memory.c:260: error: 'struct _I830Rec' has no member named 'memory_manager'
i830_memory.c: In function 'i830_describe_allocations':
i830_memory.c:603: error: 'struct _I830Rec' has no member named 'front_tiled'
i830_memory.c:605: error: 'struct _I830Rec' has no member named 'back_buffer'
i830_memory.c:606: error: 'struct _I830Rec' has no member named 'back_buffer'
i830_memory.c:607: error: 'struct _I830Rec' has no member named 'back_tiled'
i830_memory.c:609: error: 'struct _I830Rec' has no member named 'third_buffer'
i830_memory.c:610: error: 'struct _I830Rec' has no member named 'third_buffer'
i830_memory.c:611: error: 'struct _I830Rec' has no member named 'third_tiled'
i830_memory.c:613: error: 'struct _I830Rec' has no member named 'depth_buffer'
i830_memory.c:614: error: 'struct _I830Rec' has no member named 'depth_buffer'
i830_memory.c:615: error: 'struct _I830Rec' has no member named 'depth_tiled'
i830_memory.c: In function 'i830_allocate_framebuffer':
i830_memory.c:811: error: 'struct _I830Rec' has no member named 'front_tiled'
i830_memory.c:817: error: 'struct _I830Rec' has no member named 'front_tiled'
make[3]: *** [i830_memory.lo] Ошибка 1
make[3]: Leaving directory `/var/tmp/portage/x11-drivers/xf86-video-i810-2.0.0/work/xf86-video-intel-2.0.0/src'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Leaving directory `/var/tmp/portage/x11-drivers/xf86-video-i810-2.0.0/work/xf86-video-intel-2.0.0/src'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Leaving directory `/var/tmp/portage/x11-drivers/xf86-video-i810-2.0.0/work/xf86-video-intel-2.0.0'
make: *** [all] Ошибка 2

!!! ERROR: x11-drivers/xf86-video-i810-2.0.0 failed.
Call stack:
  ebuild.sh, line 1621:   Called dyn_compile
  ebuild.sh, line 973:   Called qa_call 'src_compile'
  ebuild.sh, line 44:   Called src_compile
  ebuild.sh, line 1311:   Called x-modular_src_compile
  x-modular.eclass, line 342:   Called x-modular_src_make
  x-modular.eclass, line 337:   Called die

Is I can see source of this driver in git, there is missing smthg like 
#ifdef XF86DRI in src/i830_memory.c and so on

/git source/
#ifdef XF86DRI

 235     pI830->back_buffer = NULL;

 236     pI830->third_buffer = NULL;

 237     pI830->depth_buffer = NULL;

 238     pI830->textures = NULL;

 239     pI830->memory_manager = NULL;

 240 #endif

Reproducible: Always
Comment 1 Marijn Schouten (RETIRED) gentoo-dev 2007-06-14 13:28:16 UTC
*** Bug 182024 has been marked as a duplicate of this bug. ***
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2007-06-14 14:29:42 UTC
<snip>
pkg_setup() {
        if use dri && ! built_with_use x11-base/xorg-server dri; then
                die "Build x11-base/xorg-server with USE=dri."
        fi
}
</snip>

The 'use dri' part is apparently redundant there, this won't work w/o dri.
Comment 3 Alexey 2007-06-16 08:37:43 UTC
what about this 2 patches:
--- src/i830_memory.c

+++ src/i830_memory.c

@@ -231,11 +231,13 @@ i830_reset_allocations(ScrnInfoPtr pScrn

     pI830->exa_965_state = NULL;

     pI830->overlay_regs = NULL;

     pI830->logical_context = NULL;

+#ifdef XF86DRI

     pI830->back_buffer = NULL;

     pI830->third_buffer = NULL;

     pI830->depth_buffer = NULL;

     pI830->textures = NULL;

     pI830->memory_manager = NULL;

+#endif

     pI830->LpRing->mem = NULL;

 

     /* Reset the fence register allocation. */

@@ -248,6 +250,7 @@ i830_free_3d_memory(ScrnInfoPtr pScrn)

 {

     I830Ptr pI830 = I830PTR(pScrn);

 

+#ifdef XF86_DRI

     i830_free_memory(pScrn, pI830->back_buffer);

     pI830->back_buffer = NULL;

     i830_free_memory(pScrn, pI830->third_buffer);

@@ -258,6 +261,7 @@ i830_free_3d_memory(ScrnInfoPtr pScrn)

     pI830->textures = NULL;

     i830_free_memory(pScrn, pI830->memory_manager);

     pI830->memory_manager = NULL;

+#endif

 }

 

 /**

@@ -691,6 +695,7 @@ i830_describe_allocations(ScrnInfoPtr pS

         i830_describe_tiling(pScrn, verbosity, prefix, pI830->front_buffer,

                              pI830->front_tiled);

     }

+#ifdef XF86DRI

     if (pI830->back_buffer != NULL) {

         i830_describe_tiling(pScrn, verbosity, prefix, pI830->back_buffer,

                              pI830->back_tiled);

@@ -703,6 +708,7 @@ i830_describe_allocations(ScrnInfoPtr pS

         i830_describe_tiling(pScrn, verbosity, prefix, pI830->depth_buffer,

                              pI830->depth_tiled);

     }

+#endif

 }

 

 static Bool

@@ -1330,7 +1336,6 @@ i830_allocate_3d_memory(ScrnInfoPtr pScr

 }

 #endif

 

-#ifdef XF86DRI

 /**

  * Sets up a fence area for the hardware.

  *

@@ -1529,7 +1534,6 @@ i830_set_fence(ScrnInfoPtr pScrn, int nr

 

     pI830->fence[nr] = val;

 }

-#endif

 

 /**

  * Called at EnterVT to grab the AGP GART and bind our allocations.


--- src/i830.h

+++ src/i830.h

@@ -307,6 +307,9 @@ typedef struct _I830Rec {

    int *used3D;

 

    i830_memory *logical_context;

+

+   unsigned int front_tiled;

+

 #ifdef XF86DRI

    i830_memory *back_buffer;

    i830_memory *third_buffer;

@@ -319,7 +322,6 @@ typedef struct _I830Rec {

    int mmModeFlags;

    int mmSize;

 

-   unsigned int front_tiled;

    unsigned int back_tiled;

    unsigned int third_tiled;

    unsigned int depth_tiled;

I compiles with 2 pathches and it seems all good, but now I cannot test(
Comment 4 Joshua Baergen (RETIRED) gentoo-dev 2007-06-18 00:53:54 UTC
Please find/file a bug upstream at https://bugs.freedesktop.org and paste the link here.  Thanks!
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2007-06-18 06:38:48 UTC
Reopen, this is already fixed upstream apparently :)
Comment 7 Alexey 2007-06-18 07:40:31 UTC
(sorry for my english)
why reopen? this bug fix in git.freedesktop, after release 2.0.0, and as I can see we have sources before this fix, so it is better apply in ebuild. It's seems to me....
Comment 8 Jakub Moc (RETIRED) gentoo-dev 2007-06-18 07:42:24 UTC
(In reply to comment #7)
> so it is better apply in ebuild. 

That's why reopen. :)

Comment 10 Jakub Moc (RETIRED) gentoo-dev 2007-06-18 20:15:18 UTC
(In reply to comment #9)
> and again
> I think it is important for USE="-dri"

Yeah, that's why I reopen the bug, so that it can get fixed. If you still don't get it, then please don't comment.
Comment 11 Alexey 2007-07-24 21:07:36 UTC
Sorry for my english
as I can see, 2.1.0 compiled without dri. But now I can't test now how it works
Comment 12 Donnie Berkholz (RETIRED) gentoo-dev 2007-08-02 00:11:23 UTC
Should be fixed in 2.1.