GithubHelp home page GithubHelp logo

Comments (16)

gruenich avatar gruenich commented on August 17, 2024

I am not sure whether this was really caused by #98 or #99, as Doxygen seems to have a problem.

From the configure.log:

CMake Error at /nfs/gce/globalscratch/svcpetsc/petsc-hash-pkgs/7820d1/share/cmake-3.26/Modules/FindDoxygen.cmake:734 (message):

and

CMake Warning at /nfs/gce/globalscratch/svcpetsc/petsc-hash-pkgs/7820d1/share/cmake-3.26/Modules/FindDoxygen.cmake:492 (message): Unable to determine doxygen version: 1 Call Stack (most recent call first): /nfs/gce/globalscratch/svcpetsc/petsc-hash-pkgs/7820d1/share/cmake-3.26/Modules/FindDoxygen.cmake:655 (_Doxygen_find_doxygen) DOC/CMakeLists.txt:3 (find_package) /usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version GLIBCXX_3.4.29' not found (required by /usr/bin/doxygen)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version CXXABI_1.3.13' not found (required by /usr/bin/doxygen) /usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/libclang-14.so.13)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/libclang-cpp.so.14) /usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version GLIBCXX_3.4.30' not found (required by /lib/x86_64-linux-gnu/libclang-cpp.so.14)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version CXXABI_1.3.13' not found (required by /lib/x86_64-linux-gnu/libclang-cpp.so.14) /usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version CXXABI_1.3.13' not found (required by /lib/x86_64-linux-gnu/libLLVM-14.so.1)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version GLIBCXX_3.4.26' not found (required by /lib/x86_64-linux-gnu/libLLVM-14.so.1) /usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/libLLVM-14.so.1)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version GLIBCXX_3.4.30' not found (required by /lib/x86_64-linux-gnu/libLLVM-14.so.1)

Looks like an issue with Doxygen in the runner.

@prj- Can you please do the following to help narrowing down the problem:

  1. Can you pass to SuperLU's CMake call this option: -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE. This prevents CMake from running Doxygen.
  2. Can you Git bisect the SuperLU commit triggering your problem?

from superlu.

prj- avatar prj- commented on August 17, 2024

Still not OK with -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE, cf. https://gitlab.com/petsc/petsc/-/jobs/4435286701.

from superlu.

gruenich avatar gruenich commented on August 17, 2024

Thanks for the feedback! Disabling Doxygen triggered in issue that I fixed in the updated #102. The call to doxygen_add_docs is only allowed when Doxygen has been found. Now it should work for you with -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE.

from superlu.

xiaoyeli avatar xiaoyeli commented on August 17, 2024

@prj- #102 should have fixed the problem. Please check.

from superlu.

prj- avatar prj- commented on August 17, 2024

@gruenich and/or @xiaoyeli, this issue is still not fixed, you can look at https://gitlab.com/petsc/petsc/-/jobs/5105845302. This makes the latest SuperLU still unusable in PETSc. There is a release scheduled later this month, could you please try to fix this rather sooner than later? Why are you even looking for Doxygen in the first place if documentation is disabled?

from superlu.

prj- avatar prj- commented on August 17, 2024

-DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE does the trick though, but I'm not sure why it's needed.

from superlu.

xiaoyeli avatar xiaoyeli commented on August 17, 2024

@gruenich
By default, can we disable doxygen generation? Users can generate doc by hand, not in each build.
If you set a PR, I will merge it.
Thhanks.

from superlu.

gruenich avatar gruenich commented on August 17, 2024

Sorry to hear that you still have a bad experience using SuperLU! But it is your Doxygen binary, that is broken. I quote from the configure.log that was created from the linked build:

/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /usr/bin/doxygen)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version `CXXABI_1.3.13' not found (required by /usr/bin/doxygen)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/libclang-14.so.13)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/libclang-cpp.so.14)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /lib/x86_64-linux-gnu/libclang-cpp.so.14)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version `CXXABI_1.3.13' not found (required by /lib/x86_64-linux-gnu/libclang-cpp.so.14)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version `CXXABI_1.3.13' not found (required by /lib/x86_64-linux-gnu/libLLVM-14.so.1)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by /lib/x86_64-linux-gnu/libLLVM-14.so.1)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /lib/x86_64-linux-gnu/libLLVM-14.so.1)
/usr/bin/doxygen: /nfs/gce/software/custom/linux-ubuntu22.04-x86_64/spack/opt/spack/linux-ubuntu22.04-x86_64/gcc-11.2.0/gcc-8.5.0-zpsjiod/lib64/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /lib/x86_64-linux-gnu/libLLVM-14.so.1)

Please fix your CI runner to get a working Doxygen installed (or do explicitly remove the broken Doxygen).

To clarify, SuperLU does not automatically build the documentation with Doxygen. But it does check for Doxygen and prepare everything for the manual command. During the check Doxygen is called, this fails miserably on your system. You disable this check by passing -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE, makes perfectly sense.

from superlu.

prj- avatar prj- commented on August 17, 2024

So, you think this is the proper behavior to not be able to build SuperLU, when a non-required package cannot be found or does not work correctly?

from superlu.

xiaoyeli avatar xiaoyeli commented on August 17, 2024

I view Doxygen is "external" to SuperLU. So we don't have control whether the users have doxygen or have a broken doxygen. I think the default behavior is NOT to check doxygen.

from superlu.

prj- avatar prj- commented on August 17, 2024

Exactly.. why can't I build SuperLU with a broken Doxygen if I don't care about the documentation?

Sure, thanks to your help, I now know about the ninja flag -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=TRUE, and I've enforced it in PETSc. But we really shouldn't have to set this since we don't build the documentation (and users who build SuperLU outside of PETSc may very well run into the same issue, is the flag documented somewhere? I'm guessing this is an automatic variable generated by CMake).

from superlu.

xiaoyeli avatar xiaoyeli commented on August 17, 2024

@prj-
I added this guard in CMakeLists.txt:

if (enable_doc)
add_subdirectory(DOC)
endif

By default, enable_doc==OFF

Can you try the master branch now?

from superlu.

prj- avatar prj- commented on August 17, 2024

Here is the corresponding PETSc pipeline: https://gitlab.com/petsc/petsc/-/pipelines/1009190500.

from superlu.

gruenich avatar gruenich commented on August 17, 2024

@xiaoyeli You are breaking make doc with your change. This will badly affect much more people compared to users with broken Doxygen. This issue must be fixed within CMake. Yesterday, I created a prototype patch. I hope to make a pull request later today. Please give me a couple of days more time to proceed.

@prj- You have to install libstdc++ in the right version to fix you Doxygen. Can you please give this a try?

from superlu.

prj- avatar prj- commented on August 17, 2024

@gruenich, no, I don't have admin rights to that machine. Again, I do not want to fix Doxygen, because I know some other users will have broken Doxygen. I don't see how Sherry's patch will break make doc for users who don't set -Denable_doc=ON.

This will badly affect much more people

Do you have some metrics on the number of SuperLU users who do make doc?

from superlu.

gruenich avatar gruenich commented on August 17, 2024

I created a patch for CMake, see https://gitlab.kitware.com/cmake/cmake/-/merge_requests/8815. Let's see how far we get there.

from superlu.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.