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
On Dec 19, 2017, at 9:28 AM, Tom Sheffler wrote:
I've installed GNUstep on Ubuntu16. The installation was performed
according to this guide for Ubuntu: http://wiki.gnustep.org/index.php/GNUstep_under_Ubuntu_Linux
and it went as smoothly as possible.
The four GS Applications named above all fail in the same way. Here
is a backtrace running under gdb and started with open app. The
applications all fail in [NSApplication _init]
while setting up a graphics context.
The interesting thing is that I can compile and run a simple GUI
program (taken from the wiki page, and shown at the bottom of this
message) and it runs fine!
If anyone has any hints or ideas of where to start, I'd appreciate
it. It is probably something fundamental.
Thanks,
Tom
=====================================
$ openapp --debug GWorkspace
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show
copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/GNUstep/Local/Applications/GWorkspace.app/
GWorkspace...done.
(gdb) run
Starting program: /usr/GNUstep/Local/Applications/GWorkspace.app/
GWorkspace
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/
libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5a76830 in objc_msgSend_fpret () from /usr/local/lib/
libobjc.so.4.6
(gdb) where
#0 0x00007ffff5a76830 in objc_msgSend_fpret () from /usr/local/lib/
libobjc.so.4.6
#1 0x00007ffff6d60011 in +[NSGraphicsContext setCurrentContext:]
(self=0x7ffff7318540 <_OBJC_CLASS_NSGraphicsContext>,
_cmd=0x7ffff72ad260 <.objc_selector_list+2912>,
context=0xdc36d8) at NSGraphicsContext.m:169
#2 0x00007ffff6c96586 in -[NSApplication _init] (self=0xced808,
_cmd=0x7ffff72ac7d0 <.objc_selector_list+208>)
at NSApplication.m:892
#3 0x00007ffff60b6ddb in -[NSObject performSelector:withObject:]
(self=0xced808, _cmd=0x7ffff661bb58 <.objc_selector_list+240>,
aSelector=0x7ffff72ac7d0 <.objc_selector_list+208>,
anObject=0xced808) at NSObject.m:1980
#4 0x00007ffff613ed76 in -[NSObject(NSThreadPerformAdditions)
performSelector:onThread:withObject:waitUntilDone:modes:] (
self=0xced808, _cmd=0x7ffff661bcc8 <.objc_selector_list+608>,
aSelector=0x7ffff72ac7d0 <.objc_selector_list+208>,
aThread=0xa20f68, anObject=0xced808, aFlag=1 '\001',
anArray=0xcceaa8) at NSThread.m:1672
#5 0x00007ffff613ea86 in -[NSObject(NSThreadPerformAdditions)
performSelectorOnMainThread:withObject:waitUntilDone:modes:] (
self=0xced808, _cmd=0x7ffff661bd08 <.objc_selector_list+672>,
aSelector=0x7ffff72ac7d0 <.objc_selector_list+208>,
anObject=0xced808, aFlag=1 '\001', anArray=0xcceaa8) at
NSThread.m:1627
#6 0x00007ffff613eb01 in -[NSObject(NSThreadPerformAdditions)
performSelectorOnMainThread:withObject:waitUntilDone:] (
self=0xced808, _cmd=0x7ffff72ac910 <.objc_selector_list+528>,
aSelector=0x7ffff72ac7d0 <.objc_selector_list+208>,
anObject=0xced808, aFlag=1 '\001') at NSThread.m:1638
#7 0x00007ffff6c96b28 in -[NSApplication init] (self=0xced808,
_cmd=0x7ffff72ad070 <.objc_selector_list+2416>)
at NSApplication.m:978
#8 0x00007ffff6c96390 in +[NSApplication sharedApplication]
(self=0x7ffff72abd68 <_OBJC_CLASS_NSApplication>,
_cmd=0x72aef0 <.objc_selector_list+32>) at NSApplication.m:850
#9 0x000000000043fa01 in main (argc=1, argv=0x7fffffffcbe8,
env=0x7fffffffcbf8) at main.m:35
=================================================
The installation seems to have gone smoothly enough that I can
compile and run a simple GUI program ... and it runs fine. This
example is from the same wiki page, and it compiles and runs without
an error.
#import <AppKit/AppKit.h>
int main()
{
NSApplication *app; // Without these 2 lines, seg fault may occur
app = [NSApplication sharedApplication];
NSAlert * alert = [[NSAlert alloc] init];
[alert setMessageText:@"Hello alert"];
[alert addButtonWithTitle:@"All done"];
int result = [alert runModal];
if (result == NSAlertFirstButtonReturn) {
NSLog(@"First button pressed");
}
}
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep