RE: Failed compiling GTK+2.3.5 on Solaris 8 using Sun C 5.5



<snip>
> > -DPIC -o .libs/gdkasync.o "gdkasync.c", line 252: undefined 
> symbol: X_ 
> > "gdkasync.c", line 252: syntax error before or at: GetInputFocus 
> > "gdkasync.c", line 258: cannot recover from previous errors
> > cc: acomp failed for gdkasync.c
> > </snip>
> >  
> > Any thoughts or suggestions would be appreciated.
> 
> Basically, you need to look at the definition of 
> GetEmptyReq() in your Xlibint.h and find out why it isn't 
> working with your compiler.
> 
> My guess is that you are hitting the pre-ANSI version which 
> uses /**/ for token-pasting with a ANSI preprocessor (gcc)
> 
> Regards,

Owen,

Thanks for the help. Here's the deal. On my Solaris 8 system, the Xlibint.h
file has ifdef's defined for GetReq, GetReqExtra, GetResReq, and
GetEmptyReq. For the first three, these look something like:

#ifdef _LP64
#define GetResReq(name, rid, req) \
...
#else  /* _LP64 */
#if (defined(__STDC__) && !defined(UNIXCPP)) || defined(ANSICPP)
#define GetResReq(name, rid, req) \
...
#else
#define GetResReq(name, rid, req) \
...
#endif
#endif /* _LP64 */

However, the __STDC__ define for GetEmptyReq looks like:

#if (__STDC__ && !defined(UNIXCPP)) || defined(ANSICPP)

Which caused the compile to fail. If I change this to match the others, the
code compiles fine.

I'm off to look for patches to figure out if this has been fixed yet on
Solaris.

Thanks again for pointing me in the right direction.

Regards,

David




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]