[Trilinos-Users] Inquiry about which C++ std library to use when linking Trilinos 10.6 on MacOS (Snow Leopard) with an application using Intel compilers v 11

Aytekin Gel aike at alpemi.com
Tue Dec 21 16:14:14 MST 2010


Dear Trilinos Developers and Users,

We are encountering the following type of warning messages when attempting
to link our application code with Trilinos library and its interface.

ld: warning: __ZNSt16invalid_argumentD1Ev has different visibility (default)
in
/Users/aike/Work/TRILINOS/install_IFORTdebug/lib/libteuchos.a(Teuchos_RCPNode.cpp.o)
and (hidden) in /usr/lib//libstdc++-static.a(stdexcept.o)

As this message is long I wanted to explain the problem at the top and save
time to determine if these warnings should be a concern or not as I
encounter problems when running the application in the mode to use Trilinos
library solvers (ML and AztecOO).

Any suggestions will be greatly appreciated.

My apologies for the long e-mail and thanks in advance for your time,

Aytekin


P.S.
Here are the details:

I have been trying to compile Trilinos 10.6 on MacOS (Snow Leopard). With
some help I was able to build the package and run demos, which I presume the
Trilinos build is ok on the MacOS with Intel compilers v.11:

% cd /Users/aike/TRILINOS/Trilinos_src/demos/buildAgainstTrilinos/build

% ctest

Test project
/Users/aike/TRILINOS/Trilinos_src/demos/buildAgainstTrilinos/build

    Start 1: ex1

1/2 Test #1: ex1 ..............................   Passed    1.13 sec

    Start 2: ex2

2/2 Test #2: ex2 ..............................   Passed    1.14 sec

100% tests passed, 0 tests failed out of 2

Total Test time (real) =   2.33 sec

The next stage was to generate the executable for our application code,
which would include an interface to Trilinos in order to use the linear
equation solvers and preconditioners.
When linking with our application code (MFIX) using the Fortran to C/C++
interface developed developed by Jonathan to use ML and AztecOO in
Trilinos  (-ltrilinos_interface), we encounter the following Teuchos related
warnings. In order to successfully link the application with  the Trilinos
interface, Jonathan determined C++ std library needs to be included while
testing on his linux box. However, -lstd seems to be the problem as I
couldn't find it on MacOS (I am using Intel compilers for MacOS v11 (Intel
processor)).  Under /usr/lib I was able to find something close but not the
same:
% ls /usr/lib/libst*
/usr/lib/libstdc++-static.a     /usr/lib/libstdc++.6.0.9.dylib
 /usr/lib/libstdc++.6.dylib

so I used -lstdc++-static instead of -lstd for the link stage as shown below
(please disregard Hypre library information as this code has interface to
Hypre library also):

================= begin output from link stage with the application and
Trilinos interface =============

/opt/MPI/openmpi/bin/mpif90   -I.   \

    accum_resid.o \

    adjust_a_u_g.o \

...

...

    transport_coeff_ghd.o \

    get_values.o \

    readTherm.o \

  -o mfix.exe odepack.a -lmkl_intel -lmkl_sequential -lmkl_core

       -L /Users/aike/Work/HYPRE/Hypre.2.0.0_IFORTopt/lib  -lHYPRE_parcsr_ls
 -lHYPRE_parcsr_block_mv  -lHYPRE_DistributedMatrixPilutSolver
                          -lHYPRE_ParaSails  -lHYPRE_Euclid
-lHYPRE_MatrixMatrix  -lHYPRE_DistributedMatrix -lHYPRE_IJ_mv
-lHYPRE_parcsr_mv   -lHYPRE_seq_mv
                                -lHYPRE_krylov -lHYPRE_utilities  \

-L /Users/aike/Work/TRILINOS/install_IFORTdebug/lib -ltrilinos_interface
-lml  -lgaleri -lamesos -laztecoo -lifpack -lisorropia -ltriutils
-lepetraext -lzoltan -lepetra -lteuchos -lC -lstdc++-static


I got the following warning messages during link stage:

ld: warning: __ZNSt16invalid_argumentD1Ev has different visibility (default)
in
/Users/aike/Work/TRILINOS/install_IFORTdebug/lib/libteuchos.a(Teuchos_RCPNode.cpp.o)
and (hidden) in /usr/lib//libstdc++-static.a(stdexcept.o)

ld: warning: __ZTISt16invalid_argument has different visibility (default) in
/Users/aike/Work/TRILINOS/install_IFORTdebug/lib/libteuchos.a(Teuchos_RCPNode.cpp.o)
and (hidden) in /usr/lib//libstdc++-static.a(stdexcept.o)

ld: warning: __ZTSSt16invalid_argument has different visibility (default) in
/Users/aike/Work/TRILINOS/install_IFORTdebug/lib/libteuchos.a(Teuchos_RCPNode.cpp.o)
and (hidden) in /usr/lib//libstdc++-static.a(stdexcept.o)

ld: warning: __ZNSt16invalid_argumentD1Ev has different visibility (hidden)
in /usr/lib//libstdc++-static.a(functexcept.o) and (default) in
/Users/aike/Work/TRILINOS/install_IFORTdebug/lib/libteuchos.a(Teuchos_RCPNode.cpp.o)

ld: warning: __ZTSSt16invalid_argument has different visibility (hidden) in
/usr/lib//libstdc++-static.a(functexcept.o) and (default) in
/Users/aike/Work/TRILINOS/install_IFORTdebug/lib/libteuchos.a(Teuchos_RCPNode.cpp.o)

ld: warning: __ZNSt12out_of_rangeD1Ev has different visibility (default) in
/Users/aike/Work/TRILINOS/install_IFORTdebug/lib/libteuchos.a(Teuchos_StandardParameterEntryValidators.cpp.o)
and (hidden) in /usr/lib//libstdc++-static.a(stdexcept.o)

ld: warning: __ZTISt12out_of_range has different visibility (default) in
/Users/aike/Work/TRILINOS/install_IFORTdebug/lib/libteuchos.a(Teuchos_StandardParameterEntryValidators.cpp.o)
and (hidden) in /usr/lib//libstdc++-static.a(stdexcept.o)

ld: warning: __ZTSSt12out_of_range has different visibility (default) in
/Users/aike/Work/TRILINOS/install_IFORTdebug/lib/libteuchos.a(Teuchos_StandardParameterEntryValidators.cpp.o)
and (hidden) in /usr/lib//libstdc++-static.a(stdexcept.o)

ld: warning: __ZTISt16invalid_argument has different visibility (default) in
/Users/aike/Work/TRILINOS/install_IFORTdebug/lib/libteuchos.a(Teuchos_CommandLineProcessor.cpp.o)
and (hidden) in /usr/lib//libstdc++-static.a(stdexcept.o)

================= end output from link stage with the application and
Trilinos interface =============


When I run the application I got errors mostly due to MPI Communicator as
shown below, but I wanted to ask if these warnings should be of concern as I
want to rule them out as the probable cause of the failure:

================= begin output from the application when executed
=============

...

.....

........

Elapsed CPU time =   -0.131640E+06 sec

 t=    0.0000  Wrote      SPx: 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,
 Disk=   1.80 Mb

 t=    0.0000  Wrote RES;

 Time =   0.0000      Dt =  0.20000E-03    CPU time left =     0.000 s

[mackozmik.local:28176] *** An error occurred in MPI_comm_size

[mackozmik.local:28176] *** on communicator MPI_COMM_WORLD

[mackozmik.local:28176] *** MPI_ERR_COMM: invalid communicator

[mackozmik.local:28176] *** MPI_ERRORS_ARE_FATAL (your MPI job will now
abort)

--------------------------------------------------------------------------

mpirun has exited due to process rank 0 with PID 28176 on

node mackozmik.local exiting without calling "finalize". This may

have caused other processes in the application to be

terminated by signals sent by mpirun (as reported here).

--------------------------------------------------------------------------

[mackozmik.local:28174] 1 more process has sent help message
help-mpi-errors.txt / mpi_errors_are_fatal

[mackozmik.local:28174] Set MCA parameter "orte_base_help_aggregate" to 0 to
see all help / error messages

================= end output from the application when executed
=============

As the same application runs ok with the OpenMPI library in parallel mode
when running without Trilinos solver option, I believe the OpenMPI setup is
correct and furthermore the application runs ok when Trilinos solver is
selected on jaguarpf (Cray XT5 platform at OLCF) so I don't expect any
coding issues originating from the Trilinos interface itself. So I am trying
to rule out possibilities although the link stage messages were only warning
messages and the executable was generated ok.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20101221/30af513f/attachment.html 


More information about the Trilinos-Users mailing list