Giter Site home page Giter Site logo

Comments (3)

jwpeterson avatar jwpeterson commented on July 23, 2024

That looks like a test which was specific to Fedora 28.

AS_IF([test "$enablexdr" != no],
      [
      dnl Check whether the system/compiler has xdr.h in /usr/include and glibc.
      AC_MSG_CHECKING([for built-in XDR support])
      CONFIGURE_XDR

      dnl Check for headers in /usr/include/tirpc. (Fedora 28 does this.)
      AS_IF([test "x$enablexdr" = "xno"],
            [
              AC_MSG_CHECKING([for XDR support in /usr/include/tirpc])
              old_CPPFLAGS="$CPPFLAGS"
              old_LIBS="$LIBS"
              CPPFLAGS="$CPPFLAGS -I/usr/include/tirpc"
              LIBS="$LIBS -ltirpc"

              CONFIGURE_XDR

              dnl If that worked, append the required include paths and libraries as necessary.
              AS_IF([test "x$enablexdr" = "xyes"],
                    [
                      libmesh_optional_INCLUDES="$libmesh_optional_INCLUDES -I/usr/include/tirpc"
                      libmesh_optional_LIBS="$libmesh_optional_LIBS -ltirpc"
                    ])

              dnl Reset flags after testing
              CPPFLAGS="$old_CPPFLAGS"
              LIBS="$old_LIBS"
           ])
      ])

I guess the thinking here was that the average user has no idea where the rpc and xdr headers on their system are, so we didn't make it a customizable option? I agree it would be worth adding as an expert-friendly configure flag.

from libmesh.

roystgnr avatar roystgnr commented on July 23, 2024

The original idea was that RPC and XDR headers were standardized in the 1980s so it would be reasonable to just assume they're in the compiler's search paths already. But they never made it into POSIX so that wasn't a reasonable assumption in the end.

The second idea was that, okay, some systems move them around, but at least there's a new pseudostandard place. But that only works for users who can easily get software installed, which means it's not reasonable for all HPC systems. I've been pointing out how to manually override compiler and linker flags a couple times lately as a workaround.

And the third idea was the least reasonable of the three: "I should fix this but I'm too busy with other things and too lazy when I'm not busy". Thanks for beating me to it!

from libmesh.

jwpeterson avatar jwpeterson commented on July 23, 2024

That looks like a test which was specific to Fedora 28.

While working on #3711 I realized Ubuntu 22 (and probably previous releases) is also using /usr/include/tirpc now, so seems like there is at least some standardization around that.

from libmesh.

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.