[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: 1.8.0 build problem on Solaris Sparc using gcc

From: Branko Čibej <brane_at_wandisco.com>
Date: Fri, 21 Jun 2013 11:42:44 +0200

On 20.06.2013 23:17, Rainer Jung wrote:
> On 20.06.2013 22:38, Branko Čibej wrote:
>> On 20.06.2013 22:30, Branko Čibej wrote:
>>> On 20.06.2013 17:52, Rainer Jung wrote:
>>>> 1.8.0 calls gcc with -std=c90. For my Solaris 10 Sparc using gcc 4.7.2
>>>> this leads to "_STRICT_STDC" getting defined and then limits.h no longer
>>>> defines PATH_MAX. So apr.h bombs out during compile with:
>>>>
>>>> #error no decision has been made on APR_PATH_MAX for your platform
>>>>
>>>> Adding e.g. "EXTRA_CPPFLAGS = -D__EXTENSIONS__" fixes on my platform.
>>>>
>>>> gcc manual as I understand it says -std=c90 and -std=c89 are the same
>>>> and both are equivalent to -ansi. Was that intended as a new flag for 1.8.0?
>>> The intended flag was -std=c90, yes.
>>> You should be able to use just plain CFLAGS= instead of EXTRA_CPPFLAGS=,
>>> the problem with initial CFLAGS being overriden should have been fixed.
>>>
>>>> The flag is set by SVN_CC_MODE_SETUP in build/ac-macros/compiler.m4 and
>>>> passes along into CMODEFLAGS in the Makefile.
>>> Yup.
>>>
>>>> On Solaris that means "turn off any non c90 features". If you want all
>>>> of the c90 compatible extensions on top of c90, then you need to define
>>>> __EXTENSIONS__.
>>> Could you provide a patch that does that? I expect the best place would
>>> be in the SVN_CC_MODE_SETUP macro in compiler.m4.
>> By the way, I wouldn't be surprised if this was a problem on HP-UX and
>> AIX as well; from what I recall, they used to show similar behaviour.
>> Unfortunately I don't have access to any of these platforms to test on.
> I could bake something Solaris specific, which would be defining
> "__EXTENSIONS__" or something more POSIX like which also works here,
> namely defining "_POSIX_SOURCE". Unfortunately I've got not idea to
> which platforms in addition to Solaris I should apply "_POSIX_SOURCE".
>
> Not the best starting point for a good patch.

I'd be comfortable with having a case statement that just adds
_POSIX_SOURCE on Solaris for now. The point is that I can't test on
Solaris -- or something like that would already be in compiler.m4.

Adding similar changes for other platforms will simply have to wait for
bug reports from people using those platforms.

-- Brane

-- 
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. brane_at_wandisco.com
Received on 2013-06-21 11:43:23 CEST

This is an archived mail posted to the Subversion Dev mailing list.