[Dune] UG minor preprocessor error

Christoph GrĂ¼ninger pr at grueninger.de
Sat Aug 8 00:30:39 CEST 2009


There seems to be a minor glitch in UG.
UG/ug/low/ugstrings.h, line 31.
#elif without condition, maybe #else is correct? My compiler (gcc 4.4.0) complains about it.

Code snipplet:
#if STDC_HEADERS
# ifdef HAVE_STRING_H
#  include <string.h>
# elif   // Error occures here
#  ifdef HAVE_STRINGS_H
#   include <strings.h>
#  endif
# endif
#else

Hopefully this Dune mailing list is appropriate for this UG issue.

Au revoir
Christoph GrĂ¼ninger


P.S.: Is it my fault that dune-grid won't compile together with UG or is it my compiler? Compiler says:

In file included from ../../dune/grid/uggrid.hh:44,                                                                 
                 from uggrid.cc:5:                                                                                  
../../dune/grid/uggrid/ugwrapper.hh:39: error: ‘PrioNone’ is not a member of ‘UG::D2’                               
../../dune/grid/uggrid/ugwrapper.hh:40: error: ‘PrioMaster’ is not a member of ‘UG::D2’                             
../../dune/grid/uggrid/ugwrapper.hh:41: error: ‘PrioBorder’ is not a member of ‘UG::D2’                             
../../dune/grid/uggrid/ugwrapper.hh:43: error: ‘PrioHGhost’ is not a member of ‘UG::D2’                             
../../dune/grid/uggrid/ugwrapper.hh:44: error: ‘PrioVGhost’ is not a member of ‘UG::D2’                             
../../dune/grid/uggrid/ugwrapper.hh:45: error: ‘PrioVHGhost’ is not a member of ‘UG::D2’                            
../../dune/grid/uggrid/ugwrapper.hh: In static member function ‘static UG::D2::node* Dune::UG_NS<2>::PFirstNode(const UG::D2::grid*)’:                                                                                                  
../../dune/grid/uggrid/ugwrapper.hh:266: error: ‘UG::D2::PrioHGhost’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:267: error: ‘UG::D2::PrioVGhost’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:268: error: ‘UG::D2::PrioVHGhost’ has not been declared                         
../../dune/grid/uggrid/ugwrapper.hh:269: error: ‘UG::D2::PrioMaster’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:270: error: ‘UG::D2::PrioBorder’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:271: error: ‘UG::D2::ELEMENT_LIST’ has not been declared                        
../../dune/grid/uggrid/ugwrapper.hh:272: error: ‘UG::D2::NODE_LIST’ has not been declared                           
../../dune/grid/uggrid/ugwrapper.hh: In static member function ‘static UG::D2::node* Dune::UG_NS<2>::FirstNode(UG::D2::grid*)’:                                                                                                         
../../dune/grid/uggrid/ugwrapper.hh:280: error: ‘UG::D2::PrioHGhost’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:281: error: ‘UG::D2::PrioVGhost’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:282: error: ‘UG::D2::PrioVHGhost’ has not been declared                         
../../dune/grid/uggrid/ugwrapper.hh:283: error: ‘UG::D2::PrioMaster’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:284: error: ‘UG::D2::PrioBorder’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:285: error: ‘UG::D2::ELEMENT_LIST’ has not been declared                        
../../dune/grid/uggrid/ugwrapper.hh:286: error: ‘UG::D2::NODE_LIST’ has not been declared                           
../../dune/grid/uggrid/ugwrapper.hh: In static member function ‘static UG::D2::element* Dune::UG_NS<2>::PFirstElement(const UG::D2::grid*)’:                                                                                            
../../dune/grid/uggrid/ugwrapper.hh:294: error: ‘UG::D2::PrioHGhost’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:295: error: ‘UG::D2::PrioVGhost’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:296: error: ‘UG::D2::PrioVHGhost’ has not been declared                         
../../dune/grid/uggrid/ugwrapper.hh:297: error: ‘UG::D2::PrioMaster’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:298: error: ‘UG::D2::PrioBorder’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:299: error: ‘UG::D2::ELEMENT_LIST’ has not been declared                        
../../dune/grid/uggrid/ugwrapper.hh:300: error: ‘UG::D2::NODE_LIST’ has not been declared                           
../../dune/grid/uggrid/ugwrapper.hh: In static member function ‘static UG::D2::element* Dune::UG_NS<2>::FirstElement(UG::D2::grid*)’:                                                                                                   
../../dune/grid/uggrid/ugwrapper.hh:308: error: ‘UG::D2::PrioHGhost’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:309: error: ‘UG::D2::PrioVGhost’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:310: error: ‘UG::D2::PrioVHGhost’ has not been declared                         
../../dune/grid/uggrid/ugwrapper.hh:311: error: ‘UG::D2::PrioMaster’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:312: error: ‘UG::D2::PrioBorder’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:313: error: ‘UG::D2::ELEMENT_LIST’ has not been declared                        
../../dune/grid/uggrid/ugwrapper.hh: In static member function ‘static void Dune::UG_NS<2>::RemoveDomain(const char*)’:                                                                                                                 
../../dune/grid/uggrid/ugwrapper.hh:888: error: ‘RemoveDomain’ is not a member of ‘UG::D2’                          
In file included from /opt/UG-2008-11-13/include/gm.h:61,                                                           
                 from ../../dune/grid/uggrid/ugincludes.hh:13,                                                      
                 from ../../dune/grid/uggrid.hh:70,                                                                 
                 from uggrid.cc:5:                                                                                  
/opt/UG-2008-11-13/include/pargm.h: At global scope:                                                                
/opt/UG-2008-11-13/include/pargm.h:69: error: multiple definition of ‘enum UG::Priorities’                          
/opt/UG-2008-11-13/include/pargm.h:69: error: previous definition here                                              
/opt/UG-2008-11-13/include/pargm.h:71: error: conflicting declaration ‘PrioNone’                                    
/opt/UG-2008-11-13/include/pargm.h:71: error: ‘UG::PrioNone’ has a previous declaration as ‘UG::Priorities UG::PrioNone’                                                                                                                
/opt/UG-2008-11-13/include/pargm.h:72: error: conflicting declaration ‘PrioHGhost’                                  
/opt/UG-2008-11-13/include/pargm.h:72: error: ‘UG::PrioHGhost’ has a previous declaration as ‘UG::Priorities UG::PrioHGhost’                                                                                                            
/opt/UG-2008-11-13/include/pargm.h:73: error: conflicting declaration ‘PrioVGhost’                                  
/opt/UG-2008-11-13/include/pargm.h:73: error: ‘UG::PrioVGhost’ has a previous declaration as ‘UG::Priorities UG::PrioVGhost’                                                                                                            
/opt/UG-2008-11-13/include/pargm.h:74: error: conflicting declaration ‘PrioVHGhost’                                 
/opt/UG-2008-11-13/include/pargm.h:74: error: ‘UG::PrioVHGhost’ has a previous declaration as ‘UG::Priorities UG::PrioVHGhost’                                                                                                          
/opt/UG-2008-11-13/include/pargm.h:75: error: conflicting declaration ‘PrioBorder’                                  
/opt/UG-2008-11-13/include/pargm.h:75: error: ‘UG::PrioBorder’ has a previous declaration as ‘UG::Priorities UG::PrioBorder’                                                                                                            
/opt/UG-2008-11-13/include/pargm.h:76: error: conflicting declaration ‘PrioMaster’                                  
/opt/UG-2008-11-13/include/pargm.h:76: error: ‘UG::PrioMaster’ has a previous declaration as ‘UG::Priorities UG::PrioMaster’                                                                                                            
/opt/UG-2008-11-13/include/pargm.h:80: error: multiple definition of ‘enum UG::DynamicListId’                       
/opt/UG-2008-11-13/include/pargm.h:80: error: previous definition here                                              
/opt/UG-2008-11-13/include/pargm.h:80: error: conflicting declaration ‘ELEMENT_LIST’                                
/opt/UG-2008-11-13/include/pargm.h:80: error: ‘UG::ELEMENT_LIST’ has a previous declaration as ‘UG::DynamicListId UG::ELEMENT_LIST’                                                                                                     
/opt/UG-2008-11-13/include/pargm.h:81: error: conflicting declaration ‘NODE_LIST’                                   
/opt/UG-2008-11-13/include/pargm.h:81: error: ‘UG::NODE_LIST’ has a previous declaration as ‘UG::DynamicListId UG::NODE_LIST’                                                                                                           
/opt/UG-2008-11-13/include/pargm.h:82: error: conflicting declaration ‘VECTOR_LIST’                                 
/opt/UG-2008-11-13/include/pargm.h:82: error: ‘UG::VECTOR_LIST’ has a previous declaration as ‘UG::DynamicListId UG::VECTOR_LIST’                                                                                                       
/opt/UG-2008-11-13/include/pargm.h:83: error: conflicting declaration ‘VERTEX_LIST’                                 
/opt/UG-2008-11-13/include/pargm.h:83: error: ‘UG::VERTEX_LIST’ has a previous declaration as ‘UG::DynamicListId UG::VERTEX_LIST’                                                                                                       
/opt/UG-2008-11-13/include/pargm.h:166: error: conflicting declaration ‘MAX_PRIOS’                                  
/opt/UG-2008-11-13/include/pargm.h:166: error: ‘UG::MAX_PRIOS’ has a previous declaration as ‘UG::<anonymous enum> UG::MAX_PRIOS’                                                                                                       
/opt/UG-2008-11-13/include/pargm.h:167: error: conflicting declaration ‘ELEMENT_PRIOS’                              
/opt/UG-2008-11-13/include/pargm.h:167: error: ‘UG::ELEMENT_PRIOS’ has a previous declaration as ‘UG::<anonymous enum> UG::ELEMENT_PRIOS’                                                                                               
/opt/UG-2008-11-13/include/pargm.h:168: error: conflicting declaration ‘NODE_PRIOS’                                 
/opt/UG-2008-11-13/include/pargm.h:168: error: ‘UG::NODE_PRIOS’ has a previous declaration as ‘UG::<anonymous enum> UG::NODE_PRIOS’                                                                                                     
/opt/UG-2008-11-13/include/pargm.h:169: error: conflicting declaration ‘VECTOR_PRIOS’                               
/opt/UG-2008-11-13/include/pargm.h:169: error: ‘UG::VECTOR_PRIOS’ has a previous declaration as ‘UG::<anonymous enum> UG::VECTOR_PRIOS’                                                                                                 
/opt/UG-2008-11-13/include/pargm.h:170: error: conflicting declaration ‘VERTEX_PRIOS’                               
/opt/UG-2008-11-13/include/pargm.h:170: error: ‘UG::VERTEX_PRIOS’ has a previous declaration as ‘UG::<anonymous enum> UG::VERTEX_PRIOS’                                                                                                 
/opt/UG-2008-11-13/include/pargm.h:173: error: conflicting declaration ‘MAX_LISTPARTS’                              
/opt/UG-2008-11-13/include/pargm.h:173: error: ‘UG::MAX_LISTPARTS’ has a previous declaration as ‘UG::<anonymous enum> UG::MAX_LISTPARTS’                                                                                               
/opt/UG-2008-11-13/include/pargm.h:174: error: conflicting declaration ‘ELEMENT_LISTPARTS’                          
/opt/UG-2008-11-13/include/pargm.h:174: error: ‘UG::ELEMENT_LISTPARTS’ has a previous declaration as ‘UG::<anonymous enum> UG::ELEMENT_LISTPARTS’                                                                                       
/opt/UG-2008-11-13/include/pargm.h:175: error: conflicting declaration ‘NODE_LISTPARTS’                             
/opt/UG-2008-11-13/include/pargm.h:175: error: ‘UG::NODE_LISTPARTS’ has a previous declaration as ‘UG::<anonymous enum> UG::NODE_LISTPARTS’                                                                                             
/opt/UG-2008-11-13/include/pargm.h:176: error: conflicting declaration ‘VECTOR_LISTPARTS’                           
/opt/UG-2008-11-13/include/pargm.h:176: error: ‘UG::VECTOR_LISTPARTS’ has a previous declaration as ‘UG::<anonymous enum> UG::VECTOR_LISTPARTS’                                                                                         
/opt/UG-2008-11-13/include/pargm.h:177: error: conflicting declaration ‘VERTEX_LISTPARTS’                           
/opt/UG-2008-11-13/include/pargm.h:177: error: ‘UG::VERTEX_LISTPARTS’ has a previous declaration as ‘UG::<anonymous enum> UG::VERTEX_LISTPARTS’                                                                                         
In file included from /opt/UG-2008-11-13/include/udm.h:38,                                                          
                 from /opt/UG-2008-11-13/include/formats.h:37,                                                      
                 from ../../dune/grid/uggrid/ugincludes.hh:21,                                                      
                 from ../../dune/grid/uggrid.hh:70,                                                                 
                 from uggrid.cc:5:                                                                                  
/opt/UG-2008-11-13/include/sm.h:68: error: conflicting declaration ‘typedef struct UG::SPARSE_MATRIX UG::SPARSE_MATRIX’                                                                                                                 
/opt/UG-2008-11-13/include/sm.h:68: error: ‘UG::SPARSE_MATRIX’ has a previous declaration as ‘typedef struct UG::SPARSE_MATRIX UG::SPARSE_MATRIX’                                                                                       
In file included from ../../dune/grid/uggrid.hh:75,                                                                 
                 from uggrid.cc:5:                                                                                  
../../dune/grid/uggrid/ugwrapper.hh:39: error: ‘PrioNone’ is not a member of ‘UG::D3’                               
../../dune/grid/uggrid/ugwrapper.hh:40: error: ‘PrioMaster’ is not a member of ‘UG::D3’                             
../../dune/grid/uggrid/ugwrapper.hh:41: error: ‘PrioBorder’ is not a member of ‘UG::D3’                             
../../dune/grid/uggrid/ugwrapper.hh:43: error: ‘PrioHGhost’ is not a member of ‘UG::D3’                             
../../dune/grid/uggrid/ugwrapper.hh:44: error: ‘PrioVGhost’ is not a member of ‘UG::D3’                             
../../dune/grid/uggrid/ugwrapper.hh:45: error: ‘PrioVHGhost’ is not a member of ‘UG::D3’                            
../../dune/grid/uggrid/ugwrapper.hh: In static member function ‘static UG::D3::node* Dune::UG_NS<3>::PFirstNode(const UG::D3::grid*)’:                                                                                                  
../../dune/grid/uggrid/ugwrapper.hh:266: error: ‘UG::D3::PrioHGhost’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:267: error: ‘UG::D3::PrioVGhost’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:268: error: ‘UG::D3::PrioVHGhost’ has not been declared                         
../../dune/grid/uggrid/ugwrapper.hh:269: error: ‘UG::D3::PrioMaster’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:270: error: ‘UG::D3::PrioBorder’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:271: error: ‘UG::D3::ELEMENT_LIST’ has not been declared                        
../../dune/grid/uggrid/ugwrapper.hh:272: error: ‘UG::D3::NODE_LIST’ has not been declared                           
../../dune/grid/uggrid/ugwrapper.hh: In static member function ‘static UG::D3::node* Dune::UG_NS<3>::FirstNode(UG::D3::grid*)’:                                                                                                         
../../dune/grid/uggrid/ugwrapper.hh:280: error: ‘UG::D3::PrioHGhost’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:281: error: ‘UG::D3::PrioVGhost’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:282: error: ‘UG::D3::PrioVHGhost’ has not been declared                         
../../dune/grid/uggrid/ugwrapper.hh:283: error: ‘UG::D3::PrioMaster’ has not been declared                          
../../dune/grid/uggrid/ugwrapper.hh:284: error: ‘UG::D3::PrioBorder’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:285: error: ‘UG::D3::ELEMENT_LIST’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:286: error: ‘UG::D3::NODE_LIST’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh: In static member function ‘static UG::D3::element* Dune::UG_NS<3>::PFirstElement(const UG::D3::grid*)’:
../../dune/grid/uggrid/ugwrapper.hh:294: error: ‘UG::D3::PrioHGhost’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:295: error: ‘UG::D3::PrioVGhost’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:296: error: ‘UG::D3::PrioVHGhost’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:297: error: ‘UG::D3::PrioMaster’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:298: error: ‘UG::D3::PrioBorder’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:299: error: ‘UG::D3::ELEMENT_LIST’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:300: error: ‘UG::D3::NODE_LIST’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh: In static member function ‘static UG::D3::element* Dune::UG_NS<3>::FirstElement(UG::D3::grid*)’:
../../dune/grid/uggrid/ugwrapper.hh:308: error: ‘UG::D3::PrioHGhost’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:309: error: ‘UG::D3::PrioVGhost’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:310: error: ‘UG::D3::PrioVHGhost’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:311: error: ‘UG::D3::PrioMaster’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:312: error: ‘UG::D3::PrioBorder’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh:313: error: ‘UG::D3::ELEMENT_LIST’ has not been declared
../../dune/grid/uggrid/ugwrapper.hh: In static member function ‘static void Dune::UG_NS<3>::RemoveDomain(const char*)’:
../../dune/grid/uggrid/ugwrapper.hh:888: error: ‘RemoveDomain’ is not a member of ‘UG::D3’




More information about the Dune mailing list