Build nektar with lapack-devel
******************* This email originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list https://spam.ic.ac.uk/SpamConsole/Senders.aspx to disable email stamping for this address. ******************* Hi, I have recently installed the development versions of Lapack and Blas (along with some other libraries) on my local machine. I have tried to rebuild nektar, without any modification to the make file, and it failed because of different errors. I have also tried to with a clean installation of the latest version, also without success - same error. I could not manage to find the issue. I am attaching the CMake log files as well as part of the screen output. Some useful information: mpirun (Open MPI) 4.1.1 cmake version 3.24.2 g++ (GCC) 11.3.1 20220421 Package lapack-devel-3.10.1-1.fc35.x86_64 is already installed. Package lapack-3.10.1-1.fc35.x86_64 is already installed. Package blas-devel-3.10.1-1.fc35.x86_64 is already installed. Package blas-3.10.1-1.fc35.x86_64 is already installed. Any help will be appreciated. Thank you Guillermo
Hi Guillermo, I haven’t had a chance to investigate this in any detail yet but I note that you seem to be using Fedora 35 and a fairly out of date source release of Nektar++ 5.0.3? I seem to recall that there were some challenges building on Fedora 35 a little while ago which should be fixed in a more recent release. Have you updated your system version in recent months or you have previously built v5.0.3 on Fedora 35 successfully? The error looks to be something related to a null pointer in one of the unit test source files so I suspect this is not directly related to Blas/Lapack - I could be wrong and would need to check in more detail. Just looking now in the CMake error file, I also note that it looks like it can’t find mpi.h, although actually I would have though that you couldn’t start building if that wasn’t resolved, so maybe you resolved this before starting the build? Best wishes, Jeremy
On 29 Mar 2023, at 09:30, Guillermo Suárez <guillermo180395@gmail.com> wrote:
This email from guillermo180395@gmail.com originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list <https://spam.ic.ac.uk/SpamConsole/Senders.aspx> to disable email stamping for this address.
Hi,
I have recently installed the development versions of Lapack and Blas (along with some other libraries) on my local machine. I have tried to rebuild nektar, without any modification to the make file, and it failed because of different errors. I have also tried to with a clean installation of the latest version, also without success - same error. I could not manage to find the issue. I am attaching the CMake log files as well as part of the screen output.
Some useful information: mpirun (Open MPI) 4.1.1 cmake version 3.24.2 g++ (GCC) 11.3.1 20220421 Package lapack-devel-3.10.1-1.fc35.x86_64 is already installed. Package lapack-3.10.1-1.fc35.x86_64 is already installed. Package blas-devel-3.10.1-1.fc35.x86_64 is already installed. Package blas-3.10.1-1.fc35.x86_64 is already installed.
Any help will be appreciated.
Thank you Guillermo
<output.out><CMakeOutput.log><CMakeError.log>_______________________________________________ Nektar-users mailing list Nektar-users@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/nektar-users
Hi Jeremy, Thank you for your reply. To answer your questions: - I get the exact same error for the master version. - Before installing the dev version of Lapack etc, I was able to install all nektar++ versions v5.X.X successfully. - Regarding the mpi.h, I didn't do anything. Configured the project with 'ccmake' and then just ran 'make'. It is strange that mpi.h was not found even though cmake detected it. You can also see in the CMake error file that there is an undefined reference to 'dgemm_', even though I have Lapack/Blas installed and it was detected by cmake. Please let me know if you require any additional file. Kind regards, Guillermo On Wed, 2023-03-29 at 21:55 +0100, Jeremy Cohen wrote:
Hi Guillermo,
I haven’t had a chance to investigate this in any detail yet but I note that you seem to be using Fedora 35 and a fairly out of date source release of Nektar++ 5.0.3?
I seem to recall that there were some challenges building on Fedora 35 a little while ago which should be fixed in a more recent release. Have you updated your system version in recent months or you have previously built v5.0.3 on Fedora 35 successfully?
The error looks to be something related to a null pointer in one of the unit test source files so I suspect this is not directly related to Blas/Lapack - I could be wrong and would need to check in more detail.
Just looking now in the CMake error file, I also note that it looks like it can’t find mpi.h, although actually I would have though that you couldn’t start building if that wasn’t resolved, so maybe you resolved this before starting the build?
Best wishes, Jeremy
On 29 Mar 2023, at 09:30, Guillermo Suárez < guillermo180395@gmail.com> wrote:
This email from guillermo180395@gmail.com originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list to disable email stamping for this address.
Hi,
I have recently installed the development versions of Lapack and Blas (along with some other libraries) on my local machine. I have tried to rebuild nektar, without any modification to the make file, and it failed because of different errors. I have also tried to with a clean installation of the latest version, also without success - same error. I could not manage to find the issue. I am attaching the CMake log files as well as part of the screen output.
Some useful information: mpirun (Open MPI) 4.1.1 cmake version 3.24.2 g++ (GCC) 11.3.1 20220421 Package lapack-devel-3.10.1-1.fc35.x86_64 is already installed. Package lapack-3.10.1-1.fc35.x86_64 is already installed. Package blas-devel-3.10.1-1.fc35.x86_64 is already installed. Package blas-3.10.1-1.fc35.x86_64 is already installed.
Any help will be appreciated.
Thank you Guillermo
<output.out><CMakeOutput.log><CMakeError.log>______________________ _________________________ Nektar-users mailing list Nektar-users@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/nektar-users
Hi Guillermo, I’ve had a go at building the Nektar++ master branch on Fedora 35 and it builds successfully without any problems. I’m using the same versions of mpi, cmake and gcc that you’ve listed below, in addition to the same blas and lapack packages. There is, however, a problem building 5.0.3 with my configuration. I think the problem I’m seeing is because I’m using a version of boost that is not compatible with 5.0.3. I’m using the version installed from packages on Fedora 35 which is 1.76.0-5-fc35. Just for your information, I built successfully by starting a fresh Fedora 35 container, run “yum update” and then install the following packages: blas-devel boost-devel cmake gcc-c++ gcc-gfortran git lapack-devel libXmu-devel make scotch-devel tinyxml-devel zlib-devel openmpi-devel ptscotch-openmpi-devel I then cloned Nektar++ from gitlab.nektar.info/nektar/nektar.git <http://gitlab.nektar.info/nektar/nektar.git> (in order to use the latest master branch rather than using an older source release), made a build directory and changed into it. Before running CMake, because Fedora 35 seems to put MPI in a non-standard location, you need to set some environment variables for CMake to find MPI: export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:${LD_LIBRARY_PATH} export LIBRARY_PATH=/usr/lib64/openmpi/lib:${LIBRARY_PATH} export PATH=/usr/lib64/openmpi/bin:${PATH} export PKG_CONFIG_PATH=/usr/lib64/openmpi/lib/pkgconfig:${PKG_CONFIG_PATH} I was then able to configure successfully using CMake. I’m using the default settings but turning on MPI support. cmake -DNEKTAR_USE_MPI=ON .. I then ran make and the build completed successfully. I suspect you may need to clear your build directory and rerun CMake if you’ve previously built v5.0.3 and are finding that the build is not working. If you’re still having issues, can you send us the full CMake configuration that you’re using as well as confirming the version of Boost you have installed. Thanks, Jeremy
On 29 Mar 2023, at 22:52, Guillermo Suarez <guillermo180395@gmail.com> wrote:
Hi Jeremy,
Thank you for your reply.
To answer your questions: - I get the exact same error for the master version. - Before installing the dev version of Lapack etc, I was able to install all nektar++ versions v5.X.X successfully. - Regarding the mpi.h, I didn't do anything. Configured the project with 'ccmake' and then just ran 'make'. It is strange that mpi.h was not found even though cmake detected it. You can also see in the CMake error file that there is an undefined reference to 'dgemm_', even though I have Lapack/Blas installed and it was detected by cmake.
Please let me know if you require any additional file.
Kind regards, Guillermo
On Wed, 2023-03-29 at 21:55 +0100, Jeremy Cohen wrote:
Hi Guillermo,
I haven’t had a chance to investigate this in any detail yet but I note that you seem to be using Fedora 35 and a fairly out of date source release of Nektar++ 5.0.3?
I seem to recall that there were some challenges building on Fedora 35 a little while ago which should be fixed in a more recent release. Have you updated your system version in recent months or you have previously built v5.0.3 on Fedora 35 successfully?
The error looks to be something related to a null pointer in one of the unit test source files so I suspect this is not directly related to Blas/Lapack - I could be wrong and would need to check in more detail.
Just looking now in the CMake error file, I also note that it looks like it can’t find mpi.h, although actually I would have though that you couldn’t start building if that wasn’t resolved, so maybe you resolved this before starting the build?
Best wishes, Jeremy
On 29 Mar 2023, at 09:30, Guillermo Suárez < guillermo180395@gmail.com> wrote:
This email from guillermo180395@gmail.com originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list to disable email stamping for this address.
Hi,
I have recently installed the development versions of Lapack and Blas (along with some other libraries) on my local machine. I have tried to rebuild nektar, without any modification to the make file, and it failed because of different errors. I have also tried to with a clean installation of the latest version, also without success - same error. I could not manage to find the issue. I am attaching the CMake log files as well as part of the screen output.
Some useful information: mpirun (Open MPI) 4.1.1 cmake version 3.24.2 g++ (GCC) 11.3.1 20220421 Package lapack-devel-3.10.1-1.fc35.x86_64 is already installed. Package lapack-3.10.1-1.fc35.x86_64 is already installed. Package blas-devel-3.10.1-1.fc35.x86_64 is already installed. Package blas-3.10.1-1.fc35.x86_64 is already installed.
Any help will be appreciated.
Thank you Guillermo
<output.out><CMakeOutput.log><CMakeError.log>______________________ _________________________ Nektar-users mailing list Nektar-users@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/nektar-users
Hi Jeremy, Following your steps I am indeed able to install nektar++. Nevertheless, I am still getting the same errors in the CMake log: "dgemm_" and "mpi.h" not found. Now I can also install 5.0.3 (also with the same errors). I have installed nektar master and 5.0.3 in two other workstations: Fedora 34 and slurm. In both of them I can install both nektar versions successfully though still getting the same errors. Thank you for the assistance. Guillermo On Thu, 2023-03-30 at 20:47 +0100, Jeremy Cohen wrote:
Hi Guillermo,
I’ve had a go at building the Nektar++ master branch on Fedora 35 and it builds successfully without any problems. I’m using the same versions of mpi, cmake and gcc that you’ve listed below, in addition to the same blas and lapack packages.
There is, however, a problem building 5.0.3 with my configuration. I think the problem I’m seeing is because I’m using a version of boost that is not compatible with 5.0.3. I’m using the version installed from packages on Fedora 35 which is 1.76.0-5-fc35.
Just for your information, I built successfully by starting a fresh Fedora 35 container, run “yum update” and then install the following packages:
blas-devel boost-devel cmake gcc-c++ gcc-gfortran git lapack-devel libXmu-devel make scotch-devel tinyxml-devel zlib-devel openmpi-devel ptscotch-openmpi-devel
I then cloned Nektar++ from gitlab.nektar.info/nektar/nektar.git (in order to use the latest master branch rather than using an older source release), made a build directory and changed into it. Before running CMake, because Fedora 35 seems to put MPI in a non-standard location, you need to set some environment variables for CMake to find MPI:
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:${LD_LIBRARY_PATH} export LIBRARY_PATH=/usr/lib64/openmpi/lib:${LIBRARY_PATH} export PATH=/usr/lib64/openmpi/bin:${PATH} export PKG_CONFIG_PATH=/usr/lib64/openmpi/lib/pkgconfig:${PKG_CONFIG_PATH}
I was then able to configure successfully using CMake. I’m using the default settings but turning on MPI support.
cmake -DNEKTAR_USE_MPI=ON ..
I then ran make and the build completed successfully.
I suspect you may need to clear your build directory and rerun CMake if you’ve previously built v5.0.3 and are finding that the build is not working.
If you’re still having issues, can you send us the full CMake configuration that you’re using as well as confirming the version of Boost you have installed.
Thanks,
Jeremy
On 29 Mar 2023, at 22:52, Guillermo Suarez < guillermo180395@gmail.com> wrote:
Hi Jeremy,
Thank you for your reply.
To answer your questions: - I get the exact same error for the master version. - Before installing the dev version of Lapack etc, I was able to install all nektar++ versions v5.X.X successfully. - Regarding the mpi.h, I didn't do anything. Configured the project with 'ccmake' and then just ran 'make'. It is strange that mpi.h was not found even though cmake detected it. You can also see in the CMake error file that there is an undefined reference to 'dgemm_', even though I have Lapack/Blas installed and it was detected by cmake.
Please let me know if you require any additional file.
Kind regards, Guillermo
On Wed, 2023-03-29 at 21:55 +0100, Jeremy Cohen wrote:
Hi Guillermo,
I haven’t had a chance to investigate this in any detail yet but I note that you seem to be using Fedora 35 and a fairly out of date source release of Nektar++ 5.0.3?
I seem to recall that there were some challenges building on Fedora 35 a little while ago which should be fixed in a more recent release. Have you updated your system version in recent months or you have previously built v5.0.3 on Fedora 35 successfully?
The error looks to be something related to a null pointer in one of the unit test source files so I suspect this is not directly related to Blas/Lapack - I could be wrong and would need to check in more detail.
Just looking now in the CMake error file, I also note that it looks like it can’t find mpi.h, although actually I would have though that you couldn’t start building if that wasn’t resolved, so maybe you resolved this before starting the build?
Best wishes, Jeremy
On 29 Mar 2023, at 09:30, Guillermo Suárez < guillermo180395@gmail.com> wrote:
This email from guillermo180395@gmail.com originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list to disable email stamping for this address.
Hi,
I have recently installed the development versions of Lapack and Blas (along with some other libraries) on my local machine. I have tried to rebuild nektar, without any modification to the make file, and it failed because of different errors. I have also tried to with a clean installation of the latest version, also without success - same error. I could not manage to find the issue. I am attaching the CMake log files as well as part of the screen output.
Some useful information: mpirun (Open MPI) 4.1.1 cmake version 3.24.2 g++ (GCC) 11.3.1 20220421 Package lapack-devel-3.10.1-1.fc35.x86_64 is already installed. Package lapack-3.10.1-1.fc35.x86_64 is already installed. Package blas-devel-3.10.1-1.fc35.x86_64 is already installed. Package blas-3.10.1-1.fc35.x86_64 is already installed.
Any help will be appreciated.
Thank you Guillermo
<output.out><CMakeOutput.log><CMakeError.log>__________________ ____ _________________________ Nektar-users mailing list Nektar-users@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/nektar-users
Hi Guillermo, Good to hear that you’re now able to build Nektar++ successfully. The messages you’re seeing in the CMake output are just information messages that result from the logic that the CMake configuration is using to search for MPI and BLAS/LAPACK. If the required libraries are ultimately not found, the CMake configuration process will fail and you will not be able to build the code. If you take a look at the CMake MPI discovery code at https://gitlab.nektar.info/nektar/nektar/-/blob/master/cmake/ThirdPartyMPI.c... <https://gitlab.nektar.info/nektar/nektar/-/blob/master/cmake/ThirdPartyMPI.cmake#L20>, you’ll see that the first thing it tries to do is to see whether the compiler being used has MPI functionality built in - it does this by looking for mpi.h in the default include path and seeing if the MPI_Send function is available. This fails and I also see the output: -- Looking for include file mpi.h -- Looking for include file mpi.h - not found -- Looking for MPI_Send -- Looking for MPI_Send - not found Subsequently, the configuration then uses CMake’s standard FIND_PACKAGE functionality to search for a separate MPI installation on the system. I then see: -- Found MPI_C: /usr/lib64/openmpi/lib/libmpi.so (found version "3.1") -- Found MPI_CXX: /usr/lib64/openmpi/lib/libmpi_cxx.so (found version "3.1") -- Found MPI_Fortran: /usr/lib64/openmpi/lib/libmpi_usempif08.so (found version "3.1") -- Found MPI: TRUE (found version "3.1") -- Found MPI: /usr/lib64/openmpi/lib/libmpi_cxx.so;/usr/lib64/openmpi/lib/libmpi.so Something very similar is happening with BLAS/LAPACK. If you look at https://gitlab.nektar.info/nektar/nektar/-/blob/master/cmake/ThirdPartyBlasL... <https://gitlab.nektar.info/nektar/nektar/-/blob/master/cmake/ThirdPartyBlasLapack.cmake#L12>, you’ll see that CMake is first checking whether the compiler provides built in BLAS functionality. It does this by checking for the _dgemm function. When this is not found, you see: -- Looking for dgemm_ -- Looking for dgemm_ - not found CMake then searches for the availability of various different BLAS/LAPACK libraries and, assuming something is found, it then prints a message to confirm this - after some further messages about Fortran functions not being found, I then see: -- Found BLAS and LAPACK: /usr/lib64/liblapack.so;/usr/lib64/libblas.so So, the messages saying that various functions are not found are not significant in this context, assuming that ultimately the required libraries are found. I hope this helps to explain some of the output you’re seeing. Kind regards, Jeremy
On 2 Apr 2023, at 09:10, Guillermo Suarez <guillermo180395@gmail.com> wrote:
Hi Jeremy,
Following your steps I am indeed able to install nektar++. Nevertheless, I am still getting the same errors in the CMake log: "dgemm_" and "mpi.h" not found. Now I can also install 5.0.3 (also with the same errors).
I have installed nektar master and 5.0.3 in two other workstations: Fedora 34 and slurm. In both of them I can install both nektar versions successfully though still getting the same errors.
Thank you for the assistance. Guillermo
On Thu, 2023-03-30 at 20:47 +0100, Jeremy Cohen wrote:
Hi Guillermo,
I’ve had a go at building the Nektar++ master branch on Fedora 35 and it builds successfully without any problems. I’m using the same versions of mpi, cmake and gcc that you’ve listed below, in addition to the same blas and lapack packages.
There is, however, a problem building 5.0.3 with my configuration. I think the problem I’m seeing is because I’m using a version of boost that is not compatible with 5.0.3. I’m using the version installed from packages on Fedora 35 which is 1.76.0-5-fc35.
Just for your information, I built successfully by starting a fresh Fedora 35 container, run “yum update” and then install the following packages:
blas-devel boost-devel cmake gcc-c++ gcc-gfortran git lapack-devel libXmu-devel make scotch-devel tinyxml-devel zlib-devel openmpi-devel ptscotch-openmpi-devel
I then cloned Nektar++ from gitlab.nektar.info/nektar/nektar.git (in order to use the latest master branch rather than using an older source release), made a build directory and changed into it. Before running CMake, because Fedora 35 seems to put MPI in a non-standard location, you need to set some environment variables for CMake to find MPI:
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib:${LD_LIBRARY_PATH} export LIBRARY_PATH=/usr/lib64/openmpi/lib:${LIBRARY_PATH} export PATH=/usr/lib64/openmpi/bin:${PATH} export PKG_CONFIG_PATH=/usr/lib64/openmpi/lib/pkgconfig:${PKG_CONFIG_PATH}
I was then able to configure successfully using CMake. I’m using the default settings but turning on MPI support.
cmake -DNEKTAR_USE_MPI=ON ..
I then ran make and the build completed successfully.
I suspect you may need to clear your build directory and rerun CMake if you’ve previously built v5.0.3 and are finding that the build is not working.
If you’re still having issues, can you send us the full CMake configuration that you’re using as well as confirming the version of Boost you have installed.
Thanks,
Jeremy
On 29 Mar 2023, at 22:52, Guillermo Suarez < guillermo180395@gmail.com> wrote:
Hi Jeremy,
Thank you for your reply.
To answer your questions: - I get the exact same error for the master version. - Before installing the dev version of Lapack etc, I was able to install all nektar++ versions v5.X.X successfully. - Regarding the mpi.h, I didn't do anything. Configured the project with 'ccmake' and then just ran 'make'. It is strange that mpi.h was not found even though cmake detected it. You can also see in the CMake error file that there is an undefined reference to 'dgemm_', even though I have Lapack/Blas installed and it was detected by cmake.
Please let me know if you require any additional file.
Kind regards, Guillermo
On Wed, 2023-03-29 at 21:55 +0100, Jeremy Cohen wrote:
Hi Guillermo,
I haven’t had a chance to investigate this in any detail yet but I note that you seem to be using Fedora 35 and a fairly out of date source release of Nektar++ 5.0.3?
I seem to recall that there were some challenges building on Fedora 35 a little while ago which should be fixed in a more recent release. Have you updated your system version in recent months or you have previously built v5.0.3 on Fedora 35 successfully?
The error looks to be something related to a null pointer in one of the unit test source files so I suspect this is not directly related to Blas/Lapack - I could be wrong and would need to check in more detail.
Just looking now in the CMake error file, I also note that it looks like it can’t find mpi.h, although actually I would have though that you couldn’t start building if that wasn’t resolved, so maybe you resolved this before starting the build?
Best wishes, Jeremy
On 29 Mar 2023, at 09:30, Guillermo Suárez < guillermo180395@gmail.com> wrote:
This email from guillermo180395@gmail.com originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders list to disable email stamping for this address.
Hi,
I have recently installed the development versions of Lapack and Blas (along with some other libraries) on my local machine. I have tried to rebuild nektar, without any modification to the make file, and it failed because of different errors. I have also tried to with a clean installation of the latest version, also without success - same error. I could not manage to find the issue. I am attaching the CMake log files as well as part of the screen output.
Some useful information: mpirun (Open MPI) 4.1.1 cmake version 3.24.2 g++ (GCC) 11.3.1 20220421 Package lapack-devel-3.10.1-1.fc35.x86_64 is already installed. Package lapack-3.10.1-1.fc35.x86_64 is already installed. Package blas-devel-3.10.1-1.fc35.x86_64 is already installed. Package blas-3.10.1-1.fc35.x86_64 is already installed.
Any help will be appreciated.
Thank you Guillermo
<output.out><CMakeOutput.log><CMakeError.log>__________________ ____ _________________________ Nektar-users mailing list Nektar-users@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/nektar-users
participants (4)
- 
                
                Cohen, Jeremy
- 
                
                Guillermo Suarez
- 
                
                Guillermo Suárez
- 
                
                Jeremy Cohen