5. For gnustep-make build, is this line still mandatory ?
"git checkout `git rev-list -1 --first-parent --before=2017-04-06
master` # fixes segfault, should probably be looked at."
Has this bug in gnustep-make been fixed since 2017-04-06
I can’t speak for Ubuntu, but that definitely isn’t needed on FreeBSD.
That line was added as a workaround for an issue that caused all
apps (on Debian/Ubuntu) to segfault. The issue turned out to be
incorrect instance-variable offsets when using libobjc2's nonfragile-abi.
The reason the script's git-checkout command fixes the crashes is
that until 2017-04-06, gnustep-make's build flag for setting the
nonfragile-abi was in the wrong place, so gnustep-make builds ended up
using the fragile-abi (incorrect abi, but no crashes); When a
gnustep-make fix for the nonfragile-abi flag was checked in on
2017-04-07, builds started using the correct abi, and the crashes
appeared. (The libobjc2 ivar-offset bug was already present before then,
but it was hidden due to using the fragile-abi).
I posted a libobjc2 patch awhile back with a workaround, and an
updated Ubuntu script that installs the patch & can then use the current
gnustep-make from the trunk (rolling it back to 2017-04-06 no longer
needed). As far as I know, that patch & script are currently the only
way to install GNUstep on Debian/Ubuntu so that it uses the
nonfragile-ABI (until a fix is checked into clang). This bug report has
some more info:
https://github.com/gnustep/libobjc2/issues/52
Cheers,
Josh