choosenim
choosenim copied to clipboard
choosenim binary builds for macOS need 10.13
So I just got this error after upgrading:
~ » choosenim update devel
Updating devel
Downloading Nim devel from GitHub
[##################################################] 100.0% 0kb/s
Extracting nim-1.1.1-osx.tar.xz
dyld: lazy symbol binding failed: Symbol not found: _futimens
Referenced from: /Users/dom/.nimble/bin/choosenim (which was built for Mac OS X 10.13)
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _futimens
Referenced from: /Users/dom/.nimble/bin/choosenim (which was built for Mac OS X 10.13)
Expected in: /usr/lib/libSystem.B.dylib
[1] 34238 trace trap choosenim update devel
@genotrance any way we can fix that in the CI? I guess I will rebuild choosenim on my machine manually and upload the release there so that it's more compatible with older macOS versions.
So we need an older osx to build on?
Looks like Travis allows you to use older versions of OSX x Xcode.
What version should we pick?
https://docs.travis-ci.com/user/reference/osx#macos-version
Oldest one they offer would be ideal
Is this error from Nim/Nimble or a general OpenSSL error?
https://travis-ci.org/github/dom96/choosenim/jobs/662606144#L7838
Could not download: Please upgrade your OpenSSL library, it does not support the necessary protocols. OpenSSL error is: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
Any idea how to work around this? I've already gone as far as 10.11.
Edit: On 10.12, that error goes away but then curl is failing:
https://travis-ci.org/github/dom96/choosenim/jobs/662749414#L12119
curl: (35) SSL peer handshake failed, the server most likely requires a client certificate to connect [AssertionError]
This is a general openssl error. But it can happen in Nimble, since Nimble uses httpclient. You can get around it by installing a newer openssl using homebrew (and setting DYLB_LIBRARY_PATH
).
Strange that the curl error happens on 10.12, it works for me on 10.11.
It seems like we need to ditch openssl altogether and statically link to libressl or something else. Cannot expect users to fight with openssl on OSX. Thoughts?
I don't understand how curl fails on 10.12 when it worked fine for me on 10.11 for a long time, the reason I implemented curl in the first place is because I was running 10.11 and wanted something that worked. Are you sure that curl doesn't work on 10.12?
All deps are now statically linked - wonder if the new OSX binary will run with older versions of the OS.