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

Unhelpful error message if attempting to install TAU Commander on arm64 #413

Open
nchaimov opened this issue Apr 7, 2022 · 6 comments
Open

Comments

@nchaimov
Copy link
Member

nchaimov commented Apr 7, 2022

Attempting to run the TAU Commander makefile on an arm64 MacOS displays:

Makefile:144: *** commands commence before first target. Stop.

While installation on arm64 Macs is not expected to succeed since we don't provide an arm64 macOS CommanderConda, in this case it should print a better error message that tells the user what the problem is.

@zbeekman
Copy link
Member

zbeekman commented Apr 7, 2022

Supporting ARM64 on macOS should be feasible from the Python/TAU Commander perspective, but I'm not sure how close or how far TAU itself is from this. Either way, an appropriate warning/error message should be created in the meantime.

@nchaimov
Copy link
Member Author

nchaimov commented Apr 7, 2022

TAU already supports arm64 macOS, except for source instrumentation, primarily because it requires PDT requires GCC headers and not Clang, and GCC isn't going to be fully supported on arm64 macOS until the next major release. Clang-based instrumentation should fix that issue.

@zbeekman
Copy link
Member

zbeekman commented Apr 7, 2022

great, then I'll think about what it would take to support it in TAU Commander & Commander Conda and if it's not a huge task try to make it happen for the next release.

@zbeekman
Copy link
Member

zbeekman commented Jul 6, 2022

I'm having trouble reproducing this. Where in the parsing/execution of the Makefile does this error get thrown?

I've created a test repo to debug this issue on macOS arm64 and a Commander Conda macOS arm64 issue. The Makefile is a verbatim copy of the TAU Commander Makefile but with a few of the recipes commented out. The CI workflow runs on macOS x86_64 and arm64 and executes make python_check without errors, AFAICT.

I also don't see any code in the Makefile that would conditionally execute only on macOS arm64 and testing on my x86_64 macbook pro doesn't seem to trigger the error either.

@nchaimov
Copy link
Member Author

nchaimov commented Jul 6, 2022

I'm not sure where this is occurring. If I run with debug logging enabled, the error seems to happen prior to anything in the Makefile actually executing:

With the make that ships with macOS:

❯ make --debug
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0
Reading makefiles...
Makefile:144: *** commands commence before first target.  Stop.

With gmake from Homebrew:

❯ gmake --debug
GNU Make 4.3
Built for arm-apple-darwin21.1.0
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Makefile:144: *** recipe commences before first target.  Stop.

@nchaimov nchaimov changed the title Unhelpful error message if attempting to install TAU Commander on arm64 macOS Unhelpful error message if attempting to install TAU Commander on arm64 Nov 14, 2022
@nchaimov
Copy link
Member Author

It turns out there's nothing specific to macOS about this: the same problem happens on arm64 Linux:

nchaimov@pickledeggs-vm:~/taucmdr$ uname -a
Linux pickledeggs-vm 5.19.0-23-generic #24-Ubuntu SMP PREEMPT_DYNAMIC Fri Oct 14 15:40:27 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux

nchaimov@pickledeggs-vm:~/taucmdr$ make install INSTALLDIR=$HOME/taucmdr-inst
Makefile:144: *** recipe commences before first target.  Stop.

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

No branches or pull requests

2 participants