Delan Azabani <[email protected]> writes: > The latest git version of freedesktop/mesa/mesa (building for gallium > driver according to nouveau wiki/GalliumHowto) does not compile. The > messages shown are: > > nouveau_screen.c: In function ‘nouveau_screen_init’: > nouveau_screen.c:239: warning: passing argument 4 of > ‘nouveau_channel_alloc’ makes pointer from integer without a cast > /usr/include/nouveau/nouveau_channel.h:51: note: expected ‘struct > nouveau_channel **’ but argument is of type ‘int’ > nouveau_screen.c:239: error: too many arguments to function > ‘nouveau_channel_alloc’ > > I'm running Ubuntu 10.10 with the latest git libdrm installed. Nvidia > proprietary drivers are not installed; running distribution-packaged > 2D-only nouveau driver. By the way, my understanding of the code is > limited, so the things I try to fix the problem with are probably silly. > nouveau_channel_alloc() is defined in libdrm_nouveau. If you're sure you built it from git, you have a stale version installed somewhere else, 'find / |grep nouveau_channel.h" will tell you where.
I don't know for sure because I'm not an Ubuntu user, but most likely the distro-provided 2D driver is going to be too old to be compatible with libdrm-git and you'll have to build it from sources as well. > This line seems to be the culprit: > > ret = nouveau_channel_alloc(dev, 0xbeef0201, 0xbeef0202, 512*1024, > &screen->channel); > > Even though nouveau_context.c has a similar call with the same number of > arguments, it isn't an error. I also couldn't find the function > definition for nouveau_channel_alloc anywhere. Naively, I remove the > last argument so it looks like this: > > ret = nouveau_channel_alloc(dev, 0xbeef0201, 0xbeef0202, 512*1024); > > The error disappears, and the compile continues. Another error now: > > nv50_surface.c: In function ‘nv50_surface_set’: > nv50_surface.c:95: error: ‘NOUVEAU_BO_TILE_LAYOUT_MASK’ undeclared > (first use in this function) > nv50_surface.c:95: error: (Each undeclared identifier is reported only once > nv50_surface.c:95: error: for each function it appears in.) > make[4]: *** [nv50_surface.o] Error 1 > make[4]: *** Waiting for unfinished jobs.... > nv50_transfer.c: In function ‘nv50_transfer_rect_m2mf’: > nv50_transfer.c:48: error: ‘NOUVEAU_BO_TILE_LAYOUT_MASK’ undeclared > (first use in this function) > nv50_transfer.c:48: error: (Each undeclared identifier is reported only once > nv50_transfer.c:48: error: for each function it appears in.) > nv50_transfer.c: In function ‘nv50_upload_sifc’: > nv50_transfer.c:283: error: ‘NOUVEAU_BO_TILE_LAYOUT_MASK’ undeclared > (first use in this function) > make[4]: *** [nv50_transfer.o] Error 1 > > Don't know how to fix that one. Even the nouveau_channel_alloc error, > which I 'fixed', seems odd because it was called elsewhere just the same > without fail.
pgpDnurNdf2NR.pgp
Description: PGP signature
_______________________________________________ Nouveau mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/nouveau
