Unable able to create compatible environment for darshan in darwin due to darhsan-util issues
yariseidenbenz opened this issue · 1 comments
I am trying to pytest sweep of pydarshan to ensure that I don't have any environment issues.
Here are the commands I followed to clean and build the environment
- At root (/vast/home/yaris/darshan) git clean -xfd
- git submodule update --init
- ./prepare.sh
- cd darshan-util
- mkdir build
- cd ../.. in (/vast/home/yaris)
- export DARSHAN_INSTALL_PATH=$PWD/darshan_install
- cd darshan/darshan-util/build
- ../configure --prefix=$DARSHAN_INSTALL_PATH --enable-apxc-mod --enable-apmpi-mod
- make clean
- make install
- make check
cd ../pydarshan
After I fished cleaning and building I did
- python -m pytest
The tests started failing indicating an issue with the environment. I then killed the pytest sweep
Here is the issue I got:
FAILED darshan/tests/test_
cffi_misc.py::test_df_to_rec[POSIX-0-e3sm_io_heatmap_only.darshan] - AttributeError: module 'darshan.backend.cffi_backend' has no attribute 'log_get_apmpi_record'
FAILED darshan/tests/test_cffi_misc.py::test_df_to_rec[POSIX-3-e3sm_io_heatmap_only.darshan] - AttributeError: module 'darshan.backend.cffi_backend' has no attribute 'log_get_apmpi_record'
FAILED darshan/tests/test_cffi_misc.py::test_df_to_rec[POSIX-5-e3sm_io_heatmap_only.darshan] - AttributeError: module 'darshan.backend.cffi_backend' has no attribute 'log_get_apmpi_record'
To troubleshoot I tried
-
git pull upstream main to make sure that I had the most up to date version however I still got the same issue
-
I tried doing the same steps but on another node in Darwin and that gave me the same issue
-
I tried to make a new local isolated environment but that did not work either
I think you just need to run git submodule update --init
before running through all the build steps you listed.
At the top-level of the repo, you should be able to find the modules after you run that:
$ ls modules/autoperf/
apmpi apnvgpu apss apxc ChangeLog LICENSE README.md
For background, we have some modules (named Autoperf) that are included in our repo as a git submodule, so need to make sure they are checked out ahead of the build process.