-
Notifications
You must be signed in to change notification settings - Fork 11
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
macOS build #3
Comments
A quick and dirty script to get a local copy of the Darwin site: download-apple-ksh.gz |
where ksh-community is commit e7f2542 outputs apple-build.diff.gz To be honest was expecting a much bigger diff :-) |
Build fails. Wasn't expecting this (build.log.gz). I hope it is just my build environment which needs refreshing. |
Just tried on the WS of my colleague - works. Little recipe to reproduce and being able to play with compiler flags:
To try different compiler flags, ditch all cached stuff with |
@jelmd: I just gave this a very quick try (copy+paste of the last 3 commands above into my (differentlhy named, pristine) tmpdir): the build does not succeed on my machine (OSX 10.15.3) but aborts with:
this is only a first feedback. I have not yet tried to find out why it fails. (if you see the problem or know, where I should start looking, please let me know, of course). |
Sure? Looks like success. |
oops, you're right. there it is :|. I misinterpreted the message. sorry for the noise. and I thought I had scanned the whole dir for |
Ahhh, cool! :) All the important stuff lands in Compiler flags: Can you try (possibly a -O2 is sufficient) and bench? I've had only ~ half an hour to check+setup+compile, before he went home (switched off the box)... |
I just ran
so that is cumulative run time (sec) when executing each benchmark 5 times. you were right so this might explain the residual run time differences, e.g. in so: looks very good indeed I'd say: it's quite some years that I have seen ksh93 compile under OSX :) |
Great work gents. Unfortunately my macOS build environment is out-of-service until I rebuilt it, so I can't yell hurrah with you just yet. Since we have a macOS build would it not be a good idea to publicise this... to show the community their is actual work in progress ? If so:
|
macOS build/publicise: patches: I presume the patches used by @jelmd where those found in the Darwin repo? so that would be Apples own patches I guess? and nothing to communicate back to Apple AFAICS for now. it also is not clear to me, yet, what the best strategy for patch review and integration will be. I guess there will be substantial overlap between the patch sets used by different distros. I wonder whether those should be (after thorough review/testing....) not be integrated one-by-one so that further patching during building/installation might not be necessary? this sure is now an option, given that ATT/AST has definitely stated that they are not going beyond 93u+ themselves. |
We have on Apples site the patches to backward support all versions of macOS since OS X. So should we merge or otherwise handle Apple patches we need to be clear on what responsibility we take over. macOS may be departing from POSIX compliance with some security focused changes to the operating system (e.g. sip). This would mean that patches will become specific not to a BSD variant but to macOS specifically. Should that end up in the code ? Ideally for me this would be preprocessor directives. More generally IMHO clean code would be one where we integrate all patches as preprocessing directives controlled though the build system. |
MacOS is not like a Linux distribution. We don't have access to their system build. So we could probably deliver: a) a ready-made binary tarball And all these could be GitHub releases so that extra integration work can be done by others. As the process matures we can reorganise, dispatch, automate as required. |
macports does have "portfiles" (Tcl) but that will be done by the package maintainer (or rather: it exists but did no longer suceed with the build from the ATT repo). so I presume it suffices to provide the necessary ingredients like @jelmd did yesterday but as part of the ksh repo. then like other distros, macports could just start to use (if they are willing to -- remains to be seen) the ksh-community repo as upstream. we don't need to act as 'package maintainer' ourselves, I'd guess ;) |
Ehmm, the provided Makefile should be seen as a proof of concept, i.e. check whether vendor patches work as expected, build process works, performance is about the same or better as with the OS shipped ksh. If so, it is worth to start to unify/integrate the patches into the repo (otherwise sort out later). Not more! And as @jghub said, we definitely do not want to provide OS packages. OS vendors/package maintainers can do this better and we have quite a bit of other tasks, which require their own time, too. |
Apple's official build of
ksh
on macOS is maintained on their Darwin site. We should merge their patches and ensure our build works from here-on on macOS.That done we should encourage update of Homebrew's formula. Likewise for MacPorts.
The text was updated successfully, but these errors were encountered: