getfem-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Getfem-users] file error(compilation)


From: Yves Renard
Subject: Re: [Getfem-users] file error(compilation)
Date: Mon, 30 May 2016 10:06:34 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0


Dear Asim,

the macro `GMM_STANDARD_CATCH_ERROR` has only to be used with a try instruction

try {
 .. C++-commands ...
} GMM_STANDARD_CATCH_ERROR;

but this is not mandatory at all.

Yves.


Le 28/05/2016 21:15, asim ullah khan a écrit :

Dear Expert users,
thanks fro the prompt reply.

I have written the following command on my command line
 
g++ -std=c++11 -I /usr/local/include -o result.o

(my include directory has following three folders
1- getfem
2-gmm
3- getfem_boost )

Now some error hs been solved but still some exist is that due to some wrong making of library Although it has passed 37 test out of 38 results.
error list is as under

laplacian.cc: In member function ‘void laplacian_problem::init()’:
laplacian.cc:122:37: error: expected primary-_expression_ before ‘catch’
   std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
                                     ^
laplacian.cc:122:37: error: expected primary-_expression_ before ‘catch’
   std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
                                     ^
laplacian.cc:122:37: error: expected primary-_expression_ before ‘catch’
   std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
                                     ^
laplacian.cc:122:37: error: expected primary-_expression_ before ‘catch’
   std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
                                     ^
laplacian.cc:122:37: error: expected primary-_expression_ before ‘catch’
   std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
                                     ^
laplacian.cc:122:37: error: expected primary-_expression_ before ‘catch’
   std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
                                     ^
laplacian.cc:122:37: error: expected primary-_expression_ before ‘catch’
   std::vector<size_type> nsubdiv(N);GMM_STANDARD_CATCH_ERROR
                                     ^
laplacian.cc: In member function ‘void laplacian_problem::assembly()’:
laplacian.cc:196:38: error: ‘o’ was not declared in this scope
   size_type nb_dof = mf_u.nb_dof();1-o=c++11
                                      ^
laplacian.cc:196:40: error: ‘c’ was not declared in this scope
   size_type nb_dof = mf_u.nb_dof();1-o=c++11
                                        ^
laplacian.cc:209:30: error: ‘nb_dof_rhs’ was not declared in this scope
   std::vector<scalar_type> F(nb_dof_rhs);
                              ^
laplacian.cc: In member function ‘bool laplacian_problem::solve()’:
laplacian.cc:291:54: error: ‘o’ was not declared in this scope
        << gmm::uclock_sec() - time << " seconds\n";1-o=c++11
                                                      ^
laplacian.cc:291:56: error: ‘c’ was not declared in this scope
        << gmm::uclock_sec() - time << " seconds\n";1-o=c++11



I have been stuck with this library from two weeks. so I must to produce some result to defey my claim for using this library for my PhD work. thanking in advance
regards


ASIM ULLAH KHAN




From: address@hidden
To: address@hidden
Subject: Re: [Getfem-users] file error(compilation)
Date: Sat, 28 May 2016 15:00:07 +0000

Dear Asim,
You forgot to mention the include directory in the line you use to compile, you should add to that line -I/yourincludepath. For example in my case I compile with 
g++ -o output.o laplacian.cc -I/usr/local/getfem-4.3-11/include

Also, when you create the executable file, you should add the linking directory with -L/yourlinkpath, 
which in my case is /usr/local/getfem-4.3-11/lib/libgetfem.a 

So to create an executable out of laplacian.cc, I would do
g++ -o output laplacian.cc -I/usr/local/getfem-4.3-11/include -L/usr/local/getfem-4.3-11/lib/libgetfem.a 

Of course in your case the directories will be different.

Best,

Bianca 

Il giorno 28 mag 2016, alle ore 15:35, asim ullah khan <address@hidden> ha scritto:


Respected Users,


I have followed following steps
1- first i configure using command given on webpage
2- i make and than make test
3- i make install

(my test report passed 37 out of 38 tests)

after that i want to make some basic program in getfem++, so for understanding the method of writing program i picked one example from
test folder and copied it to /document/test1
i picked two files
laplacian.cc and laplacian.pram

than i have given the following command on my terminal

g++ -o output.o laplacian.cc
(same command is also tried with      'make laplacian' )
follwing list of error generated as below

error
In file included from /usr/local/include/getfem/getfem_mesh_slice.h:40:0,
                 from /usr/local/include/getfem/getfem_export.h:42,
                 from laplacian.cc:35:
/usr/local/include/getfem/getfem_mesh_slicers.h:450:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
     std::unique_ptr<const mesh_slice_cv_dof_data_base> mfU;
          ^
/usr/local/include/getfem/getfem_mesh_slicers.h: In constructor ‘getfem::slicer_isovalues::slicer_isovalues(const getfem::mesh_slice_cv_dof_data_base&, bgeot::scalar_type, int)’:
/usr/local/include/getfem/getfem_mesh_slicers.h:468:31: error: class ‘getfem::slicer_isovalues’ does not have any field named ‘mfU’
       slicer_volume(orient_), mfU(mfU_.clone()), val(val_) {
                               ^
In file included from /usr/local/include/gmm/gmm_ref.h:46:0,
                 from /usr/local/include/gmm/gmm_def.h:40,
                 from /usr/local/include/gmm/gmm_kernel.h:41,
                 from /usr/local/include/getfem/getfem_assembling_tensors.h:40,
                 from /usr/local/include/getfem/getfem_assembling.h:44,
                 from laplacian.cc:34:
/usr/local/include/getfem/getfem_mesh_slicers.h:469:7: error: ‘mfU’ was not declared in this scope
       GMM_ASSERT1(mfU->pmf->get_qdim() == 1,
       ^
In file included from /usr/local/include/getfem/getfem_mesh_slice.h:40:0,
                 from /usr/local/include/getfem/getfem_export.h:42,
                 from laplacian.cc:35:
/usr/local/include/getfem/getfem_mesh_slicers.h:471:23: error: ‘mfU’ was not declared in this scope
         val_scaling = mfU->maxval();
                       ^
In file included from laplacian.cc:35:0:
/usr/local/include/getfem/getfem_export.h: At global scope:
/usr/local/include/getfem/getfem_export.h:73:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
     std::unique_ptr<mesh_fem> pmf;
          ^
/usr/local/include/getfem/getfem_export.h: In member function ‘void getfem::vtk_export::write_point_data(const getfem::mesh_fem&, const VECT&, const string&)’:
/usr/local/include/getfem/getfem_export.h:203:34: error: ‘pmf’ was not declared in this scope
       std::vector<scalar_type> V(pmf->nb_dof() * Q);
                                  ^
/usr/local/include/getfem/getfem_export.h: In member function ‘void getfem::vtk_export::write_dataset_(const VECT&, const string&, bgeot::size_type, bool)’:
/usr/local/include/getfem/getfem_export.h:240:22: error: ‘pmf’ was not declared in this scope
                    : pmf->linked_mesh().convex_index().card();
                      ^
/usr/local/include/getfem/getfem_export.h: At global scope:
/usr/local/include/getfem/getfem_export.h:296:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
     std::unique_ptr<mesh_fem> pmf;
          ^
/usr/local/include/getfem/getfem_export.h: In member function ‘void getfem::dx_export::write_point_data(const getfem::mesh_fem&, const VECT&, std::__cxx11::string)’:
/usr/local/include/getfem/getfem_export.h:449:34: error: ‘pmf’ was not declared in this scope
       std::vector<scalar_type> V(pmf->nb_dof() * Q);
                                  ^
/usr/local/include/getfem/getfem_export.h: In member function ‘void getfem::dx_export::write_dataset_(const VECT&, std::__cxx11::string, bool)’:
/usr/local/include/getfem/getfem_export.h:485:22: error: ‘pmf’ was not declared in this scope
                    : pmf->linked_mesh().convex_index().card();
                      ^
/usr/local/include/getfem/getfem_export.h: At global scope:
/usr/local/include/getfem/getfem_export.h:551:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
     std::unique_ptr<mesh_fem> pmf;
          ^
/usr/local/include/getfem/getfem_export.h: In member function ‘void getfem::pos_export::write(const getfem::mesh_fem&, const VECT&, const string&)’:
/usr/local/include/getfem/getfem_export.h:616:34: error: ‘pmf’ was not declared in this scope
       std::vector<scalar_type> V(pmf->nb_dof()*qdim_u);
                                  ^
laplacian.cc: At global scope:
laplacian.cc:76:27: error: ‘std’ does not name a type
 struct laplacian_problem {std
                           ^
laplacian.cc: In member function ‘void laplacian_problem::init()’:
laplacian.cc:149:3: error: expected primary-_expression_ before ‘getfem’
   getfem::pfem pf_u = getfem::fem_descriptor(FEM_TYPE);
   ^
laplacian.cc:153:48: error: ‘pf_u’ was not declared in this scope
   mf_u.set_finite_element(mesh.convex_index(), pf_u);
                                                ^
laplacian.cc:190:19: error: ‘NEUMANN_BOUNDARY_NUM’ was not declared in this scope
       mesh.region(NEUMANN_BOUNDARY_NUM).add(i.cv(), i.f());
                   ^
laplacian.cc:192:19: error: ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
       mesh.region(DIRICHLET_BOUNDARY_NUM).add(i.cv(), i.f());
                   ^
laplacian.cc: In member function ‘void laplacian_problem::assembly()’:
laplacian.cc:219:6: error: ‘NEUMANN_BOUNDARY_NUM’ was not declared in this scope
      NEUMANN_BOUNDARY_NUM);
      ^
laplacian.cc:226:9: error: ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
         DIRICHLET_BOUNDARY_NUM, D);
         ^
laplacian.cc:239:18: error: ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
       mf_rhs, F, DIRICHLET_BOUNDARY_NUM);

than i also tried to build by using -std=c++11 switch but folllowing list of errors are listed

laplacian.cc:76:27: error: ‘std’ does not name a type
 struct laplacian_problem {std
                           ^
laplacian.cc: In member function ‘void laplacian_problem::init()’:
laplacian.cc:149:3: error: expected primary-_expression_ before ‘getfem’
   getfem::pfem pf_u = getfem::fem_descriptor(FEM_TYPE);
   ^
laplacian.cc:153:48: error: ‘pf_u’ was not declared in this scope
   mf_u.set_finite_element(mesh.convex_index(), pf_u);
                                                ^
laplacian.cc:190:19: error: ‘NEUMANN_BOUNDARY_NUM’ was not declared in this scope
       mesh.region(NEUMANN_BOUNDARY_NUM).add(i.cv(), i.f());
                   ^
laplacian.cc:192:19: error: ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
       mesh.region(DIRICHLET_BOUNDARY_NUM).add(i.cv(), i.f());
                   ^
laplacian.cc: In member function ‘void laplacian_problem::assembly()’:
laplacian.cc:219:6: error: ‘NEUMANN_BOUNDARY_NUM’ was not declared in this scope
      NEUMANN_BOUNDARY_NUM);
      ^
laplacian.cc:226:9: error: ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
         DIRICHLET_BOUNDARY_NUM, D);
         ^
laplacian.cc:239:18: error: ‘DIRICHLET_BOUNDARY_NUM’ was not declared in this scope
       mf_rhs, F, DIRICHLET_BOUNDARY_NUM);

can you help me in  understanding the problem. I am not so good in programming at advance level. I there any problem while reading the file from parameter file

Is there also any compiled tutorials for getfem++ using C++ without any interface.

thanking in advance
REgards

ASIM ULLAH KHAN




Subject: Re: [Getfem-users] any comprehensive guide
To: address@hidden; address@hidden
From: address@hidden
Date: Fri, 27 May 2016 08:15:07 +0200



Dear Asim Ullah Khan,

It should work if you performed a "make install". Can you report the error you got ?

Yves.


Le 26/05/2016 17:55, asim ullah khan a écrit :
Respected group memebers

Is there any detailed guide for getfem with steps to follow for making a fem program. The examples given in test code i tried to compiled them using eclipse but i am not successful. I m newbe to ubuntu and has just shifted from windows.

I am copying test files with parameter file in the seperate folder and than open that file in eclipse CDT for c++ and than try to understand and when i issue the command

$ g++  -std=c++11 inputfilename.cc  -o outputfilename.o i get compilation failed although all library files are already in the include folder

(I m using ubuntu 15.10)

Is there any detailed document to describe the step to follow for compiling the files and detailed tutorials set.

Regards

ASIM ULLAH KHAN



_______________________________________________
Getfem-users mailing list
address@hidden
https://mail.gna.org/listinfo/getfem-users


-- 

  Yves Renard (address@hidden)       tel : (33) 04.72.43.87.08
  Pole de Mathematiques, INSA-Lyon             fax : (33) 04.72.43.85.29
  20, rue Albert Einstein
  69621 Villeurbanne Cedex, FRANCE
  http://math.univ-lyon1.fr/~renard

---------



_______________________________________________
Getfem-users mailing list
address@hidden
https://mail.gna.org/listinfo/getfem-users


_______________________________________________
Getfem-users mailing list
address@hidden
https://mail.gna.org/listinfo/getfem-users


-- 

  Yves Renard (address@hidden)       tel : (33) 04.72.43.87.08
  Pole de Mathematiques, INSA-Lyon             fax : (33) 04.72.43.85.29
  20, rue Albert Einstein
  69621 Villeurbanne Cedex, FRANCE
  http://math.univ-lyon1.fr/~renard

---------

reply via email to

[Prev in Thread] Current Thread [Next in Thread]