I still have the same problem with 1.3.36, so maybe the patch from Johan
should be updated?
ilmar
Garth N. Wells wrote:
>
>
> 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