Ilmar Wilbers wrote:
> Anders Logg wrote:
>> On Tue, Sep 30, 2008 at 02:35:21PM +0200, Johannes Ring wrote:
>>
>>> On Tue, September 30, 2008 13:24, Anders Logg wrote:
>>>
>>>> On Tue, Sep 30, 2008 at 09:38:07AM +0200, Johannes Ring wrote:
>>>>
>>>>> On Tue, September 30, 2008 09:15, Anders Logg wrote:
>>>>>
>>>>>> On Tue, Sep 30, 2008 at 08:39:41AM +0200, Johannes Ring wrote:
>>>>>>
>>>>>>> On Sat, September 27, 2008 20:05, Garth N. Wells wrote:
>>>>>>>
>>>>>>>> Johan Hake wrote:
>>>>>>>>
>>>>>>>>> On Saturday 27 September 2008 18:17:12 Harish Narayanan wrote:
>>>>>>>>>
>>>>>>>>>> In order to get the swig-generated dolfin_wrap.cc to build with
>>>>>>>>>>
>>>>> my
>>>>>
>>>>>>> gcc,
>>>>>>>
>>>>>>>>>> I need to perform some simple substitutions on the file which
>>>>>>>>>>
>>>>> I've
>>>>>
>>>>>>>>>> expressed as a perl script:
>>>>>>>>>>
>>>>>>>>>> perl -pi -e 's/Type v;/Type v = 0;/g' dolfin/swig/dolfin_wrap.cc
>>>>>>>>>>
>>>>>>>>> Maybee you could make a runnable script called 'swig' and put it
>>>>>>>>> somwhere in
>>>>>>>>> your path, and make sure it executes before the system swig. Then
>>>>>>>>>
>>>>> in
>>>>>
>>>>>>> the
>>>>>>>
>>>>>>>>> script you call the system swig with the handed sysargs. After
>>>>>>>>>
>>>>> that
>>>>>
>>>>>>> line
>>>>>>>
>>>>>>>>> you
>>>>>>>>> execute the command above. Its a hack, but I do not think scons
>>>>>>>>>
>>>>>>> support
>>>>>>>
>>>>>>>>> this
>>>>>>>>> in a better way.
>>>>>>>>>
>>>>>>>>>
>>>>>>>> I don't really like this approach. I would prefer to enable
>>>>>>>>
>>>>> different
>>>>>
>>>>>>>> compiler flags for dolfin_wrap.cc, i.e. do not use -Werror, if that
>>>>>>>>
>>>>>>> does
>>>>>>>
>>>>>>>> the trick. dolfin_wrap.cc won't compile under Ubuntu Intrepid with
>>>>>>>> -Werror, so we'll need to do something.
>>>>>>>>
>>>>>>> What if we removed the -Werror flag from CXXFLAGS as default and
>>>>>>>
>>>>> instead
>>>>>
>>>>>>> let the user decide whether to add it through the customCxxFlags
>>>>>>>
>>>>> option?
>>>>>
>>>>>>> This option is cached in scons/options.cache so you only have to set
>>>>>>>
>>>>> it
>>>>>
>>>>>>> once.
>>>>>>>
>>>>>>> Currently, the only way a user can remove the -Werror flag when
>>>>>>>
>>>>> running
>>>>>
>>>>>>> scons is by turning off debugging with enableDebug=no. I don't think
>>>>>>> this
>>>>>>> is very nice since -Werror isn't really a debugging flag.
>>>>>>>
>>>>>>> Johannes
>>>>>>>
>>>>>> I don't like that. It would increase the risk of someone pushing code
>>>>>> that compiles with warnings. DOLFIN has been free of warnings for a
>>>>>> few years now and it was quite a bit of work to remove them to begin
>>>>>> with.
>>>>>>
>>>>> Okay, I see.
>>>>>
>>>>> Is it okay then if I move the -Werror flag from the debugging flags to
>>>>> the
>>>>> default CXXFLAGS and if the user defines CXXFLAGS the default CXXFLAGS
>>>>> is
>>>>> overwritten? Like this:
>>>>>
>>>>> diff -r cfbe8dbbf3c9 SConstruct
>>>>> --- a/SConstruct Mon Sep 29 15:23:53 2008 +0200
>>>>> +++ b/SConstruct Tue Sep 30 09:36:49 2008 +0200
>>>>> @@ -149,7 +149,10 @@
>>>>> # FIXME: should we also remove the file scons/options.cache?
>>>>>
>>>>> # Default CXX and FORTRAN flags
>>>>> -env["CXXFLAGS"] = "-Wall -pipe -ansi" # -Werror"
>>>>> +if os.environ.has_key("CXXFLAGS"):
>>>>> + env['CXXFLAGS'] = os.environ["CXXFLAGS"]
>>>>> +else:
>>>>> + env["CXXFLAGS"] = "-Wall -pipe -ansi -Werror"
>>>>> #env["SHFORTRANFLAGS"] = "-Wall -pipe -fPIC"
>>>>>
>>>>> # Default link flags
>>>>> @@ -157,7 +160,7 @@
>>>>>
>>>>> # If Debug is enabled, add -g:
>>>>> if env["enableDebug"]:
>>>>> - env.Append(CXXFLAGS=" -DDEBUG -g -Werror")
>>>>> + env.Append(CXXFLAGS=" -DDEBUG -g")
>>>>>
>>>>> if not env["enableDebugUblas"]:
>>>>> env.Append(CXXFLAGS=" -DNDEBUG")
>>>>>
>>>>>
>>>>> Johannes
>>>>>
>>>> Sounds good.
>>>>
>>> Done.
>>>
>>> To build without -Werror, define CXXFLAGS before running scons, e.g.,
>>>
>>> CXXFLAGS="" scons
>>>
>>> or
>>>
>>> CXXFLAGS="-Wall -pipe -ansi" scons
>>>
>>> Johannes
>>>
>> Nice. Could you add a note on it to the FAQ for people with SWIG
>> problems?
>>
>> As I understand it, we will all have this problem next month when
>> everyone upgrades Ubuntu... :-)
>>
>>
> Correct, this is due to the new gcc version. Really, someone should
> check with the SWIG people and get this fixed...
>
Looks like it might be fixed in Swig 1.3.36, but Intrepid is shipping
with 1.3.35. It also looks like 1.3.35 may have some issues with
shared_ptr which could affect us.
The change still doesn't really help much - I would like to use -Werror
on the dolfin code, and to not use it on the swig generated code.
Garth
> ilmar
> _______________________________________________
> DOLFIN-dev mailing list
> [email protected]
> http://www.fenics.org/mailman/listinfo/dolfin-dev
_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev