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

incorrectly identified arch as "darwin-ppc" or "darwin-i386" on macOS arm64 #20022

Open
BenWibking opened this issue Nov 8, 2024 · 6 comments
Assignees
Labels
bug Something isn't working impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) likelihood medium Neither low nor high likelihood
Milestone

Comments

@BenWibking
Copy link
Contributor

BenWibking commented Nov 8, 2024

Describe the bug

Issue 1. When packaging the Visit install on a macOS arm64 machine, build_visit labels the arch as darwin-ppc.

Issue 2. When running the launcher script $VISIT_INSTALL_DIR/bin/visit, it tries to load the binaries from a darwin-i386 subdirectory.

To Reproduce

Steps to reproduce the behavior. For example:

  1. Run ./build_visit on latest develop on a Mac
  2. See the directories and files created by the packaging script are labeled darwin-ppc.

Expected behavior

It should identify the arch as darwin-arm64 (or similar).

Attachments

Build log:

Desktop

  • OS and version: macOS Sequoia 15.1
  • VisIt Version: develop
  • Server info (if applicable):

Additional context

For issue 2, it looks like the problem is in internallauncher:

        elif self.os == "darwin":
            mach = self.uname("-m")
            release = self.uname("-r")
            version = [int(x) for x in release.split(".")]
            self.osver = version[0]
            if version[0] >= 11:
                if mach == "x86_64":
                    supportedarches.append("darwin-x86_64")
                    supportedarches.append("darwin-i386")
                else:
                    supportedarches.append("darwin-i386") # this line gets executed

The value of mach on this machine is arm64.

@BenWibking BenWibking added bug Something isn't working impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) likelihood medium Neither low nor high likelihood labels Nov 8, 2024
@BenWibking
Copy link
Contributor Author

If internallauncher is updated to include a mach == "arm64" case, I think this issue should also get fixed: #18867.

@cyrush cyrush added this to the 3.4.2 milestone Nov 8, 2024
@cyrush
Copy link
Member

cyrush commented Nov 8, 2024

@BenWibking thanks! We will try to resolve this during our release process for 3.4.2.

@markcmiller86
Copy link
Member

Ok, so this is really just a problem with internallauncher find the install. It isn't something about how masonry or build_visit work to build and deploy VisIt for M1.

@markcmiller86
Copy link
Member

Ok, I have a full native arm64 build of VisIt on my M1. But, packaging is failing at some point. I am seeing vestiges of what is reported here...

[sce2aux:~/visit/3.4RC/release] miller86% find . -type d -name darwin-ppc
./build-mb-3.4.2-darwin-23-arm64-release/build.release/_CPack_Packages/Darwin/TGZ/visit3_4_2.darwin-ppc/3.4.2/darwin-ppc
./build-mb-3.4.2-darwin-23-arm64-release/build.release/_CPack_Packages/Darwin/Bundle/VisIt-3.4.2/VisIt.app/Contents/Resources/3.4.2/darwin-ppc
./build-mb-3.4.2-darwin-23-arm64-release/install.release/3.4.2/darwin-ppc

I have to discover which piece of software is responsible for generating that darwin-ppc name.

@markcmiller86
Copy link
Member

Ok, this rabbit hole is a bit deeper now. None of the codesigning and notarization steps for arm64 macs are working in my release builds because somewhere, its decided the incorrect archicture moniker.

@markcmiller86
Copy link
Member

Turns out there were a lot of cases where darwin-<arch> is handled...

1596180

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) likelihood medium Neither low nor high likelihood
Projects
None yet
Development

No branches or pull requests

3 participants