Skip to content
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

Setting up team's Mac mini #1242

Merged
merged 36 commits into from
Jan 17, 2025
Merged

Setting up team's Mac mini #1242

merged 36 commits into from
Jan 17, 2025

Conversation

chapman39
Copy link
Collaborator

@chapman39 chapman39 commented Oct 4, 2024

Some things I've updated (am updating) during the process of setting up the Serac shared Mac mini.

Features:

  • Update example mac spack.yaml
    • Separate Brew packages from /usr packages
  • Update docs on how to build on Mac (package versions, adding additional packages for simpler concretizer tree, etc.)
  • Fixes Mac devtool issues by creating a Python venv before calling uberenv (Fixes +devtools fails to concretize on macos #1206)
  • Removes BoundaryCond.DirectTrueDofs test, which was failing on MacMini only (Fixes boundary_cond test fails on macos #1207)
  • Setup cron job testing Serac build/ tests
  • Document how to setup an additional user on the Mac mini

Readthedocs:

@chapman39 chapman39 added documentation Improvements or additions to documentation CI Continuous Integration labels Oct 4, 2024
@chapman39 chapman39 self-assigned this Oct 4, 2024
@chapman39
Copy link
Collaborator Author

chapman39 commented Oct 4, 2024

Installing the latest llvm/ clang (@19.1.1) caused some problems building Axom, so to avoid that used brew install llvm@14. Here is the build error I got:

==> Installing axom-0.9.0.1-c2vvp4ki46aesbfiafjfnhpil35x3hqr [37/39]
==> No binary for axom-0.9.0.1-c2vvp4ki46aesbfiafjfnhpil35x3hqr found: installing from source
==> Ran patch() for axom
==> axom: Executing phase: 'initconfig'
==> axom: Executing phase: 'cmake'
==> axom: Executing phase: 'build'
==> Error: ProcessError: Command exited with status 2:
    'make' '-j10'

...

  >> 370    /Users/chapman39/dev/serac/serac_tpls/spack/opt/spack/darwin-sonoma-m2/clang-19.1.1/raja-2024.02.0-cvabateje3nivxumnufmwkvhqdhawjww/include/RAJA/pattern/kernel/Tile.hpp:174:30: error: no member named 'block_id' in 'I
            terableTiler<Iterable>'
     371      174 |       return block_id != rhs.block_id;
     372          |                          ~~~ ^

@chapman39 chapman39 changed the title Setting up team's MacMini Setting up team's Mac mini Oct 11, 2024
@chapman39 chapman39 marked this pull request as ready for review December 6, 2024 00:30
@chapman39
Copy link
Collaborator Author

@btalamini Here is a summary of some of the linker warnings the mac mini build gets

 9013 ld: warning: reexported library with install name '/opt/homebrew/opt/llvm@14/lib/libunwind.1.dylib' found at '/opt/homebrew/Cellar/llvm@14/14.0.6/lib/libunwind.1.0.dylib' couldn't be matched with any parent library and will be linked directly
...
 9143 ld: warning: -ld_classic is deprecated and will be removed in a future release
...
 9046 ld: warning: duplicate -rpath '/opt/homebrew/lib' ignored
 9047 ld: warning: duplicate -rpath '/Users/chapman39/dev/serac/serac_tpls/spack/opt/spack/darwin-sonoma-aarch64/clang-14.0.6/parmetis-4.0.3-faxw36ybmuntuwxu5p3zka57sbf3yyfe/lib' ignored
...
 9079 ld: warning: could not create compact unwind for ___gcc_nested_func_ptr_deleted: does not use standard frame
 9080 ld: warning: could not create compact unwind for _petscbagregisterenum_: does not use standard frame
 9081 ld: warning: could not create compact unwind for ___petscsys_MOD_petscinitializenoarguments: does not use standard frame

@chapman39 chapman39 added the ready for review Ready for active inspection by reviewers label Dec 30, 2024
@tupek2
Copy link
Collaborator

tupek2 commented Jan 3, 2025

Installing the latest llvm/ clang (@19.1.1) caused some problems building Axom, so to avoid that used brew install llvm@14. Here is the build error I got:

==> Installing axom-0.9.0.1-c2vvp4ki46aesbfiafjfnhpil35x3hqr [37/39]
==> No binary for axom-0.9.0.1-c2vvp4ki46aesbfiafjfnhpil35x3hqr found: installing from source
==> Ran patch() for axom
==> axom: Executing phase: 'initconfig'
==> axom: Executing phase: 'cmake'
==> axom: Executing phase: 'build'
==> Error: ProcessError: Command exited with status 2:
    'make' '-j10'

...

  >> 370    /Users/chapman39/dev/serac/serac_tpls/spack/opt/spack/darwin-sonoma-m2/clang-19.1.1/raja-2024.02.0-cvabateje3nivxumnufmwkvhqdhawjww/include/RAJA/pattern/kernel/Tile.hpp:174:30: error: no member named 'block_id' in 'I
            terableTiler<Iterable>'
     371      174 |       return block_id != rhs.block_id;
     372          |                          ~~~ ^

FYI, I was able to get things compiled with llvm19.1.6 by pointing instead to ^raja@main

@chapman39
Copy link
Collaborator Author

chapman39 commented Jan 3, 2025

FYI, I was able to get things compiled with llvm19.1.6 by pointing instead to ^raja@main

@tupek2 i made an issue here LLNL/radiuss-spack-configs#115 we should update spack and radiuss-spack-configs next tpl build

EDIT: nvm. updating to [email protected] will resolve the issue, and that version is already in radiuss-spack-configs. we may need to update the radiuss-spack-configs submodule though.

cd $PROJECT_DIR

# Update Serac
git checkout task/chapman39/macmini-build >> $OUTPUT_LOG 2>&1 # TODO CHANGE TO DEVELOP
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be helpful when reading the log to have some large comment breaks. If things go wrong it helps associating errors with commands. Something like :

########### Git Checkout #########
// git command
########### End Git Checkout ######

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ended up with a slightly different approach - wrapping printing, running, logging commands in a function. heres a sample

####################
# git pull
####################
X11 forwarding request failed on channel 0
Already up to date.

####################
# git submodule update --init --recursive
####################
error: Your local changes to the following files would be overwritten by checkout:
	uberenv.py
Please commit your changes or stash them before you switch branches.
Aborting
Unable to checkout '0a39ce245d7866374bf4724bec9da6ab4cf4dfcc' in submodule path 'scripts/uberenv'

####################
# mutt -a /usr/workspace/meemee/serac/repo/macmini-build-and-test-2025_01_17_13_46_52.log -s Serac Succeeded! MacMini build and test report Fri Jan 17 13:46:57 PST 2025 -- [email protected]
####################

Copy link
Member

@white238 white238 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small nitpicks but otherwise looks great. Thanks @chapman39 !

@chapman39 chapman39 enabled auto-merge January 17, 2025 22:03
@chapman39 chapman39 merged commit 704006a into develop Jan 17, 2025
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI Continuous Integration documentation Improvements or additions to documentation ready for review Ready for active inspection by reviewers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

boundary_cond test fails on macos +devtools fails to concretize on macos
3 participants