Namespaces I guess....

Yan Seiner yan@seiner.com
Thu Jan 29 19:29:00 GMT 2009


On Thu, January 29, 2009 7:41 am, Brian McGrew wrote:
> Good morning,
>
> At first guess, I'd say that somehow NOUVEAU_PRIVATE not getting defined
> properly or is defined in some fashion that the compiler doesn't like.
>
> You can run that file through te pre-processor (gcc -E, as opposed to gcc
> -c) and look at the output and see what NOUVEAU_PRIVATE is defined as.

It comes out the other side as:

_X_HIDDEN int
nouveau_device_open_existing(struct nouveau_device **, int close,
        int fd, drm_context_t ctx);

and

selene:/usr/src/nouveau/xf86-video-nouveau/src# grep -r _X_HIDDEN *
nouveau_local.h:#define NOUVEAU_PRIVATE _X_HIDDEN

But nothing anywhere that might indicate what _X_HIDDEN is...

I've not seen this syntax before.

--Yan

>
> -brian
>
>
> On 1/29/09 7:36 AM, "Yan Seiner" <yan@seiner.com> wrote:
>
>> OK, I'm a total newb when it comes to namespaces... I think that's what
>> I'm running into...
>>
>> I'm trying to build nouveau form xorg. The compile fails with:
>>
>> gcc -DHAVE_CONFIG_H -I. -I.. -D_XOPEN_SOURCE=500 -I
>> -I/usr/include/pixman-1 -I/usr/include/drm -I/usr/include/X11/dri -g -O2
>> -Wall -minline-all-stringops -D_XOPEN_SOURCE=500 -I
>> -I/usr/include/pixman-1 -I/usr/include/drm -I/usr/include/X11/dri -MT
>> nouveau_device.lo -MD -MP -MF .deps/nouveau_device.Tpo -c
>> nouveau_device.c -fPIC -DPIC -o .libs/nouveau_device.o
>> In file included from nouveau_device.c:27:
>> nouveau_drmif.h:47: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œint¹
>> nouveau_drmif.h:51: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œint¹
>> nouveau_drmif.h:54: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œvoid¹
>> nouveau_drmif.h:57: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œint¹
>> nouveau_drmif.h:60: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œint¹
>> nouveau_drmif.h:96: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œint¹
>> nouveau_drmif.h:100: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œvoid¹
>> nouveau_drmif.h:108: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œint¹
>> nouveau_drmif.h:110: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œint¹
>> nouveau_drmif.h:112: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œvoid¹
>> nouveau_drmif.h:123: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œint¹
>> nouveau_drmif.h:127: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œvoid¹
>> nouveau_drmif.h:130: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œvoid¹
>> nouveau_drmif.h:133: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œuint32_t¹
>> nouveau_drmif.h:136: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œuint32_t¹
>> nouveau_drmif.h:139: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œint¹
>> nouveau_drmif.h:161: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œint¹
>> nouveau_drmif.h:165: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œint¹
>> nouveau_drmif.h:168: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œint¹
>> nouveau_drmif.h:171: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œvoid¹
>> nouveau_drmif.h:174: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œvoid¹
>> nouveau_drmif.h:179: error: expected Œ=¹, Œ,¹, Œ;¹, Œasm¹ or
>> Œ__attribute__¹ before Œvoid¹
>> nouveau_device.c: In function Œnouveau_device_open_existing¹:
>> nouveau_device.c:53: warning: implicit declaration of function
>> Œnouveau_device_get_param¹
>> make[2]: *** [nouveau_device.lo] Error 1
>> make[2]: Leaving directory `/usr/src/nouveau/xf86-video-nouveau/src'
>>
>>
>> The first offending line is here:
>>
>> NOUVEAU_PRIVATE int
>> nouveau_device_open_existing(struct nouveau_device **, int close,
>> int fd, drm_context_t ctx);
>>
>> The rest of the errors are for similar syntax.
>>
>> What am I looking for? Is there a compiler setting I'm missing?
>>
>> selene:/usr/src/nouveau/xf86-video-nouveau# gcc --version
>> gcc (Debian 4.3.1-9) 4.3.1
>>
>>
>> Thanks,
>>
>> --Yan
>
> --
>
>
>
> !DSPAM:4981ce4f171281804284693!
>
>


-- 
  o__
  ,>/'_          o__
  (_)\(_)        ,>/'_        o__
Yan Seiner      (_)\(_)       ,>/'_     o__
       Personal Trainer      (_)\(_)    ,>/'_        o__
             Professional Engineer     (_)\(_)       ,>/'_
Who says engineers have to be pencil necked geeks?  (_)\(_)

You are an adult when you realize that everyone's an idiot sometimes. You
are wise when you include yourself.




More information about the Gcc-help mailing list