darshan-hpc/darshan

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:

Screenshot 2023-06-15 at 12 50 13 PM

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.