[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

Bartlett, Roscoe A rabartl at sandia.gov
Wed Dec 22 09:50:32 MST 2010


Aytekin,

I don't think that I have never seen this type of link warning/error about 'visibility' before.

Does the code actually link and run okay?  If it does, I would not be too concerned.  Some systems generate strange warnings that seem to be harmless.

- Ross


From: trilinos-users-bounces at software.sandia.gov [mailto:trilinos-users-bounces at software.sandia.gov] On Behalf Of Aytekin Gel
Sent: Tuesday, December 21, 2010 4:14 PM
To: trilinos-users at software.sandia.gov
Cc: Hu, Jonathan
Subject: [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

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/20101222/6568c175/attachment-0001.html 


More information about the Trilinos-Users mailing list