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
> 

A final note on this. It would appear that if I use the -Xc option for the
Sun compiler, this #define works as is, without modification. I still think
that it makes more sense for all of these #defines to be the same. Such is
life...

David




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