-
Notifications
You must be signed in to change notification settings - Fork 8
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
Unable to find catch2 include files during pylith-installer build #79
Comments
What does the |
Here's the relevant section of config.log:
|
I don't see the compilation line at the top of the test. For example, when I build the binary using the installer,
Are you installing the dependencies like Catch2 manually or having the installer build them? It is usually easier to have the installer install everything that does not need specific settings for your hardware. For example, you can use |
Sorry. Here's the very top:
Neither of the systems that I ran the build on have catch2 installed so catch2 is indeed being built. I see it in the build directory and I see it in the install directory as well (I also see all of the include files in there as well). Everything is here, I'm just not sure why pythia can't find it. |
I was able to dig deeper into the PyLith installer build and I think I see the problem. The Pythia configure wasn't using the Catch2 settings passed to configure or the default CPPFLAGS. I pushed a fix to |
I'm getting this when I run
This could very well be a config issue on my end, but I also don't have a lot of experience with autoconf. Here is the script I'm currently using. Please let me know if you see any issues:
|
When you clone the repo you need to use the |
Now it's looking for cpp-unit include files:
Here's the error from config.log
Here is my current script (I've already added
|
The current PyLith installer does not know about CppUnit. It only knows about Catch2. I think you cloned the wrong repository or branch. Please try the attached tarball for the installer. |
I'm sorry. I'm running into exactly the same issue. Here's my script:
Same errors as before in pythia-build/config.log:
|
Do you see anything obvious that I'm doing wrong here? |
I don't see any obvious errors in what you are doing. I suspect there is a simple error in the configure.ac + Makefile.am files, but I haven't had time to dig deeper and attempt to reproduce the error. The simplest workaround is to have the installer build all of the dependencies needed other than the compiler and MPI rather than installing them separately. So I would include |
Building all of the dependencies doesn't seem to solve the issue. It still fails with the same catch2 error. However, if I build catch2 myself and load it before I start up the pylith build, it seems to work. pythia does fail later on during testing, but I know what the issue is and it isn't related to your build. To get past this, I just want to disable testing. I've added the |
I was able to work on this some yesterday. I found a typo in my "fix" for finding the catch2 headers and libraries. I also found that the current version of spatialdata needs updated m4 macros to work with numpy v2. In regards to turning off testing, I see that I will fix complete fixing these issues as soon as I can (hopefully next week). Thank you for your patience and perseverance! We really appreciate it when users report issues and help us find the problems. |
Thanks very much! I'll check in next week. :) |
Hello. Just checking in to see if you've had a chance to look at these issues? |
I have a set of fixes that address the problems you have identified. I am including a link to a new installer version for you to try. I needed to update the spatialdata and pylith repos to use new macros for detecting the location of the numpy include files. I haven't bundled new releases yet, so the interim solution is to have the installer use Git repos rather than the release tarballs; this is done through some additional arguments to the installer. It also requires having PCRE and SWIG. Using the Git repos also adds an important fix that was in v4.1.2 but missing from v4.1.3. Please configure with the following arguments in addition to what you need for the dependencies:
|
Hopefully nearing the end here... Is there any way to shut off petsc MPI testing? I'm compiling on a front-end node which does not have array services installed (which prevents users from running MPI tasks on the front-ends...which is good). If I compile on a node, MPI testing will work, but nodes don't have internet access...so you probably know how well that would work. I'm going through the petsc documentation but I'm not seeing anything. I've checked |
I think you might want to configure PETSc using |
Thanks for the extra help! I do realize this is outside of your area of responsibility. Many thanks. :) |
Hello,
I'm having an issue getting pylith-installer (4.1.3) to work. I'm trying to get it built on a cluster (Pleiades at NASA) using our installed MPI (HPE MPT). I'm having pylith-installer build pretty much everything else. However, I keep running into an issue where it can't find the catch2 include files during the pythia build:
/usr/bin/mkdir -p pythia-build
cd pythia-build &&
CFLAGS="-g -O2" CXXFLAGS="-g -O2 -DMPICH_IGNORE_CXX_SEEK" FCFLAGS="" CC=mpicc CXX=mpicxx ../pythia-1.1.0/configure --enable-testing
--prefix=/home/hexboy/local/pylith ;
make &&
make install
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking how to create a pax tar archive... gnutar
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether mpicc accepts -g... yes
checking for mpicc option to enable C11 features... none needed
checking whether mpicc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of mpicc... gcc3
checking whether the compiler supports GNU C++... yes
checking whether mpicxx accepts -g... yes
checking for mpicxx option to enable C++11 features... none needed
checking dependency style of mpicxx... gcc3
checking for library containing MPI_Init... none required
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for mpi.h... yes
checking whether mpicxx supports C++14 features with -std=gnu++14... yes
checking for a Python interpreter with version >= 3.8... python
checking for python... /home/hexboy/local/pylith/bin/python
checking for python version... 3.10
checking for python platform... linux
checking for GNU default python prefix... ${prefix}
checking for GNU default python exec_prefix... ${exec_prefix}
checking for python script directory (pythondir)... ${PYTHON_PREFIX}/lib/python3.10/site-packages
checking for python extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/lib/python3.10/site-packages
checking python sysconfig... ok
checking for python include directory... /home/hexboy/local/pylith/include/python3.10
checking for Python.h... yes
checking python config... ok
checking whether -lpython3.10 is a shared library... yes
checking how to run the C++ preprocessor... mpicxx -std=gnu++14 -E
checking for catch2/catch_test_macros.hpp... no
configure: error: Catch2 header not found; try --with-catch2-incdir=
make[3]: Entering directory '/home/hexboy/code/pylith/build/cig/pythia-build'
make[3]: *** No targets specified and no makefile found. Stop.
make[3]: Leaving directory '/home/hexboy/code/pylith/build/cig/pythia-build'
make[2]: *** [Makefile:721: pythia] Error 2
make[2]: Leaving directory '/home/hexboy/code/pylith/build/cig'
make[1]: *** [Makefile:735: installed_pythia] Error 2
make[1]: Leaving directory '/home/hexboy/code/pylith/build/cig'
make: *** [Makefile:562: all-recursive] Error 1
I've also tried on my Linux laptop. I installed MPICH and tried the same build. I ran into exactly the same error. I've also tried pylith-installer 4.1.2 and ran into the same problem. In the output above, it suggests using
--with-catch2-incdir=<Catch2 include dir>
in the command line. I've tried that as well with no success.Here is my current build script:
I am deleting the pylith build directory and install directory before each test.
Has anyone run into this before? Can anyone tell me if I've made mistakes in the above script?
The text was updated successfully, but these errors were encountered: