Hello,

yes I manually changed the flags -Mno-omit-frame-pointer to -Mnoframe because 
that is what PGI told me was their equivalent flag. However reading through the 
man pages I think it is actually -Mframe. I tried this one, too, but no success 
(same error).
I now tried building only in dbg mode and like that it seems to compile and run 
through all tests without errors.
I am going to run the other tests through a debugger once I can update my PGI 
license and use the debugger.

Sincerely



On Feb 13, 2015, at 4:08 PM, John Peterson 
<[email protected]<mailto:[email protected]>> wrote:



On Fri, Feb 13, 2015 at 5:10 AM, 
<[email protected]<mailto:[email protected]>> wrote:


Hello,

I am using PGI compilers 15.1 on a Ubuntu 14.04 system.
I would like to install the MOOSE framework. In order to do so I am first 
trying to install libMesh.
The configuration and compilation steps seem to run fine and they finish. But 
when typing 'make check' there is an error at a certain step.
When I compile with METHODS='opt oprof dbg' I get the following error in make 
check:
make[3]: `example-dbg' is up to date.
make[3]: `example-opt' is up to date.
  CXXLD    example-oprof
../../../.libs/libmesh_oprof.a(libmesh_oprof_la-tree_node.o): In function 
`.st50665':
tree_node.C:(.gnu.linkonce.r._ZNK7libMesh8TreeNodeILj2EE19create_bounding_boxEj[_ZNK7libMesh8TreeNodeILj2EE19create_bounding_boxEj]+0x0):
 undefined reference to `.LB14852'

make[3]: *** [example-oprof] Error 2

This error appears to be related to explicit template instantiation of the 
TreeNode<T> class, create_bounding_box() is one of its member functions.  
According to demangler.com<http://demangler.com>, specifically the binary and 
quad-tree instantiations:

> libMesh::TreeNode<2u>::create_bounding_box(unsigned int) const
> libMesh::TreeNode<4u>::create_bounding_box(unsigned int) const

This is a fairly straightforward use of explicit instantiation, so I think the 
code is correct.  The only real difference between opt and oprof modes is that, 
in oprof mode, we pass "-g -fno-omit-frame-pointer" to the compiler. As per 
your email to the moose-users list, you mentioned changing this flag:

> I have to change the flags '-fno-omit-frame-pointer' to the PGI-flag 
> '-Mnoframe'

Did you manually remove -fno-omit-frame-pointer from the flags in opt mode as 
well as adding -Mnoframe?




When I compile with METHODS='opt dbg' I get the following message in make check:
***************************************************************
* Running Example miscellaneous_ex8:
*   example-opt
***************************************************************

Generating 100 point cloud...done
bounding box is
(x,y,z)=(    0.11,     0.34,     0.19)
(x,y,z)=(    9.96,     9.65,     9.96)
bounding box is
(x,y,z)=(    0.11,     0.34,     0.19)
(x,y,z)=(    9.96,     9.65,     9.96)
r_bbox = 16.7078
rbf(r_bbox/2) = 0.1875
[0]PETSC ERROR: 
------------------------------------------------------------------------
[0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably 
memory access out of range


This is the nanoflann example.  nanoflann is a heavily-templated contrib 
library.  I don't know too much about it, but we've never had issues with this 
example on any other compilers so I again have to suspect PGI.

As Paul mentioned, we would need a stack trace in debug mode from the same 
example to be able to say more...

--
John
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to