GLIBC_2.34 not found

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • mdsimulationgroup
    Junior Member
    • Jul 2024
    • 23

    GLIBC_2.34 not found

    Hello,

    I downloaded the zip file from this link to use on an HPC: https://repo.febio.org/download/FEBio4.tar.gz

    However, when I run it, I get the error that GLIBC_2.34 not found. It appears that we have version 2.28.

    Is there a work around?

    Thanks for the help!
    Frank
  • hwiputra
    Member
    • Jun 2022
    • 47

    #2
    Hi Frank,

    I also encountered this error in the high speed-computing (HPC) servers. They are usually not available by default. You need to install it locally in your PC/server. My local HPC server recommended running the following script:

    wget https://mirrors.ibiblio.org/gnu/libc/glibc-2.34.tar.gz
    tar xvf glibc-2.34.tar.gz
    cd glibc-2.34
    mkdir -v build && cd build
    mkdir -vp ~/local
    ../configure --prefix=$HOME/local
    make
    make install
    export PATH=~/local/bin:$PATH
    ldd --version

    I successfully installed the glibc library, but I seem to have a problem with running febio4 even with glibc being up to date too:

    image.png

    Regards,
    Hadi

    Comment

    • mdsimulationgroup
      Junior Member
      • Jul 2024
      • 23

      #3
      Thanks Hadi for the input...hopefully one of the developers will reply with some guidance

      Comment

      • mdsimulationgroup
        Junior Member
        • Jul 2024
        • 23

        #4
        I ran the installer from the command line using this file: FEBioStudio_2.7_FEBio_4.7_Linux_installer.zip

        It installed fine but I'm still getting "./febio4: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by ./febio4)"

        I though the installer would provide a portable executable. Any help would be appreciated!

        Best regards,
        Frank

        Comment

        • mherron
          Developer
          • Aug 2016
          • 105

          #5
          Unfortunately, this is a complex problem, and while I'm looking to find a solution for it, it may take some time, or even prove impossible to fix. GLIBC is the GNU implementation of the standard C libraries. These libraries are integral to almost everything on a GNU/Linux operating system. As such, I cannot distribute a version of GLIBC alongside FEBio, because it would very probably interfere with the programs running on your machine. Even statically linking to GLIBC, while possible, is very highly discouraged, and possibly dangerous.

          The problem is that we are now compiling FEBio on Ubuntu 22.04, which has GLIBC 2.34. It appears that your HPC is using GLIBC 2.28, which is about 8 years old at this point. Unfortunately, the only solution on your end, would be to update the OS of the HPC, which I know is a difficult thing to ask.

          On my end, I'm researching ways to compile in such a way as to force older GLIBC compatibility. If I can come up with a workable solution, I will let you know, but it may take me a week or so.

          Sorry for this inconvenience.

          Michael Herron

          Comment

          • hwiputra
            Member
            • Jun 2022
            • 47

            #6
            Hi Michael,

            Thank you so much for the update. I tried following the steps by:
            My linux (SLES-8) server currently has glibc-2.2.5-235, but I have a program which won't work on this version and requires glibc-2.3.3. Is it possible to have multiple glibcs installed on the same ...


            With the patchelf, I got the segmentation fault error. If I interpreted the post correctly, this happens because there are some libraries that febio tries to look into my new glibc directory that is not available in the folder. I should be able to add a copying them onto my glibc library directory work. Would this be a good enough workaround for me temporarily?

            Thank you.

            Regards,
            Hadi

            Comment

            • hwiputra
              Member
              • Jun 2022
              • 47

              #7
              Hi All,

              So I decided to just compile FEBio in the HPC instead and it kinda works?

              I'm not sure if it would cause any problem in the future, but I will go with this way for now.

              image.png

              Thank you so much for the help.

              Regards,
              Hadi

              Comment

              • mdsimulationgroup
                Junior Member
                • Jul 2024
                • 23

                #8
                Originally posted by hwiputra View Post
                Hi All,

                So I decided to just compile FEBio in the HPC instead and it kinda works?

                I'm not sure if it would cause any problem in the future, but I will go with this way for now.

                image.png

                Thank you so much for the help.

                Regards,
                Hadi
                Did you update the glibc library or did you use what was on the cluster?

                Comment

                • hwiputra
                  Member
                  • Jun 2022
                  • 47

                  #9
                  Hi Frank,

                  I just used what is available in the cluster. I installed with cmake 3.26.3 and gcc 8.2.0. The gcc seems to have glibc in 2.28 version still, and I am not sure if the cmake carries its own version of glibc (I think it doesnt). Just in case, I list the loaded modules in my cluster.

                  image.png

                  Regards,
                  Hadi

                  Comment

                  • mdsimulationgroup
                    Junior Member
                    • Jul 2024
                    • 23

                    #10
                    Originally posted by hwiputra View Post
                    Hi Frank,

                    I just used what is available in the cluster. I installed with cmake 3.26.3 and gcc 8.2.0. The gcc seems to have glibc in 2.28 version still, and I am not sure if the cmake carries its own version of glibc (I think it doesnt). Just in case, I list the loaded modules in my cluster.

                    image.png

                    Regards,
                    Hadi
                    Awesome! Did you follow a guide? The build guide for just FEBio is somewhat lacking in details: https://github.com/febiosoftware/FEB...velop/BUILD.md

                    Comment

                    • ateshian
                      Developer
                      • Dec 2007
                      • 1903

                      #11
                      Hi Hadi,

                      It's good that you got the compilation to work, however you are using the 'skyline' solver, which means that you did not link to the Intel MKL library, which provides the pardiso solver. You will find that this version of FEBio will run extremely slowly.

                      You should check if Intel MKL is installed on your HPC cluster (it may need to be loaded, if available). If so, you will need to adjust your cmake run to accommodate the presence of this solver (I am not a Linux expert, but maybe you are and you are proficient with cmake, otherwise feel free to ask on this forum how to do this). Also please be aware that there are two external libraries that you may need to download from GitHub and compile on your HPC cluster, then link with FEBio: Levenberg-Marquardt (levmar) and MMG.

                      Best,

                      Gerard

                      Comment

                      • mdsimulationgroup
                        Junior Member
                        • Jul 2024
                        • 23

                        #12
                        Originally posted by ateshian View Post
                        Hi Hadi,

                        It's good that you got the compilation to work, however you are using the 'skyline' solver, which means that you did not link to the Intel MKL library, which provides the pardiso solver. You will find that this version of FEBio will run extremely slowly.

                        You should check if Intel MKL is installed on your HPC cluster (it may need to be loaded, if available). If so, you will need to adjust your cmake run to accommodate the presence of this solver (I am not a Linux expert, but maybe you are and you are proficient with cmake, otherwise feel free to ask on this forum how to do this). Also please be aware that there are two external libraries that you may need to download from GitHub and compile on your HPC cluster, then link with FEBio: Levenberg-Marquardt (levmar) and MMG.

                        Best,

                        Gerard
                        Is there a reason the standalone linux installer does not work? I ran it from the command line and it looked like it installed fine but when running febio it still complained about the missing glib library. My understanding was the would produce a workable binary?

                        Comment

                        • ateshian
                          Developer
                          • Dec 2007
                          • 1903

                          #13
                          Since I am not much of an expert in linux, I don't know for sure why it didn't work for you. However, just yesterday I was helping a colleague at my institution with compiling FEBio on our local HPC cluster (which uses linux) and the standalone linux installer worked fine as a first pass, just like with Hadi (i.e., without adding all the other libraries). So I would have to assume that your linux environment has a more complex set up which the standalone installer could not fully resolve.

                          Currently, I don't have an account on my institution's HPC cluster, but when I did (last year, on an older cluster), I was able to use the installer to compile the linux version of FEBio. I have attached the settings that cmake had identified for that system (which get saved in CMakeCache.txt). Maybe you'll find that helpful.

                          Best,

                          Gerard
                          Attached Files

                          Comment

                          • hwiputra
                            Member
                            • Jun 2022
                            • 47

                            #14
                            Originally posted by mdsimulationgroup View Post

                            Awesome! Did you follow a guide? The build guide for just FEBio is somewhat lacking in details: https://github.com/febiosoftware/FEB...velop/BUILD.md
                            I used just use the defaults. I am not sure how much of my command is applicable in your HPC. In mine I used the following:

                            #loading the modules ( I just retried and noticed my git is not compatible with gcc and cmake, so I suggests loading just git to download then load cmake afterwards)
                            module load gcc
                            module load cmake
                            module load git

                            #downloading and building with cmake
                            git clone https://github.com/febiosoftware/FEBio.git
                            cd FEBio
                            mkdir build
                            cd build
                            cmake ..
                            make

                            Then pray to whichever god listens to your prayer. febio4 should be available in your-febio-directory/build/bin

                            Hope this helps

                            Edit: I finally installed the ones with paradiso solver. My HPC happens to have mkl pre-installed.
                            image.png
                            As suggested by Gerard, I installed mmg and levenberg marquard before installation of my febio.

                            For the levenmberg marquard installation I repeated the same steps as above, but with the git clone from https://github.com/jturney/levmar.git

                            For the mmg however, I need to change the cmake setting, and did the following:

                            git clone https://github.com/MmgTools/mmg.git
                            cd mmg
                            mkdir build
                            ​cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON ..
                            make

                            Then when you install FEBio, make sure that cmake detected mmg and levenberg marquard installed. You can check it by going to your FEBio build directory and check:

                            cmake -LA

                            And check if the linkers are directed to the right directories. In my case, it looks like this:
                            image.png
                            I hope this helps.

                            Regards,
                            Hadi

                            Comment

                            • mherron
                              Developer
                              • Aug 2016
                              • 105

                              #15
                              Originally posted by mdsimulationgroup View Post

                              Is there a reason the standalone linux installer does not work? I ran it from the command line and it looked like it installed fine but when running febio it still complained about the missing glib library. My understanding was the would produce a workable binary?
                              Yes. As I said in my previous response, I cannot simply distribute GLIBC with FEBio. The installer works just fine, as do the binaries that it installs. The problem is that your system is using an older version of GLIBC than the system that we are currently building FEBio on, and so it won't run on your system. If you would like to use the binaries that we distribute, then you'll need to update the OS on your HPC. I would also highly recommend against attempting to work with multiple GLIBC versions on the same system.

                              As mentioned above, compiling FEBio on your HPC is a viable option, though if you do go with this option be sure to install Intel MKL, so that you can link to the Pardiso solver, as the default Skyline solver is quite slow by comparison. If you would like to do this, please refer to our build guide, and let me know if you run into any problems while compiling.

                              I've also just barely set up another option for you. Our old build system ran on an old version of OpenSuse, which I believe has GLIBC 2.24. I've set up a script to have this old build system build the latest FEBio4 version nightly, and upload it to our server. You'll be able to download this version from this link: https://repo.febio.org/download/febio4HPC.tar.gz Unlike our main build system, these binaries won't be tested with our test suite, and so it's possible that a given binary downloaded from this link will have a bug, but it should then be fixed on the subsequent day, as our main build system catches the problem. I think that the binaries from that link will run on your system. Please test them out and let me know if you run into any problems with them.

                              Thanks,

                              Michael Herron

                              Comment

                              Working...
                              X