-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
gfortran 11 ARM-darwin (Apple M1) build failure #3222
Comments
The only place I can see is this: which is using |
If that's the case, a possible patch is:
unless |
Probably sufficient to remove (or enclose in an |
Thanks, @martin-frbg. I've tried applying the patch you suggest (i.e. just removing those two |
No idea actually - maybe something changed in the default arguments used by gfortran in 11.1 ? What f_check does here is parse verbose output from building a small test program, so something in the behaviour of the compiler seems to have changed. |
@martin-frbg Yes, in the latest version of GCC M1 port, the driver will pass If you remove the two if blocks, I think you probably want to rework the code above (https://github.com/xianyi/OpenBLAS/blob/f497bb949bf262d3a97d33958f43945384428043/f_check#L317 and later lines) not to introduce |
I was not sure if the @ was used as a placeholder, or if it had a specific meaning in perl regex... something else will probably be needed as a substitute (unless enclosing all the naughty code in "if not open64" is sufficient as a workaround) |
The gccfarm machine (still) has gcc-10 from homebrew (10.2.1 alias Homebrew GCC 10.2.0_4) |
@martin-frbg yes, because we can't ship GCC 11.1.0 in Homebrew until we fix this openblas failure :) |
Heh. So now I have the added superpower of halting compiler deployment ? Hopefully #3223 fixes it without new side effects. ( I realize now that it is basically the same as your proposal, just using a different character for the replacement - too busy with completely unrelated work yesterday) |
Has this been resolved? Seems to be getting similar error.
|
Looks like you are trying to build an outdated version that is even older than the one the problem was originally seen with. Fix went into 0.3.16, current version is 0.3.20 |
Made changes to
|
Try setting |
Still getting the same error, the script to install looks like the following now:
|
strange. maybe export the MACOSX_DEPLOYMENT_TARGET, or try putting it on the command line before the make (as |
Thanks a lot! I am on version 12.4 so setting |
Confusing that 11.0 was not sufficient. I was just about to make that the new default, but if it needs to match whatever latest version one has installed now there seems to be little point. |
In the installation script, cant we take the value of the version from the client system using |
You're telling me - I'm not a Mac user so no idea how the version mismatch comes about (or whether sw_vers and deployment target always have to be the same) |
Ah. yeah, that's the confusion! I have been Linux throughout, only now have started with Mac. Hope someone from MacOS community may shed a concrete light. |
We are seeing an openblas build failure (in Homebrew: Homebrew/homebrew-core#74843 (comment)) with the latest gcc/gfortran 11.1 port to Apple M1 (ARM-darwin). The failure is:
The compiler appears otherwise functional, so I think it's specific to OpenBLAS. The problem is the
-Wl,-rpath,,loader_path
argument that is passed (twice), and I do not understand where it comes from.The compiler driver itself can, in some circumstances, pass
-Wl,-rpath,@loader_path
which is a valid option. But somehow it seems that this@
gets mangled into a,
making the whole thing invalid.I haven't managed, however, to find where in OpenBLAS build machinery, this could be happening. Can someone point me in the right direction.
The text was updated successfully, but these errors were encountered: