Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slepc 3.6.3 compatibility #4089

Closed
luca-heltai opened this issue Mar 21, 2017 · 16 comments · Fixed by #6110
Closed

Slepc 3.6.3 compatibility #4089

luca-heltai opened this issue Mar 21, 2017 · 16 comments · Fixed by #6110
Labels
Milestone

Comments

@luca-heltai
Copy link
Member

With slepc-3.6.3 + petsc-3.6.4 freshly installed with candi I get the following:

/usr/tmp/heltai/dealii/build/lib/libdeal_II.g.so.8.5.0-pre: error: undefined reference to 'EPSComputeResidualNorm'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

anyone else?

The documentation of slepc seems to refer to a different interface. Apparently they maintained the definition but not the implementation...

@luca-heltai luca-heltai added this to the Release 8.5 milestone Mar 21, 2017
@oneliefleft
Copy link
Contributor

oneliefleft commented Mar 21, 2017 via email

@oneliefleft
Copy link
Contributor

oneliefleft commented Mar 22, 2017 via email

@davydden
Copy link
Contributor

will check if I see this with $ spack install dealii+mpi+petsc+slepc~int64 ^petsc@3.6.4 ^slepc@3.6.3...

@davydden
Copy link
Contributor

davydden commented Mar 23, 2017

@luca-heltai i can't reproduce this: ==> Successfully installed dealii, full concretized spec is:

dealii@develop%clang@8.0.0-apple+arpack+doc+gsl+hdf5~int64+metis+mpi+netcdf+oce+optflags+p4est+petsc+python+slepc+trilinos arch=darwin-sierra-x86_64
    ^arpack-ng@3.4.0%clang@8.0.0-apple+mpi+shared arch=darwin-sierra-x86_64
        ^cmake@3.7.2%clang@8.0.0-apple~doc+ncurses+openssl+ownlibs~qt arch=darwin-sierra-x86_64
            ^ncurses@6.0%clang@8.0.0-apple~symlinks arch=darwin-sierra-x86_64
                ^mawk@1.3.4%clang@8.0.0-apple arch=darwin-sierra-x86_64
                ^pkg-config@0.29.1%clang@8.0.0-apple+internal_glib arch=darwin-sierra-x86_64
            ^openssl@1.0.2k%clang@8.0.0-apple arch=darwin-sierra-x86_64
                ^perl@5.24.1%clang@8.0.0-apple+cpanm arch=darwin-sierra-x86_64
                ^zlib@1.2.11%clang@8.0.0-apple+pic+shared arch=darwin-sierra-x86_64
        ^openblas@0.2.19%clang@8.0.0-apple~openmp+pic+shared arch=darwin-sierra-x86_64
        ^openmpi@2.1.0%clang@8.0.0-apple~java~mxm~pmi~psm~psm2~slurm~sqlite3~thread_multiple~tm~verbs+vt arch=darwin-sierra-x86_64
            ^hwloc@1.11.6%clang@8.0.0-apple~cuda+libxml2~pci arch=darwin-sierra-x86_64
                ^libxml2@2.9.4%clang@8.0.0-apple~python arch=darwin-sierra-x86_64
                    ^xz@5.2.3%clang@8.0.0-apple arch=darwin-sierra-x86_64
    ^boost@1.63.0%clang@8.0.0-apple+atomic+chrono+date_time~debug+filesystem~graph~icu+iostreams+locale+log+math+mpi+multithreaded+program_options+python+random+regex+serialization+shared+signals~singlethreaded+system~taggedlayout+test+thread+timer+wave arch=darwin-sierra-x86_64
        ^bzip2@1.0.6%clang@8.0.0-apple+shared arch=darwin-sierra-x86_64
        ^python@2.7.13%clang@8.0.0-apple~tk~ucs4 arch=darwin-sierra-x86_64
            ^readline@7.0%clang@8.0.0-apple arch=darwin-sierra-x86_64
            ^sqlite@3.8.5%clang@8.0.0-apple arch=darwin-sierra-x86_64
    ^doxygen@1.8.12%clang@8.0.0-apple+graphviz arch=darwin-sierra-x86_64
        ^bison@3.0.4%clang@8.0.0-apple arch=darwin-sierra-x86_64
            ^m4@1.4.18%clang@8.0.0-apple+sigsegv arch=darwin-sierra-x86_64
                ^libsigsegv@2.11%clang@8.0.0-apple arch=darwin-sierra-x86_64
        ^flex@2.6.3%clang@8.0.0-apple arch=darwin-sierra-x86_64
            ^gettext@0.19.8.1%clang@8.0.0-apple+bzip2+curses+git~libunistring+libxml2+tar+xz arch=darwin-sierra-x86_64
                ^tar@1.29%clang@8.0.0-apple arch=darwin-sierra-x86_64
            ^help2man@1.47.4%clang@8.0.0-apple arch=darwin-sierra-x86_64
        ^graphviz@2.38.0%clang@8.0.0-apple~go~guile~io~java~lua~ocaml~perl~php~python~r~ruby~sharp~swig~tcl arch=darwin-sierra-x86_64
            ^expat@2.2.0%clang@8.0.0-apple arch=darwin-sierra-x86_64
            ^freetype@2.7%clang@8.0.0-apple arch=darwin-sierra-x86_64
                ^libpng@1.6.27%clang@8.0.0-apple arch=darwin-sierra-x86_64
            ^ghostscript@9.18%clang@8.0.0-apple arch=darwin-sierra-x86_64
                ^libtiff@4.0.6%clang@8.0.0-apple arch=darwin-sierra-x86_64
                    ^jpeg@9b%clang@8.0.0-apple arch=darwin-sierra-x86_64
            ^libtool@2.4.6%clang@8.0.0-apple arch=darwin-sierra-x86_64
    ^gsl@2.3%clang@8.0.0-apple arch=darwin-sierra-x86_64
    ^hdf5@1.10.0-patch1%clang@8.0.0-apple+cxx~debug+fortran+mpi+pic+shared~szip~threadsafe arch=darwin-sierra-x86_64
    ^metis@5.1.0%clang@8.0.0-apple~debug~gdb~int64~real64+shared arch=darwin-sierra-x86_64
    ^muparser@2.2.5%clang@8.0.0-apple arch=darwin-sierra-x86_64
    ^netcdf@4.4.1.1%clang@8.0.0-apple~cdmremote~dap~hdf4 maxdims=1024  maxvars=8192 +mpi~parallel-netcdf+shared arch=darwin-sierra-x86_64
    ^netcdf-cxx@4.2%clang@8.0.0-apple arch=darwin-sierra-x86_64
    ^oce@0.18%clang@8.0.0-apple+tbb arch=darwin-sierra-x86_64
        ^tbb@2017.3%clang@8.0.0-apple arch=darwin-sierra-x86_64
    ^p4est@2.0%clang@8.0.0-apple arch=darwin-sierra-x86_64
        ^autoconf@2.69%clang@8.0.0-apple arch=darwin-sierra-x86_64
        ^automake@1.15%clang@8.0.0-apple arch=darwin-sierra-x86_64
    ^petsc@3.6.4%clang@8.0.0-apple+boost~complex~debug+double+hdf5+hypre~int64+metis+mpi+mumps+shared+superlu-dist arch=darwin-sierra-x86_64
        ^hypre@2.11.1%clang@8.0.0-apple~int64~internal-superlu~shared arch=darwin-sierra-x86_64
        ^mumps@5.0.2%clang@8.0.0-apple+complex+double+float~int64~metis+mpi~parmetis~ptscotch~scotch+shared arch=darwin-sierra-x86_64
            ^netlib-scalapack@2.0.2%clang@8.0.0-apple~fpic+shared arch=darwin-sierra-x86_64
        ^parmetis@4.0.3%clang@8.0.0-apple~debug~gdb+shared arch=darwin-sierra-x86_64
        ^superlu-dist@4.3%clang@8.0.0-apple~int64 arch=darwin-sierra-x86_64
    ^slepc@3.6.3%clang@8.0.0-apple+arpack arch=darwin-sierra-x86_64
    ^suite-sparse@4.5.3%clang@8.0.0-apple+pic~tbb arch=darwin-sierra-x86_64
    ^trilinos@12.10.1%clang@8.0.0-apple+boost~debug+hdf5+hypre+metis+mumps~python+shared+suite-sparse~superlu+superlu-dist~xsdkflags arch=darwin-sierra-x86_64
        ^glm@0.9.7.1%clang@8.0.0-apple arch=darwin-sierra-x86_64
        ^matio@1.5.9%clang@8.0.0-apple+hdf5+shared+zlib arch=darwin-sierra-x86_64

@oneliefleft
Copy link
Contributor

oneliefleft commented Mar 23, 2017 via email

@davydden
Copy link
Contributor

This setup works when compiled by hand.

since @oneliefleft also does not have problems compiling by hand, most likely the reasons is that

something strange happens in the candi setup of PETSc

I thereby close this issue, if nobody minds.

@luca-heltai
Copy link
Member Author

(Y)

@luca-heltai luca-heltai reopened this Mar 23, 2017
@luca-heltai
Copy link
Member Author

From the documentation of slepc:

Changes in Version 3.6
...
Interface changes: EPSComputeRelativeError and EPSComputeResidualNorm have been deprecated (use EPSComputeError instead); the same for PEP, NEP and SVD; PEPSetScale now allows passing two Vecs for diagonal scaling; XXXPrintSolution has been replaced with XXXErrorView; 
...

This might be worth fixing anyway....

@davydden
Copy link
Contributor

@luca-heltai still don't udnerstand why neither myself nor @oneliefleft see this issue...

@luca-heltai
Copy link
Member Author

I think it depends on what the compiler does with their deprecated functions. This happens to me on SUSE, with

g++ (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

but works ok on mac.

@oneliefleft
Copy link
Contributor

oneliefleft commented Mar 23, 2017 via email

@luca-heltai
Copy link
Member Author

I think we can skip this for 8.5, but it might be worth keeping it in mind, since they will likely remove that function in the future...

@oneliefleft
Copy link
Contributor

oneliefleft commented Mar 23, 2017 via email

@luca-heltai luca-heltai modified the milestones: Release 9.0, Release 8.5 Mar 23, 2017
@oneliefleft
Copy link
Contributor

oneliefleft commented Mar 23, 2017 via email

@tamiko tamiko added the Bug label May 28, 2017
@bangerth
Copy link
Member

What's the status of this?

@drwells
Copy link
Member

drwells commented Mar 28, 2018

Out of curiousity I recompiled deal.II with slepc 3.6.3 and PETSc 3.6.4: the reinit_preconditioner_01 and reinit_preconditioner_02 both fail due to an issue in ParaSails, but otherwise all PETSc and SLEPc tests pass.

We still use one of the deprecated functions (EPSComputeResidualNorm). I'll put together a patch to move to the replacement (EPSComputeError).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants