> On 21 Dec 2017, at 19:03, Josh Freeman <[email protected]> wrote: > > > On Dec 20, 2017, at 9:16 AM, Richard Frith-Macdonald wrote: > >>> On 19 Dec 2017, at 20:33, Josh Freeman <[email protected]> >>> wrote: >>> >>> Hi Tom, >>> >>> This appears to be the same issue as the Base/GUI ivar-offset mismatch that >>> was discussed back in April [1] & June [2]. >>> >>> While the issue still hasn't been fixed, there is a workaround, which is to >>> use an older version of GNUstep Make. >>> >>> However, the workaround is already included in the "16.04, 16.10, & 17.04" >>> install script at >>> http://wiki.gnustep.org/index.php/GNUstep_under_Ubuntu_Linux , so did you >>> happen to make any changes to the script before running it, or perhaps run >>> it on a machine that already had an earlier GNUstep install? (I just tried >>> the wiki script on a clean, up-to-date Ubuntu 16.04 VM (32bit) - the only >>> script change was to set the PROMPT var to 'false' to avoid having to press >>> <Return> after each build - and the built apps seem to run OK). >>> >>> Cheers, >>> >>> Josh >>> >>> >>> [1] http://lists.gnu.org/archive/html/discuss-gnustep/2017-04/msg00070.html >>> [2] http://lists.gnu.org/archive/html/discuss-gnustep/2017-06/msg00026.html >> >> gnustep-make has been using -fobjc-runtime= rather than >> -fobjc-nonfragile-abi for quita long time, but I just found that the >> gnustep-base configure script was still adding the obsolete >> -fobjc-nonfragile-abi flag when building nonfragile >> I've just removed that addition of -fobjc-nonfragile-abi from the current >> gnustep-base in git, so if gnustep is built for the new runtime with clang >> (the ng-gnu-gnu library combo) neither make nor base should add ther old >> flag. >> > > Just tried the Ubuntu script from the wiki on a clean, up-to-date Ubuntu > 16.04 VM (32bit), but changed the script to use the current gnustep-make > instead of the old version (removed the workaround for the ivar-offset > issue). Gnustep-base now fails to build, with the following error(s): > > Compiling file GSConcreteValue.m ... > In file included from In file included from In file included from > GSBlocks.m:23: > In file included from ../Headers/Foundation/NSObject.h:30: > In file included from ../Headers/Foundation/NSObjCRuntime.h:38: > ../Headers/GNUstepBase/GSVersionMacros.h:290:10: error: "You are building > gnustep-base using the objc-nonfragile-abi but your > gnustep-base was not configured to use it." > # error "You are building gnustep-base using the objc-nonfragile-abi > but your gnustep-base was not configured to use it."
That would seem to suggest you have gnustep-make trying to use clang and the new runtime but gnustep-base expecting to use gcc and the gnu runtime. Could it be that you forgot to set the library combo for the modern compiler/runtime rather than the traditional one? The gnustep-base configure script should recognise the library combo (from the environment or from gnustep-make) when figuring out how to configure itself; traditional (gnu runtime in the library combo) implies traditional abi modern, next-generation (ng runtime in the library combo) implies the nonfragile abi _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
