Subject: [UFC-dev] problems building ufc_benchmark module

From: Kristian Oelgaard <[email-masked]>
Date: Fri, 05 Dec 2008 14:07:30 +0100

Hi,

I'm having problems building the ufc_benchmark module.

oelgaard@oelgaard-laptop:~/fenics/ufc/src/utils/python/ufc_benchmark$ python
setup.py install --prefix=/home/oelgaard/local
swig -c++ -python -I../../../ufc ufc_benchmark.i                               
                                           
running install                                                                
                                           
running build                                                                  
                                           
running build_py                                                               
                                           
creating build                                                                 
                                           
creating build/lib.linux-i686-2.5                                              
                                           
copying ufc_benchmark.py -> build/lib.linux-i686-2.5                           
                                           
running build_ext                                                              
                                           
building '_ufc_benchmark' extension                                            
                                           
creating build/temp.linux-i686-2.5                                             
                                           
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
-Wstrict-prototypes -fPIC -I../../../ufc -I/usr/include/python2.5 -c
ufc_benchmark.cpp -o build/temp.linux-i686-2.5/ufc_benchmark.o                 
                                       
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for
Ada/C/ObjC but not for C++                           
In file included from ufc_benchmark.cpp:16:                                    
                                              
ufc_data.h:138: error: ‘uint’ does not name a type                             
                                              
ufc_data.h:139: error: ‘uint’ does not name a type                             
                                              
ufc_data.h:140: error: ‘uint’ does not name a type                             
                                              
ufc_data.h:141: error: ‘uint’ does not name a type                             
                                              
ufc_data.h:143: error: ISO C++ forbids declaration of ‘uint’ with no type      
                                              
ufc_data.h:143: error: expected ‘;’ before ‘*’ token                           
                                              
ufc_data.h: In constructor ‘ufc::ufc_data::ufc_data(const ufc::form&)’:        
                                              
ufc_data.h:24: error: ‘rank’ was not declared in this scope                    
                                              
ufc_data.h:25: error: ‘num_coefficients’ was not declared in this scope        
                                              
ufc_data.h:26: error: ‘num_arguments’ was not declared in this scope           
                                              
ufc_data.h:31: error: ‘dimensions’ was not declared in this scope              
                                              
ufc_data.h:31: error: expected type-specifier before ‘uint’                    
                                              
ufc_data.h:31: error: expected `;' before ‘uint’                               
                                              
ufc_data.h:33: error: ‘uint’ was not declared in this scope                    
                                              
ufc_data.h:33: error: expected `;' before ‘i’                                  
                                              
ufc_data.h:33: error: ‘i’ was not declared in this scope                       
                                              
ufc_data.h:48: error: expected `;' before ‘i’                                  
                                              
ufc_data.h:48: error: ‘i’ was not declared in this scope                       
                                              
ufc_data.h:53: error: expected `;' before ‘i’                                  
                                              
ufc_data.h:53: error: ‘i’ was not declared in this scope                       
                                              
ufc_data.h:58: error: expected `;' before ‘i’                                  
                                              
ufc_data.h:58: error: ‘i’ was not declared in this scope                       
                                              
ufc_data.h:64: error: ‘A_size’ was not declared in this scope                  
                                              
ufc_data.h:65: error: expected `;' before ‘i’                                  
                                              
ufc_data.h:65: error: ‘i’ was not declared in this scope                       
                                              
ufc_data.h:75: error: expected `;' before ‘i’                                  
                                              
ufc_data.h:75: error: ‘i’ was not declared in this scope                       
                                              
ufc_data.h:81: error: expected `;' before ‘i’                                  
                                              
ufc_data.h:81: error: ‘i’ was not declared in this scope                       
                                              
ufc_data.h:83: error: expected `;' before ‘dim’                                
                                              
ufc_data.h:84: error: ‘dim’ was not declared in this scope                     
                                              
ufc_data.h:85: error: ‘memset’ was not declared in this scope                  
                                              
ufc_data.h:90: error: expected `;' before ‘i’                                  
                                              
ufc_data.h:90: error: ‘i’ was not declared in this scope                       
                                              
ufc_data.h:92: error: expected `;' before ‘dim’                                
                                              
ufc_data.h:93: error: ‘dim’ was not declared in this scope                     
                                              
ufc_data.h:94: error: ‘memset’ was not declared in this scope                  
                                              
ufc_data.h: In destructor ‘ufc::ufc_data::~ufc_data()’:                        
                                              
ufc_data.h:100: error: ‘uint’ was not declared in this scope                   
                                              
ufc_data.h:100: error: expected `;' before ‘i’                                 
                                              
ufc_data.h:100: error: ‘i’ was not declared in this scope                      
                                              
ufc_data.h:100: error: ‘num_arguments’ was not declared in this scope          
                                              
ufc_data.h:103: error: expected `;' before ‘i’                                 
                                              
ufc_data.h:103: error: ‘i’ was not declared in this scope                      
                                              
ufc_data.h:103: error: ‘num_arguments’ was not declared in this scope          
                                              
ufc_data.h:106: error: ‘dimensions’ was not declared in this scope             
                                              
ufc_data.h:108: error: expected `;' before ‘i’                                 
                                              
ufc_data.h:108: error: ‘i’ was not declared in this scope                      
                                              
ufc_data.h:111: error: expected `;' before ‘i’                                 
                                              
ufc_data.h:111: error: ‘i’ was not declared in this scope                      
                                              
ufc_data.h:114: error: expected `;' before ‘i’                                 
                                              
ufc_data.h:114: error: ‘i’ was not declared in this scope                      
                                              
ufc_data.h:117: error: expected `;' before ‘i’                                 
                                              
ufc_data.h:117: error: ‘i’ was not declared in this scope                      
                                              
ufc_data.h:117: error: ‘num_coefficients’ was not declared in this scope       
                                              
ufc_data.h:121: error: expected `;' before ‘i’                                 
                                              
ufc_data.h:121: error: ‘i’ was not declared in this scope                      
                                              
ufc_data.h:121: error: ‘num_coefficients’ was not declared in this scope       
                                              
ufc_data.h: In member function ‘void ufc::ufc_data::print_tensor()’:           
                                              
ufc_data.h:155: error: ‘rank’ was not declared in this scope                   
                                              
ufc_data.h:157: error: ‘dimensions’ was not declared in this scope             
                                              
ufc_data.h:159: error: ‘rank’ was not declared in this scope                   
                                              
ufc_data.h:161: error: ‘dimensions’ was not declared in this scope             
                                              
ufc_benchmark.cpp: In function ‘std::vector<std::vector<double,
std::allocator<double> >, std::allocator<std::vector<double,
std::allocator<double> > > > tabulate_cell_tensor(const ufc::form&,
std::vector<std::vector<double, std::allocator<double> >,
std::allocator<std::vector<double, std::allocator<double> > > >, int)’:        
                                               
ufc_benchmark.cpp:154: error: ‘class ufc::ufc_data’ has no member named
‘num_coefficients’                                    
ufc_benchmark.cpp:156: error: ‘class ufc::ufc_data’ has no member named
‘num_coefficients’                                    
ufc_benchmark.cpp:158: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:158: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp:160: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:160: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp:174: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp:176: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:177: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:179: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:180: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:182: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:186: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp:188: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:189: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:195: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp: In function ‘std::vector<std::vector<double,
std::allocator<double> >, std::allocator<std::vector<double,
std::allocator<double> > > > tabulate_cell_integral(const ufc::form&,
std::vector<std::vector<double, std::allocator<double> >,
std::allocator<std::vector<double, std::allocator<double> > > >, ufc::cell,
int)’:                                           
ufc_benchmark.cpp:214: error: ‘class ufc::ufc_data’ has no member named
‘num_coefficients’                                    
ufc_benchmark.cpp:216: error: ‘class ufc::ufc_data’ has no member named
‘num_coefficients’                                    
ufc_benchmark.cpp:218: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:218: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp:220: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:220: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp:231: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp:233: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:234: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:236: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:237: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:239: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:243: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp:245: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:246: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:252: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp: In function ‘std::vector<std::vector<double,
std::allocator<double> >, std::allocator<std::vector<double,
std::allocator<double> > > > tabulate_exterior_facet_integral(const ufc::form&,
std::vector<std::vector<double, std::allocator<double> >,
std::allocator<std::vector<double, std::allocator<double> > > >, ufc::cell&,
int, int)’:                           
ufc_benchmark.cpp:271: error: ‘class ufc::ufc_data’ has no member named
‘num_coefficients’                                    
ufc_benchmark.cpp:273: error: ‘class ufc::ufc_data’ has no member named
‘num_coefficients’                                    
ufc_benchmark.cpp:275: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:275: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp:277: error: ‘class ufc::ufc_data’ has no member named
‘dimensions’                                          
ufc_benchmark.cpp:277: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp:288: error: ‘class ufc::ufc_data’ has no member named ‘rank’ 
                                              
ufc_benchmark.cpp:290: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:291: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:293: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:294: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:296: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:300: error: ‘class ufc::ufc_data’ has no member named ‘rank’
ufc_benchmark.cpp:302: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:303: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:309: error: ‘class ufc::ufc_data’ has no member named ‘rank’
ufc_benchmark.cpp: In function ‘std::vector<std::vector<double,
std::allocator<double> >, std::allocator<std::vector<double,
std::allocator<double> > > > tabulate_interior_facet_integral(const ufc::form&,
std::vector<std::vector<double, std::allocator<double> >,
std::allocator<std::vector<double, std::allocator<double> > > >, ufc::cell&,
ufc::cell&, int, int, int)’:
ufc_benchmark.cpp:329: error: ‘class ufc::ufc_data’ has no member named
‘num_coefficients’
ufc_benchmark.cpp:331: error: ‘class ufc::ufc_data’ has no member named
‘num_coefficients’
ufc_benchmark.cpp:333: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:333: error: ‘class ufc::ufc_data’ has no member named ‘rank’
ufc_benchmark.cpp:335: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:335: error: ‘class ufc::ufc_data’ has no member named ‘rank’
ufc_benchmark.cpp:346: error: ‘class ufc::ufc_data’ has no member named ‘rank’
ufc_benchmark.cpp:348: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:349: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:351: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:352: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:354: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:358: error: ‘class ufc::ufc_data’ has no member named ‘rank’
ufc_benchmark.cpp:360: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:361: error: ‘class ufc::ufc_data’ has no member named ‘dimensions’
ufc_benchmark.cpp:367: error: ‘class ufc::ufc_data’ has no member named ‘rank’
error: command 'gcc' failed with exit status 1

it all boils down to 'uint' not being defined.

On my old system, it works:

oelgaard@mech028:~/fenics/ufc/src/utils/python/ufc_benchmark$ python setup.py
install --prefix=/home/oelgaard/local
swig -c++ -python -I../../../ufc ufc_benchmark.i                               
                                   
running install                                                                
                                   
running build                                                                  
                                   
running build_py                                                               
                                   
creating build                                                                 
                                   
creating build/lib.linux-i686-2.5                                              
                                   
copying ufc_benchmark.py -> build/lib.linux-i686-2.5                           
                                   
running build_ext                                                              
                                   
building '_ufc_benchmark' extension                                            
                                   
creating build/temp.linux-i686-2.5                                             
                                   
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
-Wstrict-prototypes -fPIC -I../../../ufc -I/usr/include/python2.5 -c
ufc_benchmark.cpp -o build/temp.linux-i686-2.5/ufc_benchmark.o                 
                                       
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for
Ada/C/ObjC but not for C++                           
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
-Wstrict-prototypes -fPIC -I../../../ufc -I/usr/include/python2.5 -c
ufc_benchmark_wrap.cxx -o build/temp.linux-i686-2.5/ufc_benchmark_wrap.o       
                                       
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for
Ada/C/ObjC but not for C++                           
g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions
build/temp.linux-i686-2.5/ufc_benchmark.o
build/temp.linux-i686-2.5/ufc_benchmark_wrap.o -o
build/lib.linux-i686-2.5/_ufc_benchmark.so                                     
                          
running install_lib                                                            
                                              
copying build/lib.linux-i686-2.5/ufc_benchmark.py ->
/home/oelgaard/local/lib/python2.5/site-packages                         
copying build/lib.linux-i686-2.5/_ufc_benchmark.so ->
/home/oelgaard/local/lib/python2.5/site-packages                        
byte-compiling /home/oelgaard/local/lib/python2.5/site-packages/ufc_benchmark.py
to ufc_benchmark.pyc                         
running install_egg_info                                                       
                                              
Removing
/home/oelgaard/local/lib/python2.5/site-packages/ufc_benchmark-1.0.0.egg-info  
                                     
Writing
/home/oelgaard/local/lib/python2.5/site-packages/ufc_benchmark-1.0.0.egg-info

The only difference that I know of is:

Old.
swig -version
SWIG Version 1.3.33

gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2
--enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr
--enable-targets=all --enable-checking=release --build=i486-linux-gnu
--host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.2.4 (Ubuntu 4.2.4-1ubuntu3)

New.
swig -version
SWIG Version 1.3.35

gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.3.2-1ubuntu11'
--with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3
--program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug
--enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release
--build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.3.2 (Ubuntu 4.3.2-1ubuntu11)

Kristian

---

From: Kent Andre <[email-masked]>
Date: Fri, 05 Dec 2008 14:16:00 +0100

I don't get the same problem as you. I get: 

 ~/local/src/ufc/src/utils/python/ufc_benchmark >python setup.py install
--prefix=$HOME/tmp
make: `ufc_benchmark_wrap.cxx' is up to date.
running install
running build
running build_py
running build_ext
building '_ufc_benchmark' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall
-Wstrict-prototypes -fPIC -I../../../ufc -I/usr/include/python2.5 -c
ufc_benchmark_wrap.cxx -o build/temp.linux-i686-2.5/ufc_benchmark_wrap.o
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for
Ada/C/ObjC but not for C++
ufc_benchmark_wrap.cxx: In function «PyObject* _wrap_new_Cell(PyObject*,
PyObject*)»:
ufc_benchmark_wrap.cxx:14717: error: no matching function for call to
«ufc::Cell::Cell(unsigned int&, unsigned int&,
std::vector<std::vector<unsigned int, std::allocator<unsigned int> >,
std::allocator<std::vector<unsigned int, std::allocator<unsigned int> >
> >&, std::vector<unsigned int, std::allocator<unsigned int> >&)»
ufc_reference_cell.h:180: note: candidates are: ufc::Cell::Cell(unsigned
int, unsigned int, std::vector<std::vector<double,
std::allocator<double> >, std::allocator<std::vector<double,
std::allocator<double> > > >, std::vector<unsigned int,
std::allocator<unsigned int> >)
ufc_reference_cell.h:176: note:                 ufc::Cell::Cell(const
ufc::Cell&)
error: command 'gcc' failed with exit status 1

Kent

On fr., 2008-12-05 at 14:07 +0100, Kristian Oelgaard wrote:
> _______________________________________________
> UFC-dev mailing list
> [email-masked]
> http://fenics.org/mailman/listinfo/ufc-dev

---

From: Kristian Oelgaard <[email-masked]>
Date: Fri, 05 Dec 2008 18:25:32 +0100

> I don't get the same problem as you. I get: 

Is that for a fresh clone of UFC?

I solved my problems by using 'unsigned int' instead of 'uint' in ufc_data.h
and by including <string.h> at the top, otherwise 'memset' doesn't work.

Kristian
 
> ‘rank’ 
> ‘rank’ 
> ‘rank’ 
> ‘rank’ 
> ‘rank’ 
> ‘rank’ 
> > byte-compiling
> /home/oelgaard/local/lib/python2.5/site-packages/ufc_benchmark.py
> > to ufc_benchmark.pyc                         
> > running install_egg_info                                                   
>    
> >                                               
> > Removing
> >
> > --enable-threads=posix --enable-nls
> --with-gxx-include-dir=/usr/include/c++/4.3

---

From: "Garth N. Wells" <[email-masked]>
Date: Fri, 05 Dec 2008 17:38:15 +0000

> I solved my problems by using 'unsigned int' instead of 'uint' in ufc_data.h

Sounds like someone is used to using the DOLFIN typedefs.

> and by including <string.h> at the top, otherwise 'memset' doesn't work.

I would say that the last point is needed for updating to gcc 4.3.2 
which doesn't include as many header files as it once did. DOLFIN has 
already been updated for this.

Garth

---

From: "Martin Sandve Alnæs" <[email-masked]>
Date: Wed, 10 Dec 2008 10:58:01 +0100

Note that the correct way to include C standard library headers
in C++ is not <string.h> but <cstring> etc.

http://www.cplusplus.com/reference/clibrary/

As you know, string.h still works, but it is deprecated.

--
Martin

---

From: Kristian Oelgaard <[email-masked]>
Date: Wed, 10 Dec 2008 11:08:19 +0100

> As you know, string.h still works, but it is deprecated.

OK, nevertheless, could someone with write access to UFC make the appropriate
changes? (<cstring>, uint --> unsigned int in ufc_data.h)

Kristian
 
> >>> ufc_benchmark_wrap.cxx: In function Â«PyObject*
> _wrap_new_Cell(PyObject*,
> >>> PyObject*)Â»:
> >>> Â«ufc::Cell::Cell(unsigned int&, unsigned int&,
> >>>>> &, std::vector<unsigned int, std::allocator<unsigned int> >&)Â»
> >>>> ufc_data.h:138: error: â€˜uintâ€™ does not name a type
> >>>
> >>>>
> >>>> ufc_data.h:139: error: â€˜uintâ€™ does not name a type
> >>>
> >>>>
> >>>> ufc_data.h:140: error: â€˜uintâ€™ does not name a type
> >>>
> >>>>
> >>>> ufc_data.h:141: error: â€˜uintâ€™ does not name a type
> >>>
> >>>>
> >>>> ufc_data.h:143: error: ISO C++ forbids declaration of â€˜uintâ€™ with
> no
> >>> type
> >>>>
> >>>> ufc_data.h:143: error: expected â€˜;â€™ before â€˜*â€™ token
> >>>
> >>>>
> >>>> ufc_data.h: In constructor â€˜ufc::ufc_data::ufc_data(const
> ufc::form&)â€™:
> >>>
> >>>>
> >>>> ufc_data.h:24: error: â€˜rankâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:25: error: â€˜num_coefficientsâ€™ was not declared in this
> scope
> >>>
> >>>>
> >>>> ufc_data.h:26: error: â€˜num_argumentsâ€™ was not declared in this
> scope
> >>>
> >>>>
> >>>> ufc_data.h:31: error: â€˜dimensionsâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:31: error: expected type-specifier before â€˜uintâ€™
> >>>
> >>>>
> >>>> ufc_data.h:31: error: expected `;' before â€˜uintâ€™
> >>>
> >>>>
> >>>> ufc_data.h:33: error: â€˜uintâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:33: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:33: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:48: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:48: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:53: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:53: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:58: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:58: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:64: error: â€˜A_sizeâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:65: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:65: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:75: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:75: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:81: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:81: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:83: error: expected `;' before â€˜dimâ€™
> >>>
> >>>>
> >>>> ufc_data.h:84: error: â€˜dimâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:85: error: â€˜memsetâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:90: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:90: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:92: error: expected `;' before â€˜dimâ€™
> >>>
> >>>>
> >>>> ufc_data.h:93: error: â€˜dimâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:94: error: â€˜memsetâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h: In destructor â€˜ufc::ufc_data::~ufc_data()â€™:
> >>>
> >>>>
> >>>> ufc_data.h:100: error: â€˜uintâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:100: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:100: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:100: error: â€˜num_argumentsâ€™ was not declared in this
> scope
> >>>
> >>>>
> >>>> ufc_data.h:103: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:103: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:103: error: â€˜num_argumentsâ€™ was not declared in this
> scope
> >>>
> >>>>
> >>>> ufc_data.h:106: error: â€˜dimensionsâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:108: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:108: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:111: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:111: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:114: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:114: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:117: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:117: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:117: error: â€˜num_coefficientsâ€™ was not declared in this
> >>> scope
> >>>>
> >>>> ufc_data.h:121: error: expected `;' before â€˜iâ€™
> >>>
> >>>>
> >>>> ufc_data.h:121: error: â€˜iâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:121: error: â€˜num_coefficientsâ€™ was not declared in this
> >>> scope
> >>>>
> >>>> ufc_data.h: In member function â€˜void
> ufc::ufc_data::print_tensor()â€™:
> >>>
> >>>>
> >>>> ufc_data.h:155: error: â€˜rankâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:157: error: â€˜dimensionsâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:159: error: â€˜rankâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_data.h:161: error: â€˜dimensionsâ€™ was not declared in this scope
> >>>
> >>>>
> >>>> ufc_benchmark.cpp: In function â€˜std::vector<std::vector<double,
> >>>> std::allocator<std::vector<double, std::allocator<double> > > >,
> int)â€™:
> >>>
> >>>>
> >>>> ufc_benchmark.cpp:154: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜num_coefficientsâ€™
> >>>> ufc_benchmark.cpp:156: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜num_coefficientsâ€™
> >>>> ufc_benchmark.cpp:158: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:158: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp:160: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:160: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp:174: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp:176: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:177: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:179: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:180: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:182: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:186: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp:188: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:189: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:195: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp: In function â€˜std::vector<std::vector<double,
> >>>> int)â€™:
> >>>> ufc_benchmark.cpp:214: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜num_coefficientsâ€™
> >>>> ufc_benchmark.cpp:216: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜num_coefficientsâ€™
> >>>> ufc_benchmark.cpp:218: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:218: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp:220: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:220: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp:231: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp:233: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:234: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:236: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:237: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:239: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:243: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp:245: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:246: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:252: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp: In function â€˜std::vector<std::vector<double,
> >>>> int, int)â€™:
> >>>> ufc_benchmark.cpp:271: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜num_coefficientsâ€™
> >>>> ufc_benchmark.cpp:273: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜num_coefficientsâ€™
> >>>> ufc_benchmark.cpp:275: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:275: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp:277: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:277: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp:288: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>>
> >>>> ufc_benchmark.cpp:290: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:291: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:293: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:294: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:296: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:300: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>> ufc_benchmark.cpp:302: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:303: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:309: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>> ufc_benchmark.cpp: In function â€˜std::vector<std::vector<double,
> >>>> ufc::cell&, int, int, int)â€™:
> >>>> ufc_benchmark.cpp:329: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜num_coefficientsâ€™
> >>>> ufc_benchmark.cpp:331: error: â€˜class ufc::ufc_dataâ€™ has no member
> >>> named
> >>>> â€˜num_coefficientsâ€™
> >>>> ufc_benchmark.cpp:333: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:333: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>> ufc_benchmark.cpp:335: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:335: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>> ufc_benchmark.cpp:346: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>> ufc_benchmark.cpp:348: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:349: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:351: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:352: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:354: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:358: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>> ufc_benchmark.cpp:360: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:361: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜dimensionsâ€™
> >>>> ufc_benchmark.cpp:367: error: â€˜class ufc::ufc_dataâ€™ has no member
> named
> >>> â€˜rankâ€™
> >>>> ufc_benchmark_wrap.cxx -o
> build/temp.linux-i686-2.5/ufc_benchmark_wrap.o
> >>>
> >>>>

---

From: "Martin Sandve Alnæs" <[email-masked]>
Date: Wed, 10 Dec 2008 14:32:02 +0100

I don't have g++ 4.3 on my system, tell me if it works now.

-- 
Martin

2008/12/10 Kristian Oelgaard <[email-masked]>:
>> >>> ufc::cell,
>> >>> ufc::cell&,
>> >>> ufc::cell&,

---

From: Kristian Oelgaard <[email-masked]>
Date: Wed, 10 Dec 2008 14:40:41 +0100

> I don't have g++ 4.3 on my system, tell me if it works now.

It works, I do, however, get the following warnings (which I also got before):

Kristian

> >> >>> std::allocator<std::vector<unsigned int, std::allocator<unsigned int>
> >

---

From: "Martin Sandve Alnæs" <[email-masked]>
Date: Wed, 10 Dec 2008 14:48:43 +0100

Those flags are added by distutils, I don't know how to get rid of them.

-- 
Martin

---

From: Kristian Oelgaard <[email-masked]>
Date: Wed, 10 Dec 2008 14:53:36 +0100

> Those flags are added by distutils, I don't know how to get rid of them.

OK, I don't mind as long as it doesn't break the compilation.

Kristian
 
> >> >> >>> cc1plus: warning: command line option "-Wstrict-prototypes" is
> valid
> >> for
> >> >> >>> std::vector<std::vector<unsigned int, std::allocator<unsigned int>
> >,
> >> >> >>>> cc1plus: warning: command line option "-Wstrict-prototypes" is
> valid
> >> >> for
> >> >> >>>> std::allocator<double> > > >
> tabulate_exterior_facet_integral(const
> >> >> >>> ufc::form&,
> >> >> >>>> std::allocator<double> > > >
> tabulate_interior_facet_integral(const
> >> >> >>> ufc::form&,
> >> >> >>>> oelgaard@mech028:~/fenics/ufc/src/utils/python/ufc_benchmark$
> python
> >> >> >>> setup.py
> >> >> >>>> cc1plus: warning: command line option "-Wstrict-prototypes" is
> valid
> >> >> for
> >> >> >>>> cc1plus: warning: command line option "-Wstrict-prototypes" is
> valid
> >> >> for