Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Trilinos
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 936
    • Issues 936
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • James Willenbring
  • Trilinos
  • Issues
  • #2938

Closed
Open
Created Jun 13, 2018 by James Willenbring@jmwilleMaintainer

Tpetra: 'Class with virtual base class and delegating constructor' error under IBM xlC

Created by: djfitzgerald

@trilinos/tpetra

When attempting to unit test a fix I've been working on for #2781 (closed), the IBM XL compiler fails at packages/tpetra/core/src/Tpetra_CrsGraph_def.hpp:651 with error: 1540-2206 Class with virtual base class and delegating constructor is not supported. The failing class definition is as follows:

  template <class LocalOrdinal, class GlobalOrdinal, class Node>
  CrsGraph<LocalOrdinal, GlobalOrdinal, Node>::
  CrsGraph (const Teuchos::RCP<const map_type>& rowMap,
            const Teuchos::RCP<const map_type>& colMap,
            const local_graph_type& k_local_graph_,
            const Teuchos::RCP<Teuchos::ParameterList>& params)
    : CrsGraph (k_local_graph_,
                rowMap,
                colMap,
                Teuchos::null,
                Teuchos::null,
                params)
{}

It looks like this area of code was modified in the recent past, by https://github.com/djfitzgerald/Trilinos/commit/c5fd93a0756df81cb0cda375f135de968372f634 and https://github.com/djfitzgerald/Trilinos/commit/888258fc088fa5276137ce4655a3707bb54fd748. Because I know very little about C++, I'd rather not be the person to attempt fixing it. This is preventing the UT of my fix for #2781 (closed).

I am building Trilinos from Spack, using a Spack repository to recognize a fake Trilinos "version 12.13.1" that points to a working branch in my fork of this GitHub repository. From the hacked Spack package.py file for my local Trilinos install:

version('12.13.1', git='https://github.com/basicmanfitz/Trilinos.git', branch='fix-2781')

My Spack install command is:

spack install --test=root trilinos@12.13.1%xl_r ~pnetcdf ^netlib-lapack+external-blas ^netcdf%gcc ^m4%gcc

And the pertinent text from my Spack build log:

==> Installing trilinos
==> Trying to clone git repository: https://github.com/djfitzgerald/Trilinos.git on branch fix-2781
==> No checksum needed when fetching with git
==> Already staged trilinos-12.13.1-4kl2xjobtvkeiimmeunht447jfdolep2 in /u/danfitz/spack/var/spack/stage/trilinos-12.13.1-4kl2xjobtvkeiimmeunht447jfdolep2
==> Applied patch xlf_seacas.patch
==> Building trilinos [CMakePackage]
==> Executing phase: 'cmake'
==> Executing phase: 'build'
==> Error: ProcessError: Command exited with status 2:
    'make' '-j176'

5 errors found in build log:
     8539    cd /tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packages/ifpack/src && /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/cmak
             e-3.11.3-4joy3z55k5hm6j75ssjougditfpsjh5j/bin/cmake -E cmake_link_script CMakeFiles/ifpack.dir/link.txt --verbose=1
     8540    /opt/ibm/spectrum_mpi/bin/mpixlC  -DMUMPS_5_0 -std=gnu++11 -g  -qmkshrobj -Wl,-soname,libifpack.so.12 -o libifpack.so.12.13 CMakeFiles/ifpack.dir/Ifpack
             _IlukGraph.cpp.o CMakeFiles/ifpack.dir/Ifpack_CrsRiluk.cpp.o CMakeFiles/ifpack.dir/Ifpack_ILU.cpp.o CMakeFiles/ifpack.dir/Ifpack_IKLU.cpp.o CMakeFiles/i
             fpack.dir/Ifpack_IKLU_Utils.cpp.o CMakeFiles/ifpack.dir/Ifpack_ILUT.cpp.o CMakeFiles/ifpack.dir/Ifpack_ICT.cpp.o CMakeFiles/ifpack.dir/Ifpack_IC.cpp.o C
             MakeFiles/ifpack.dir/Ifpack_IC_Utils.cpp.o CMakeFiles/ifpack.dir/Ifpack_OverlapGraph.cpp.o CMakeFiles/ifpack.dir/Ifpack_MultiListSort.c.o CMakeFiles/ifp
             ack.dir/ifp_parameters.cpp.o CMakeFiles/ifpack.dir/Ifpack_DiagPreconditioner.cpp.o CMakeFiles/ifpack.dir/Ifpack_PointRelaxation.cpp.o CMakeFiles/ifpack.
             dir/Ifpack_Condest.cpp.o CMakeFiles/ifpack.dir/Ifpack.cpp.o CMakeFiles/ifpack.dir/Ifpack_DenseContainer.cpp.o CMakeFiles/ifpack.dir/Ifpack_TriDiContaine
             r.cpp.o CMakeFiles/ifpack.dir/Ifpack_SerialTriDiMatrix.cpp.o CMakeFiles/ifpack.dir/Ifpack_SerialTriDiSolver.cpp.o CMakeFiles/ifpack.dir/Ifpack_LocalFilt
             er.cpp.o CMakeFiles/ifpack.dir/Ifpack_NodeFilter.cpp.o CMakeFiles/ifpack.dir/Ifpack_SingletonFilter.cpp.o CMakeFiles/ifpack.dir/Ifpack_DropFilter.cpp.o 
             CMakeFiles/ifpack.dir/Ifpack_SparsityFilter.cpp.o CMakeFiles/ifpack.dir/Ifpack_ReorderFilter.cpp.o CMakeFiles/ifpack.dir/Ifpack_DiagonalFilter.cpp.o CMa
             keFiles/ifpack.dir/Ifpack_Graph_Epetra_RowMatrix.cpp.o CMakeFiles/ifpack.dir/Ifpack_Graph_Epetra_CrsGraph.cpp.o CMakeFiles/ifpack.dir/Ifpack_Utils.cpp.o
              CMakeFiles/ifpack.dir/Ifpack_SPARSKIT.cpp.o CMakeFiles/ifpack.dir/Ifpack_Chebyshev.cpp.o CMakeFiles/ifpack.dir/Ifpack_Polynomial.cpp.o CMakeFiles/ifpac
             k.dir/Ifpack_Krylov.cpp.o CMakeFiles/ifpack.dir/Ifpack_OverlappingPartitioner.cpp.o CMakeFiles/ifpack.dir/Ifpack_LinePartitioner.cpp.o CMakeFiles/ifpack
             .dir/Ifpack_LinearPartitioner.cpp.o CMakeFiles/ifpack.dir/Ifpack_GreedyPartitioner.cpp.o CMakeFiles/ifpack.dir/Ifpack_METISPartitioner.cpp.o CMakeFiles/
             ifpack.dir/Ifpack_EquationPartitioner.cpp.o CMakeFiles/ifpack.dir/Ifpack_UserPartitioner.cpp.o CMakeFiles/ifpack.dir/Ifpack_RCMReordering.cpp.o CMakeFil
             es/ifpack.dir/Ifpack_METISReordering.cpp.o CMakeFiles/ifpack.dir/Ifpack_OverlappingRowMatrix.cpp.o CMakeFiles/ifpack.dir/Ifpack_ValidParameters.cpp.o CM
             akeFiles/ifpack.dir/Ifpack_HIPS.cpp.o CMakeFiles/ifpack.dir/Ifpack_Hypre.cpp.o CMakeFiles/ifpack.dir/Ifpack_Euclid.cpp.o CMakeFiles/ifpack.dir/Ifpack_SI
             LU.cpp.o CMakeFiles/ifpack.dir/Ifpack_IHSS.cpp.o CMakeFiles/ifpack.dir/Ifpack_SORa.cpp.o CMakeFiles/ifpack.dir/Ifpack_AMDReordering.cpp.o CMakeFiles/ifp
             ack.dir/Ifpack_Amesos.cpp.o -Wl,-rpath,/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packages/amesos/src:/tmp/danfitz/spack-stage/spa
             ck-stage-AO_5dB/Trilinos/spack-build/packages/aztecoo/src:/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packages/epetraext/src:/u/dan
             fitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/hypre-2.14.0-3vyhhypsq43ie2zjpp634apu6eqcucts/lib:/u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/gcc-
             4.8.5/hdf5-1.10.2-247ex6z2m4ehrczv6r7gibf3to2zsa5f/lib:/u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/zlib-1.2.11-4v3ticyykh2xcgw5fzltjrfuxkx7
             ipqh/lib:/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packages/common/auxiliarySoftware/SuiteSparse/src:/u/danfitz/spack/opt/spack/l
             inux-rhel7-ppc64le/xl_r-16.1/mumps-5.1.1-3ivwblkwww3x3geewzye2v5swtucrtsv/lib:/u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/netlib-scalapack-
             2.0.2-r6jp3lwxdyceztqrux4zwlujuk3lb4ji/lib:/u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/suite-sparse-5.2.0-dmch5hznwgrmg3tcnfhmojixpzkncf26/
             lib:/u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/parmetis-4.0.3-ripisfb4stbqj5ueqswwgm3pkccppoir/lib:/u/danfitz/spack/opt/spack/linux-rhel7-
             ppc64le/xl_r-16.1/metis-5.1.0-wjzuwozzzsscsyqfwjrexn6kaet7rbha/lib:/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packages/triutils/sr
             c:/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packages/epetra/src:/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/
             packages/teuchos/kokkoscomm/src:/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packages/teuchos/kokkoscompat/src:/tmp/danfitz/spack-st
             age/spack-stage-AO_5dB/Trilinos/spack-build/packages/teuchos/remainder/src:/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packages/teu
             chos/numerics/src:/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packages/teuchos/comm/src:/tmp/danfitz/spack-stage/spack-stage-AO_5dB
             /Trilinos/spack-build/packages/teuchos/parameterlist/src:/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packages/teuchos/parser/src:/u
             /danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/netlib-lapack-3.8.0-gyxkcm34uk2mx2sp2tkajit5qjcefqp4/lib64:/opt/ibmmath/essl/6.1/lib64:/tmp/danfi
             tz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packages/teuchos/core/src:/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packag
             es/kokkos/core/src: ../../amesos/src/libamesos.so.12.13 ../../aztecoo/src/libaztecoo.so.12.13 ../../epetraext/src/libepetraext.so.12.13 /u/danfitz/spack
             /opt/spack/linux-rhel7-ppc64le/xl_r-16.1/hypre-2.14.0-3vyhhypsq43ie2zjpp634apu6eqcucts/lib/libHYPRE.so /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/gc
             c-4.8.5/hdf5-1.10.2-247ex6z2m4ehrczv6r7gibf3to2zsa5f/lib/libhdf5.so /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/zlib-1.2.11-4v3ticyykh2xcgw
             5fzltjrfuxkx7ipqh/lib/libz.so /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/hdf5-1.10.2-247ex6z2m4ehrczv6r7gibf3to2zsa5f/lib/libhdf5_hl.so ..
             /../common/auxiliarySoftware/SuiteSparse/src/libtrilinosss.so.12.13 -lm /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/mumps-5.1.1-3ivwblkwww3
             x3geewzye2v5swtucrtsv/lib/libdmumps.so /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/mumps-5.1.1-3ivwblkwww3x3geewzye2v5swtucrtsv/lib/libmump
             s_common.so /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/mumps-5.1.1-3ivwblkwww3x3geewzye2v5swtucrtsv/lib/libpord.so /u/danfitz/spack/opt/sp
             ack/linux-rhel7-ppc64le/xl_r-16.1/netlib-scalapack-2.0.2-r6jp3lwxdyceztqrux4zwlujuk3lb4ji/lib/libscalapack.so /u/danfitz/spack/opt/spack/linux-rhel7-ppc
             64le/xl_r-16.1/suite-sparse-5.2.0-dmch5hznwgrmg3tcnfhmojixpzkncf26/lib/libumfpack.so /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/suite-spar
             se-5.2.0-dmch5hznwgrmg3tcnfhmojixpzkncf26/lib/libamd.so /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/suite-sparse-5.2.0-dmch5hznwgrmg3tcnfhm
             ojixpzkncf26/lib/libcolamd.so /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/suite-sparse-5.2.0-dmch5hznwgrmg3tcnfhmojixpzkncf26/lib/libcholmo
             d.so /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/suite-sparse-5.2.0-dmch5hznwgrmg3tcnfhmojixpzkncf26/lib/libsuitesparseconfig.so /u/danfitz
             /spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/superlu-dist-5.2.2-duvrseth6foutnu24gq6mk6n3bpto636/lib/libsuperlu_dist.a /u/danfitz/spack/opt/spack/linu
             x-rhel7-ppc64le/xl_r-16.1/parmetis-4.0.3-ripisfb4stbqj5ueqswwgm3pkccppoir/lib/libparmetis.so /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/me
             tis-5.1.0-wjzuwozzzsscsyqfwjrexn6kaet7rbha/lib/libmetis.so ../../triutils/src/libtriutils.so.12.13 ../../epetra/src/libepetra.so.12.13 ../../teuchos/kok
             koscomm/src/libteuchoskokkoscomm.so.12.13 ../../teuchos/kokkoscompat/src/libteuchoskokkoscompat.so.12.13 ../../teuchos/remainder/src/libteuchosremainder
             .so.12.13 ../../teuchos/numerics/src/libteuchosnumerics.so.12.13 ../../teuchos/comm/src/libteuchoscomm.so.12.13 ../../teuchos/parameterlist/src/libteuch
             osparameterlist.so.12.13 ../../teuchos/parser/src/libteuchosparser.so.12.13 /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/netlib-lapack-3.8.0
             -gyxkcm34uk2mx2sp2tkajit5qjcefqp4/lib64/liblapack.so /opt/ibmmath/essl/6.1/lib64/libesslsmp.so ../../teuchos/core/src/libteuchoscore.so.12.13 ../../kokk
             os/core/src/libkokkoscore.so.12.13 /usr/lib64/libdl.so
     8541    cd /tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build/packages/ifpack/src && /u/danfitz/spack/opt/spack/linux-rhel7-ppc64le/xl_r-16.1/cmak
             e-3.11.3-4joy3z55k5hm6j75ssjougditfpsjh5j/bin/cmake -E cmake_symlink_library libifpack.so.12.13 libifpack.so.12 libifpack.so
     8542    make[2]: Leaving directory `/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build'
     8543    [ 84%] Built target ifpack
     8544    In file included from /u/danfitz/spack/var/spack/stage/trilinos-12.13.1-4kl2xjobtvkeiimmeunht447jfdolep2/Trilinos/packages/tpetra/core/src/Tpetra_CrsGra
             ph_SerialWrapperNode.cpp:54:
  >> 8545    /u/danfitz/spack/var/spack/stage/trilinos-12.13.1-4kl2xjobtvkeiimmeunht447jfdolep2/Trilinos/packages/tpetra/core/src/Tpetra_CrsGraph_def.hpp:651:3: erro
             r: 1540-2206 Class with virtual base class and delegating constructor is not supported.
     8546      CrsGraph<LocalOrdinal, GlobalOrdinal, Node>::
     8547      ^
     8548    1 error generated.
  >> 8549    Error while processing /u/danfitz/spack/var/spack/stage/trilinos-12.13.1-4kl2xjobtvkeiimmeunht447jfdolep2/Trilinos/packages/tpetra/core/src/Tpetra_CrsGr
             aph_SerialWrapperNode.cpp.
  >> 8550    make[2]: *** [packages/tpetra/core/src/CMakeFiles/tpetra.dir/Tpetra_CrsGraph_SerialWrapperNode.cpp.o] Error 1
     8551    make[2]: *** Waiting for unfinished jobs....
     8552    make[2]: Leaving directory `/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build'
  >> 8553    make[1]: *** [packages/tpetra/core/src/CMakeFiles/tpetra.dir/all] Error 2
     8554    make[1]: Leaving directory `/tmp/danfitz/spack-stage/spack-stage-AO_5dB/Trilinos/spack-build'
  >> 8555    make: *** [all] Error 2
Assignee
Assign to
Time tracking