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...

ilmar
_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to