-
Notifications
You must be signed in to change notification settings - Fork 1.6k
macOS linker error, MACOSX_DEPLOYMENT_TARGET needs updating. #1580
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
Comments
You need to install 10.6 runtimes in xcode providing that library. |
I see MACOSX_DEPLOYMENT_TARGET has been changed in the past already (#593), on the other hand it should now be possible to override this with an environment variable if necessary, rather than having to edit the Makefile.system itself. |
It's clearer how to compile on macOS now. However, I'd be interested to know why the flag gets set at all. For example, those compiling for their own machine wouldn't need to set it. Those compiling for old versions should presumably know enough about that kind of flag to know to set it. |
Is it a way of advertising what macOS version the library should be compatible to? As it is the library didn't compile out of the box and it took a bit of ferreting around to get it to work. |
Yes, this setting makes sure that the library will be compatible with the named version - probably useful for deploying to a mix of machine generations. This flag was already set (to 10.2 back then) in the original libGoto2 from around 2009 that OpenBLAS builds upon. |
Calling for an opinion poll among those who use (or at least build) OpenBLAS on/for OSX - does the |
10.6 is pretty old now. 10.9 is 5 years old. I would've thought bumping to 10.9 would be reasonable. |
10.8 is still supported. Please check with your latest xcode how old SDK-s you can still add. |
What do the people think who package OpenBLAS MacOS binaries for Julia, condaforge or macports ? @jakirkham @staticfloat |
Over in Julia-land, we use 10.8 as the minimum OSX version by default. That seems to be a nice balance between features and compatibility. It's difficult for us to estimate the distribution of user's computers, but our 10.8+ binaries do not meet with many complaints. There were 1-2 users complaining that we had dropped 10.7- support when we first switched over a year or two ago, but that was it, and for as sizeable a community as we are, I think that means there really aren't that many people still on 10.7-. The other consideration is automated testing; we've been bitten by upgrading something that then stops working on older CI bots, but all Travis builder versions are at 10.10+, so no worries there. I would be totally fine with OpenBLAS moving to 10.8+. |
Sorry to get here late, @martin-frbg. We set macOS 10.9 as our minimum supported version for all binaries produced in conda-forge (including OpenBLAS). That's when |
Thanks. I have moved it to 10.8 now to let #1618 pass the CI tests. |
Pumps MACOSX_DEPLOYMENT_TARGET to 10.9. Xcode 10 on macOS 10.14 warns of libstdc++ deperation with the current target (10.7); the warning can be fixed by pumping the target version. The last release of Mac OS X 10.7 is 6 years old and according to [StatCounter](http://gs.statcounter.com/os-version-market-share/macos/desktop/worldwide), OS X 10.9 and later makes up for more than 95% of all mac OS machine online. Per OpenMathLib/OpenBLAS#1580, 10.9 should be a good minimal release target.
I am currently trying to compile OpenBlas on macOS (10.13.4) with Xcode 9.3.1:
I tried to build out of the box by just invoking
make
- it didn't work. I then tried to copy the travisCI config for a build:make QUIET_MAKE=1 DYNAMIC_ARCH=1 TARGET=NEHALEM NUM_THREADS=32 BINARY=64 INTERFACE64=1
. That didn't work either. The error code was:However, I got the library to successfully build by changing
Makefile.system
, L239, to:export MACOSX_DEPLOYMENT_TARGET=10.9
The text was updated successfully, but these errors were encountered: