-
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
Latest update broke OpenBLAS on 10.6 (x86_64 and ppc): Makefile.conf:8: *** missing separator. Stop. #3989
Comments
You'll want to skip 0.3.22 for unrelated reasons, and I am not immediately aware of any relevant recent changes in the tools that generate Makefile.conf. From the log you posted, |
@martin-frbg Could you refer to those please? Perhaps Macports maintainer @cjones051073 would want to be aware of that.
It was failing for some time with builds from master branch (see Trac ticket). However 0.3.21 built fine. |
Mhh, I also notice that you are applying a number of patches, including to c_check ? |
Thank you for pointing that out. Those aren’t mine, I guess (I am not a maintainer of
I will check that too. |
#3976 - a seemingly harmless change in GETRF/GETF2 that had unexpected consequences. 0.3.23 was released yesterday. |
Hm, could it be that your (cross)-compiler path length used to be shorter in the recent past ? That dash on line 8 definitely belongs on the end of line 7, there is no other output field between CROSS_SUFFIX and CROSS |
This is very much unlikely (same prefix, same port name, why would it be different). In fact, as I recall, compiler is literally the same, there were no recent updates. Also, that does not explain why builds are fine on other systems. |
I have no idea what your other systems do, I do notice that the whole _opt_var_macports path is unusually long and there is no reason (in the script) why it would be split across lines 7&8 to create a spurious dash on line 8. |
Well, in any case I cannot do anything about Macports paths – we need to fix UPD. This commit broken it: aaaecdb |
Ah, thanks for the bisect - that is unfortunate, and I reckon it was at least the second attempt to support spaces here portably. Guess that line would have to be conditional on not being on macos, if nothing else |
So far I do not see why this would break, and I cannot reproduce the problem on either OSX-M1 or Linux-x86_64 even when faking your long compiler paths (unfortunately no easy osx-x86 access until next weekend, but the c_check is supposed to be universally applicable). I also do not get why a simple (As an aside, your i386-Apple.diff seems to suggest that cpuid is available and reliable on 32bit ? Is that a specialty of the environment macports is expected to be used in, or could this patch be upstreamed here ?) |
macports restricts the compiler selection for building openblas to newer clang and gcc versions. It appears both of those compiler families support cpuid for i386. So it’s upstreamable only if the appropriate compilers are used… |
@kencu thank you. Adding an ifdef based on compiler versions should not be a problem I think. But I still fail to reproduce the original issue here (now tested on OSX-x86_64 in Azure CI) - allowing space(s) within the CC string does not appear to be the actual cause in itself. Is there anything in your usual build environment that would make the OpenBLAS c_check script "think" you were actually trying to cross-compile ? (My understanding is/was that it is just a regular build on and for x86_64 ?) |
The error happens (for us in MacPorts) only on 10.6, for two archs (x86_64 and ppc). So it may not be easy to reproduce elsewhere. |
Oh, ok, this strongly suggests some bug or limitation in a system component, like maximum line length in the shelI I guess. Azure has versions 11 and 12 only - isn't 10.6 more than ten years old anyway ? |
We support everything from 10.4.x onwards :) This error is, however, very untypical, AFAICT. I cannot recall anything of this kind, and we test thousands of ports. Given that a specific commit broken the build, likely it was a suboptimal solution anyway. |
I suspect is has to be a combination of the change from that commit and the rather long installation path name in your builds - if it only affects macports for version 10.6 (and possibly earlier), I wonder if it would be easier for you to carry a patch to revert the PR on the affected OS versions, or for me to add a MacOS version check and ifdef the changes inside c_check ? |
@martin-frbg It is very much likely that the same error gonna occur on <10.6 too, I just cannot verify it right now (and no build bots). We have already reverted the breaking commit in a patch (it does no good to any macOS, but breaks some), but it is always preferable to have a fix in upstream – and that may also benefit users who do not install via Macports. |
I have not had a complaint from Homebrew yet , but maybe nobody there builds for Snow Leopard anymore. My only (inherited) Mac is 10.14.6 and none of the usual CI providers appears to offer anything that old, so I cannot debug this myself to identify the actual source of the problem. Also no idea if or why a Mac user would end up with a path containing spaces, but as far as I know it is not prohibited by the OS (?) |
It is certainly possible to have file names with spaces and therefore paths, but that should not be the case for compilers, I believe, or any meaningful software installations. P. S. MacOS does have |
FWIW, this happens on macOS 11 as well, when cross compiling for arm64: |
@saudet thanks, that is very useful information. I wonder why I did not see this in my cross-compile tests on Azure CI - are you using gcc and/or something from an Apple SDK for the build there, or |
nvm, found the cppbuild.sh - still wondering why my test did not trigger this though... but I guess I never tried an actual cross-compile with clang there. |
Hopefully fixed now by #3996 - can you please confirm ? |
I will test tomorrow and let you know. Thank you. |
unfortunately #3996 only "worked" by way of a syntax error in a test statement effectively disabling the CROSS_SUFFIX line. |
yes, currently testing #4010 |
Assuming fixed by an embarassingly long series of PRs |
@martin-frbg We hope it is! :) |
See: https://trac.macports.org/ticket/66907
Log from 10.6.8 x86_64 with clang: https://build.macports.org/builders/ports-10.6_x86_64-builder/builds/149261/steps/install-port/logs/stdio
The text was updated successfully, but these errors were encountered: