Personal tools
You are here: Home Forum Install & build problems with meshing

problems with meshing

Up to Install & build

problems with meshing

Posted by Manav Bhatia at May 05. 2008
Hi,

  I am getting the following error message when I try to run an example problem in Salome 3.2.6

Does this look familiar to anyone? Any suggestions on how to sort this out?

>>> import AngleBracket
Traceback (most recent call last):
  File "", line 1, in ?
  File "/home/manav/packages/salome_3.2.6//KERNEL_3.2.6/lib/python2.3/site-packages/salome/import_hook.py", line 156, in import_hook
    module= original_import(name, globals, locals, fromlist)
  File "AngleBracket.py", line 119, in ?
    algo1 = mesh.Segment()
  File "/home/manav/packages/salome_3.2.6/SMESH_3.2.6/bin/salome/smesh.py", line 1179, in Segment
    return Mesh_Segment(self, geom)
  File "/home/manav/packages/salome_3.2.6/SMESH_3.2.6/bin/salome/smesh.py", line 484, in __init__
    self.Create(mesh, geom, "Regular_1D";)
  File "/home/manav/packages/salome_3.2.6/SMESH_3.2.6/bin/salome/smesh.py", line 451, in Create
    self.algo = smesh.CreateHypothesis(hypo, so)
  File "/home/manav/packages/salome_3.2.6/SMESH_3.2.6/lib/python2.3/site-packages/salome/SMESH_Gen_idl.py", line 232, in CreateHypothesis
    return _omnipy.invoke(self, "CreateHypothesis", _0_SMESH.SMESH_Gen._d_CreateHypothesis, args)
SALOME.SALOME_Exception: SALOME.SALOME_Exception(details=SALOME.ExceptionStruct(type=BAD_PARAM, text='Salome Exception : /home/manav/packages/salome_3.2.6/SMESH_3.2.6/lib/salome/libStdMeshers.so.0: undefined symbol: _ZN120_GLOBAL__N__home_manav_packages_salome_3.2.6_SMESH_SRC_3.2.6_src_StdMeshers_StdMeshers_Propagation.cxx_00000000_7567296614PropagationMgr9GetSourceEP13SMESH_subMesh', sourceFile='/home/manav/packages/salome_3.2.6/SMESH_SRC_3.2.6/src/SMESH_I/SMESH_Gen_i.cxx', lineNumber=355L))
>>>

Thanks in advance for your help.

Regards,
Manav

PS:
Does anyone know when the salome package will be updated online? This issue has been brought up on the forum a number of times, but no information has been shared with the users on this issue.
Now that the source is available to the developers, what is hindering them from making it available online?
If there is a shift in policy of making updates available online, then the user community needs to know. There are too many people putting too much time trying to sort out the same issues.


Re: problems with meshing

Posted by Manav Bhatia at May 05. 2008
Manav Bhatia wrote:
Hi,

  I am getting the following error message when I try to run an example problem in Salome 3.2.6

Does this look familiar to anyone? Any suggestions on how to sort this out?

>>> import AngleBracket
Traceback (most recent call last):
  File "", line 1, in ?
  File "/home/manav/packages/salome_3.2.6//KERNEL_3.2.6/lib/python2.3/site-packages/salome/import_hook.py", line 156, in import_hook
    module= original_import(name, globals, locals, fromlist)
  File "AngleBracket.py", line 119, in ?
    algo1 = mesh.Segment()
  File "/home/manav/packages/salome_3.2.6/SMESH_3.2.6/bin/salome/smesh.py", line 1179, in Segment
    return Mesh_Segment(self, geom)
  File "/home/manav/packages/salome_3.2.6/SMESH_3.2.6/bin/salome/smesh.py", line 484, in __init__
    self.Create(mesh, geom, "Regular_1D";)
  File "/home/manav/packages/salome_3.2.6/SMESH_3.2.6/bin/salome/smesh.py", line 451, in Create
    self.algo = smesh.CreateHypothesis(hypo, so)
  File "/home/manav/packages/salome_3.2.6/SMESH_3.2.6/lib/python2.3/site-packages/salome/SMESH_Gen_idl.py", line 232, in CreateHypothesis
    return _omnipy.invoke(self, "CreateHypothesis", _0_SMESH.SMESH_Gen._d_CreateHypothesis, args)
SALOME.SALOME_Exception: SALOME.SALOME_Exception(details=SALOME.ExceptionStruct(type=BAD_PARAM, text='Salome Exception : /home/manav/packages/salome_3.2.6/SMESH_3.2.6/lib/salome/libStdMeshers.so.0: undefined symbol: _ZN120_GLOBAL__N__home_manav_packages_salome_3.2.6_SMESH_SRC_3.2.6_src_StdMeshers_StdMeshers_Propagation.cxx_00000000_7567296614PropagationMgr9GetSourceEP13SMESH_subMesh', sourceFile='/home/manav/packages/salome_3.2.6/SMESH_SRC_3.2.6/src/SMESH_I/SMESH_Gen_i.cxx', lineNumber=355L))
>>>

Thanks in advance for your help.

Regards,
Manav

PS:
Does anyone know when the salome package will be updated online? This issue has been brought up on the forum a number of times, but no information has been shared with the users on this issue.
Now that the source is available to the developers, what is hindering them from making it available online?
If there is a shift in policy of making updates available online, then the user community needs to know. There are too many people putting too much time trying to sort out the same issues.


Hi,

 I am replying to my post. I looked at the library and found the method for which the exception was thrown. Can anyone suggest any methods to correct this.

$ nm ../salome_3.2.6/SMESH_3.2.6/lib/salome/libStdMeshers.so | grep Propagation
.... (more methods) ....
         U _ZN120_GLOBAL__N__home_manav_packages_salome_3.2.6_SMESH_SRC_3.2.6_src_StdMeshers_StdMeshers_Propagation.cxx_00000000_7567296614PropagationMgr9GetSourceEP13SMESH_subMesh
.... (more methods) ....

Any help will be appreciated.

Regards,
Manav


Re: problems with meshing

Posted by Christophe Bourcier at May 05. 2008
Hi

"Undefined symbol" means that a library is missing or that its version differs from the one Salome was compiled with.

To solve this:
- source salome environnement
- type: ldd /home/manav/packages/salome_3.2.6/SMESH_3.2.6/lib/salome/libStdMeshers.so.0
and solve the "not found" libraries by adding them via your package manager.

Christophe

Re: problems with meshing

Posted by Manav Bhatia at May 05. 2008
Christophe Bourcier wrote:
Hi

"Undefined symbol" means that a library is missing or that its version differs from the one Salome was compiled with.

To solve this:
- source salome environnement
- type: ldd /home/manav/packages/salome_3.2.6/SMESH_3.2.6/lib/salome/libStdMeshers.so.0
and solve the "not found" libraries by adding them via your package manager.

Christophe

Thanks, Christophe. I will give this a try today.
I have one question:
Instead of writing a python script, is it possible to write a C++ code to create a geometry, mesh it and write the mesh to a file. This will then have to be linked to the respective libraries.
For this, is there a general makefile available? I looked into the HELLO module, but it seems to use CORBA components.
Is it necessary to use CORBA if I do not need to build any salome module, but only need to link against it?

Regards,
Manav


Re: problems with meshing

Posted by Manav Bhatia at May 05. 2008
Manav Bhatia wrote:
Christophe Bourcier wrote:
Hi

"Undefined symbol" means that a library is missing or that its version differs from the one Salome was compiled with.

To solve this:
- source salome environnement
- type: ldd /home/manav/packages/salome_3.2.6/SMESH_3.2.6/lib/salome/libStdMeshers.so.0
and solve the "not found" libraries by adding them via your package manager.

Christophe

Thanks, Christophe. I will give this a try today.
I have one question:
Instead of writing a python script, is it possible to write a C++ code to create a geometry, mesh it and write the mesh to a file. This will then have to be linked to the respective libraries.
For this, is there a general makefile available? I looked into the HELLO module, but it seems to use CORBA components.
Is it necessary to use CORBA if I do not need to build any salome module, but only need to link against it?

Regards,
Manav


I found the documentation hxx2salome.pdf that has provided me with the necessary guidance. Is there anything else that I should read?

Regards,
Manav

Re: problems with meshing

Posted by Manav Bhatia at May 06. 2008
Christophe Bourcier wrote:
Hi

"Undefined symbol" means that a library is missing or that its version differs from the one Salome was compiled with.

To solve this:
- source salome environnement
- type: ldd /home/manav/packages/salome_3.2.6/SMESH_3.2.6/lib/salome/libStdMeshers.so.0
and solve the "not found" libraries by adding them via your package manager.

Christophe

Hi Christophe,

   I looked into this, and followed your suggestion to check the dependencies and all libraries are in the path.
The error is for the method named:

(anonymous namespace)::PropagationMgr::GetSource(SMESH_subMesh*)

from the file StdMeshers_Propagation.cxx in SMESH_SRC_3.2.6/src/StdMeshers. The linker is able to find this file in the library, and upon doing an nm on the library, I find that the method is undefined (U with it).

$ nm --demangle -u /home/manav/packages/salome_3.2.6/SMESH_3.2.6/lib/salome/libStdMeshers.so.0 | grep GetSou

         U (anonymous namespace)::PropagationMgr::GetSource(SMESH_subMesh*)

I looked into the build process for this library and found that the compilation of the .cxx file defining this method also creates a file where the method is undefined (the compilation options here are from the build process):

$ /usr/bin/g++ -Wno-deprecated -Wparentheses -Wreturn-type -fmessage-length=0 -Wunused -pipe -O -pthread -DOMNIORB_VERSION=4 -D__x86__ -D__linux__ -DCOMP_CORBA_DOUBLE -DCOMP_CORBA_LONG -funsigned-char -I/home/manav/packages/salome_3.2.6//KERNEL_3.2.6/include/salome -I/home/manav/packages/salome_3.2.6//GEOM_3.2.6/include/salome -DPCLINUX -I../../include/salome -I/home/manav/packages/salome_3.2.6/SMESH_SRC_3.2.6/src/StdMeshers -I. -I/home/manav/packages/salome_3.2.6/omniORB-4.0.7/include -I/home/manav/packages/salome_3.2.6/omniORB-4.0.7/include/omniORB4 -I/home/manav/packages/salome_3.2.6/omniORB-4.0.7/include/COS -DOCC_VERSION_MAJOR=6 -DOCC_VERSION_MINOR=2 -DOCC_VERSION_MAINTENANCE=0 -DLIN -DLINTEL -DCSFDB -DNo_exception -DHAVE_CONFIG_H -DHAVE_LIMITS_H -DHAVE_WOK_CONFIG_H -DOCC_CONVERT_SIGNALS -I/home/manav/packages/salome_3.2.6/CAS-6.2/inc -I/home/manav/packages/salome_3.2.6/boost-1.32.0/include -I/home/manav/packages/salome_3.2.6//KERNEL_3.2.6/include/salome -DPCLINUX -c /home/manav/packages/salome_3.2.6/SMESH_SRC_3.2.6/src/StdMeshers/StdMeshers_Propagation.cxx  -fPIC -DPIC -o StdMeshers_Propagation.lo



And an nm on the resulting .lo file gives

manav@LCA:~/packages/salome_3.2.6/SMESH_BUILD/src/StdMeshers$ nm --demangle  StdMeshers_Propagation.lo  | grep GetSour
         U (anonymous namespace)::PropagationMgr::GetSource(SMESH_subMesh*)
000001fe t (anonymous namespace)::PropagationMgrData::GetSource() const

If I do an nm of the same library in the salome-meca from CAELinux, then I get the following (where the method is defined)

$ nm --demangle libStdMeshers.so | grep GetSou
000355e4 T (anonymous namespace)::PropagationMgr::GetSource(SMESH_subMesh*)
00035498 T (anonymous namespace)::PropagationMgrData::GetSource() const
00099160 T StdMeshers_ProjectionSource2D::GetSourceFace() const
000991da T StdMeshers_ProjectionSource2D::GetSourceVertex(int) const
0009ac94 T StdMeshers_ProjectionSource3D::GetSourceVertex(int) const
0009ac1a T StdMeshers_ProjectionSource3D::GetSource3DShape() const
manav@LCA:~/packages/SALOME-MECA-2008.1-GPL/SALOME/SALOME3/V3_2_9NoDebug/SMESH_V3_2_9NoDebug/lib/salome$


I would greatly appreciate any help in this regards. There is something about the compilation options, I guess.
Also, I am running Ubuntu 8.04, and I have built everything from scratch using the salome 3.2.6 package and gcc 4.2.3. The runSalome works fine and the geometry module is working without problems.

Kindly help....  :)

Regards,
Manav

 

Powered by Ploneboard
Document Actions