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

Build issues for mac x86_64 and mac arm64 #20113

Merged
merged 20 commits into from
Dec 16, 2024
Merged

Conversation

markcmiller86
Copy link
Member

@markcmiller86 markcmiller86 commented Dec 6, 2024

Description

Resolves #

Type of change

  • Bug fix~~
  • [ ] New feature
  • [ ] Documentation update
  • [ ] Other

How Has This Been Tested?

Reminders:

  • Please follow the style guidelines of this project.
  • Please perform a self-review of your code before submitting a PR and asking others to review it.
  • Please assign reviewers (see VisIt's PR procedures for more information).

Checklist:

  • I have commented my code where applicable.~~
  • [ ] I have updated the release notes.
  • I have made corresponding changes to the documentation.~~
  • [ ] I have added debugging support to my changes.
  • [ ] I have added tests that prove my fix is effective or that my feature works.
  • [ ] I have confirmed new and existing unit tests pass locally with my changes.
  • [ ] I have added new baselines for any new tests to the repo.
  • I have NOT made any changes to protocol or public interfaces in an RC branch.~~

@markcmiller86
Copy link
Member Author

So, on x86_64, ospray is building but apparently using tbb from system install point...

#ospray: INVALID device --> Load of ospray_module_cpu failed due to: 'could not open module lib ospray_module_cpu:
dlopen(/Users/miller86/visit/visit/34rc/release/build-mb-3.4.2-darwin-22-x86_64-release/thirdparty_shared/third_party/ospray/3.0.0/darwin-x86_64/ospray/lib/libospray_module_cpu.3.0.0.dylib, 0x0005):
Library not loaded: /usr/local/opt/tbb/lib/libtbb.12.dylib

Now, I've done what I can to eliminate /usr/local/opt from my path and it is still finding useful stuff there. Presumably there is logic in ospray that goes and looks in the usual places for stuff whether you asked it to or not.

I wonder if temporarily moving /usr/local/opt out of the way when doing release builds would be a good thing to do.

@markcmiller86
Copy link
Member Author

Wait a minute, I don't have a /usr/local/opt on my system

@markcmiller86 markcmiller86 marked this pull request as ready for review December 14, 2024 20:48
@markcmiller86
Copy link
Member Author

This is ready for review. There is one remaining issue after this...to unwind python eggs from pillow but that will be done in a different PR.

@markcmiller86 markcmiller86 requested a review from cyrush December 14, 2024 20:50
@@ -112,7 +112,8 @@ do
$cmd INSTALL_NOTES.txt >> $output
$cmd jvisit$version.tar.gz >> $output
$cmd VisIt-$version.dmg >> $output
$cmd visit$version2.darwin-x86_64.tar.gz >> $output
$cmd visit$version2.darwin22-x86_64.tar.gz >> $output
Copy link
Member Author

Choose a reason for hiding this comment

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

I think we should change these to use file globs that do not use a specific version number of the associated OS (e.g. darwin 22 or debian 10 or fedora 31 or ubuntu 20). Otherwise, this file needs to be constantly updated as those version numbers change.

Copy link
Member Author

Choose a reason for hiding this comment

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

Why do we have both a shell version and a python version for this tool?

Copy link
Member

Choose a reason for hiding this comment

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

I recall the answer to why I created this now.

My goal was to provide one text file with all the checksums and file systems, instead of a separate file for each of the cases. There is also a json version that can be digested by a machine.

Since this involved more string formatting, python was the easiest path vs shell.
I think we can remove the shell script.

Comment on lines +84 to +107
if [[ "$OPSYS" == "Darwin" ]]; then
export OSPRAY_VERSION=${OSPRAY_VERSION:-"3.2.0"}
if [[ "$(uname -m)" == "x86_64" ]]; then
#https://github.com/ospray/OSPRay/releases/download/v3.2.0/ospray-3.2.0.x86_64.macosx.zip
export OSPRAY_FILE=${OSPRAY_FILE:-"ospray-${OSPRAY_VERSION}.x86_64.macosx.zip"}
export OSPRAY_SHA256_CHECKSUM="073587a9fe4f985086e8d1e1c4749860ae81259e4806fe9475792e7864fe0e9c"
elif [[ "$(uname -m)" == "arm64" ]]; then
#https://github.com/ospray/OSPRay/releases/download/v3.2.0/ospray-3.2.0.arm64.macosx.zip
export OSPRAY_FILE=${OSPRAY_FILE:-"ospray-${OSPRAY_VERSION}.arm64.macosx.zip"}
export OSPRAY_SHA256_CHECKSUM="adcaf17e4ed4e98d707a49b07e6ad833029ccff24f45ce3ae33c73254f1ca6a7"
fi
# This isn't really a "source" dir because its pre-built binaries we're dealing with
export OSPRAY_SRC_DIR=${OSPRAY_SRC_DIR:-"${OSPRAY_FILE%.zip*}"}
export OSPRAY_BUILD_DIR=${OSPRAY_BUILD_DIR:-"${OSPRAY_SRC_DIR}-build"}
else
export OSPRAY_VERSION=${OSPRAY_VERSION:-"3.0.0"}
export OSPRAY_FILE=${OSPRAY_FILE:-"ospray-${OSPRAY_VERSION}.tar.gz"}
export OSPRAY_SRC_DIR=${OSPRAY_SRC_DIR:-"${OSPRAY_FILE%.tar*}"}
export OSPRAY_BUILD_DIR=${OSPRAY_BUILD_DIR:-"${OSPRAY_SRC_DIR}-build"}
export OSPRAY_SHA256_CHECKSUM="d8d8e632d77171c810c0f38f8d5c8387470ca19b75f5b80ad4d3d12007280288"
export OSPRAY_LIBS_FILE=${OSPRAY_LIBS_FILE:-"ospray-libs-${OSPRAY_VERSION}.tar.gz"}
export OSPRAY_LIBS_DIR=${OSPRAY_LIBS_DIR:-"${OSPRAY_LIBS_FILE%.tar*}"}
export OSPRAY_LIBS_SHA256_CHECKSUM="8ab33df7ea88d7eb3b9170fc3b6342e77cd105d9549db8bce31cddd5a0336f2f"
fi
Copy link
Member

Choose a reason for hiding this comment

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

should we consider moving to ospray 3.2.0 for non-mac VisIt as well?

@markcmiller86 markcmiller86 merged commit 5836d13 into 3.4RC Dec 16, 2024
4 checks passed
@markcmiller86 markcmiller86 deleted the build-mcm86-342-macos-m1 branch December 16, 2024 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants