discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gnustep compiled with clang and gworkspace problem


From: David Chisnall
Subject: Re: gnustep compiled with clang and gworkspace problem
Date: Tue, 4 Oct 2011 10:45:20 +0100

These are both libobjc problems.  The failed build is because that test is 
checking property introspection.  With GCC, it just skips compiling the test 
entirely because GCC can't parse the property notation.  With clang, it 
compiles but then you are linking to a libobjc that doesn't have the property 
introspection functions, so it fails.

The +initialise test is also failing due to problems with your runtime.  

David

On 4 Oct 2011, at 10:40, Sebastian Reitenbach wrote:

> 
> On Tuesday, October 4, 2011 11:05 CEST, David Chisnall <theraven@sucs.org> 
> wrote: 
> 
>> So, do you have tests that pass with gcc but fail with clang?
> 
> for -base, there is this failed build, which works with gcc,
> 
> CLANG:
> 6436 Passed tests
>  17 Dashed hopes
>   1 Skipped set
>   1 Failed test
>   1 Failed file
>   1 Failed build
> 
> GCC:
> 6428 Passed tests
> 17 Dashed hopes
> 1 Skipped set
> 1 Failed test
> 1 Failed file
> 
> with gcc, it just doesn't run all the tests it runs with CLANG, but that is I 
> guess due to the failed build.
> I used gcc-4.2.1 that comes with OpenBSD base installation.
> 
> for -gui it looks like this:
> 
> CLANG:
> 737 Passed tests
>   5 Failed tests
> 
> 
> GCC:
> 773 Passed tests     <- since I did not cut n pasted, I may have accidently 
> mixed up the last 7 and 3 I guess
> 5 Failed tests
> 
> the 5 failed tests are the same. And the test that Fred says should not fail, 
> has the same output: NSView_autoresize_and_rounding.m
> 
> so its pretty much the same.
> Sebastian
> 
> 
>> 
>> David
>> 
>> On 4 Oct 2011, at 10:03, Sebastian Reitenbach wrote:
>> 
>>> Hi,
>>> 
>>> this is just to confirm, the numbers of the test results are not different 
>>> whether using clang 2.9 or svn a.k.a 3.0.
>>> The only difference is that with gui I now have:
>>> 737 Passed tests
>>>  5 Failed tests
>>> but this is due to the lazy copy test, which failed with clang 2.9 because 
>>> of not started gpbs.
>>> 
>>> Now I'll recompile with clang and libobjc2, test results will follow.
>>> 
>>> Sebastian
>>> 
>>> 
>>> On Tuesday, October 4, 2011 09:44 CEST, "Sebastian Reitenbach" 
>>> <sebastia@l00-bugdead-prods.de> wrote: 
>>> 
>>>> Hi,
>>>> 
>>>> here the gnustep-tests results from base and gui, compiled with clang 2.9.
>>>> clang 3.0 is also ready, these are just for reference and for comparison.
>>>> looks fairly similar to what gcc produced. One build failure of a -base 
>>>> test 
>>>> is strange, this did not happen with gcc.
>>>> 
>>>> I was using the same svn revision like I did with gcc.
>>>> 
>>>> Here the relevant parts of the -base tests:
>>>> 
>>>> 
>>>> 6436 Passed tests
>>>> 17 Dashed hopes
>>>>  1 Skipped set
>>>>  1 Failed test
>>>>  1 Failed file
>>>>  1 Failed build
>>>> 
>>>> 
>>>> 
>>>> Testing initialize.m...
>>>> Running gnustep-base-1.23.1/Tests/base/NSObject/initialize.m...
>>>> Start set:       initialize.m:128 ... +initialize
>>>> Passed test:       initialize.m:133 ... initialize test starts
>>>> Failed test:       initialize.m:139 ... inherited +initialize is called 
>>>> automatically
>>>> 2011-10-04 09:05:13.022 initialize[17875] WARNING your program is becoming 
>>>> multi-threaded, but you are using an ObjectiveC runtime library which does 
>>>> not have a thre
>>>> ad-safe implementation of the +initialize method. Please see 
>>>> README.initialize for more information.
>>>> Terminated
>>>> Failed file:     initialize.m aborted without running all tests!
>>>> 
>>>> 
>>>> GNU gdb 6.3
>>>> Copyright 2004 Free Software Foundation, Inc.
>>>> GDB is free software, covered by the GNU General Public License, and you 
>>>> are
>>>> welcome to change it and/or distribute copies of it under certain 
>>>> conditions.
>>>> Type "show copying" to see the conditions.
>>>> There is absolutely no warranty for GDB.  Type "show warranty" for details.
>>>> This GDB was configured as "i386-unknown-openbsd5.0"...
>>>> Breakpoint 1 at 0x1c0046e0: file Testing.h, line 149.
>>>> (gdb) break -[NSException raise]
>>>> Function "-[NSException raise]" not defined.
>>>> Make breakpoint pending on future shared library load? (y or [n]) y
>>>> Breakpoint 2 (-[NSException raise]) pending.
>>>> (gdb) r
>>>> Starting program: 
>>>> /home/ports/pobj/gnustep-base-1.23.1/gnustep-base-1.23.1/Tests/base/NSObject/obj/initialize
>>>>  
>>>> Breakpoint 3 at 0x1004101: file NSException.m, line 956.
>>>> Pending breakpoint "-[NSException raise]" resolved
>>>> Start set:       initialize.m:128 ... +initialize
>>>> Passed test:       initialize.m:133 ... initialize test starts
>>>> [Switching to process 21264, thread 0x8b735000]
>>>> 
>>>> Breakpoint 1, testStart () at Testing.h:149
>>>> 149     }
>>>> Current language:  auto; currently minimal
>>>> (gdb) bt
>>>> #0  testStart () at Testing.h:149
>>>> #1  0x1c003488 in gnustep_base_user_main () at initialize.m:139
>>>> #2  0x010ca627 in main (argc=1, argv=0xcfbd7734, env=0xcfbd773c) at 
>>>> NSProcessInfo.m:979
>>>> #3  0x1c0015d7 in ___start ()
>>>> #4  0x1c001552 in _start ()
>>>> (gdb) c
>>>> Continuing.
>>>> Failed test:       initialize.m:139 ... inherited +initialize is called 
>>>> automatically
>>>> 2011-10-04 08:58:31.700 initialize[21264] WARNING your program is becoming 
>>>> multi-threaded, but you are using an ObjectiveC runtime library which does 
>>>> not have a thread-safe implementation of the +initialize method. Please 
>>>> see README.initialize for more information.
>>>> [New process 21264]
>>>> ^C
>>>> Program received signal SIGINT, Interrupt.
>>>> [Switching to process 21264]
>>>> 0x0c6d9379 in poll () from /usr/lib/libc.so.60.1
>>>> (gdb) Quit
>>>> (gdb) bt
>>>> #0  0x0c6d9379 in poll () from /usr/lib/libc.so.60.1
>>>> #1  0x0d396365 in _thread_kern_poll (wait_reqd=1) at 
>>>> /usr/src/lib/libpthread/uthread/uthread_kern.c:782
>>>> #2  0x0d397233 in _thread_kern_sched (scp=0x0) at 
>>>> /usr/src/lib/libpthread/uthread/uthread_kern.c:383
>>>> #3  0x0d39775f in _thread_kern_sched_state_unlock (state=PS_COND_WAIT, 
>>>> lock=0x8978de98, fname=0x2d384e14 
>>>> "/usr/src/lib/libpthread/uthread/uthread_cond.c", 
>>>>   lineno=432) at /usr/src/lib/libpthread/uthread/uthread_kern.c:602
>>>> #4  0x0d393ae7 in pthread_cond_timedwait (cond=0x2d386120, 
>>>> mutex=0x2d38611c, abstime=0x81e7afc0) at 
>>>> /usr/src/lib/libpthread/uthread/uthread_cond.c:431
>>>> #5  0x0d38ebae in _thread_gc (arg=0x0) at 
>>>> /usr/src/lib/libpthread/uthread/uthread_gc.c:181
>>>> #6  0x0d38e5ce in _thread_start () at 
>>>> /usr/src/lib/libpthread/uthread/uthread_create.c:242
>>>> #7  0x0000002b in ?? ()
>>>> #8  0x00000000 in ?? ()
>>>> (gdb) c
>>>> Continuing.
>>>> Terminated 
>>>> 
>>>> 
>>>> Making all for test_tool propertyAttrs...
>>>> Linking test_tool propertyAttrs ...
>>>> /usr/lib/libobjc.so.5.0: warning: strcpy() is almost always misused, 
>>>> please use strlcpy()
>>>> /usr/local/lib/libgnustep-base.so.5.0: warning: sprintf() is often 
>>>> misused, please use snprintf()
>>>> /usr/local/lib/libgmp.so.9.0: warning: vsprintf() is often misused, please 
>>>> use vsnprintf()
>>>> /usr/local/lib/libgnutls.so.18.1: warning: strcat() is almost always 
>>>> misused, please use strlcat()
>>>> ./obj/propertyAttrs.obj/propertyAttrs.m.o(.text+0x329): In function 
>>>> `-[PropertyTest setStructDefault:]':
>>>> /home/ports/pobj/gnustep-base-1.23.1/gnustep-base-1.23.1/Tests/base/Functions/propertyAttrs.m:56:
>>>>  undefined reference to `objc_setPropertyStruct'
>>>> ./obj/propertyAttrs.obj/propertyAttrs.m.o(.text+0x3c9): In function 
>>>> `-[PropertyTest setTypedefDefault:]':
>>>> /home/ports/pobj/gnustep-base-1.23.1/gnustep-base-1.23.1/Tests/base/Functions/propertyAttrs.m:57:
>>>>  undefined reference to `objc_setPropertyStruct'
>>>> ./obj/propertyAttrs.obj/propertyAttrs.m.o(.text+0x469): In function 
>>>> `-[PropertyTest setUnionDefault:]':
>>>> /home/ports/pobj/gnustep-base-1.23.1/gnustep-base-1.23.1/Tests/base/Functions/propertyAttrs.m:58:
>>>>  undefined reference to `objc_setPropertyStruct'
>>>> ./obj/propertyAttrs.obj/propertyAttrs.m.o(.text+0x96a): In function 
>>>> `testProperty':
>>>> /home/ports/pobj/gnustep-base-1.23.1/gnustep-base-1.23.1/Tests/base/Functions/propertyAttrs.m:106:
>>>>  undefined reference to `class_getProperty'
>>>> ./obj/propertyAttrs.obj/propertyAttrs.m.o(.text+0x9d1):/home/ports/pobj/gnustep-base-1.23.1/gnustep-base-1.23.1/Tests/base/Functions/propertyAttrs.m:113:
>>>>  undefined r
>>>> eference to `property_getAttributes'
>>>> ./obj/propertyAttrs.obj/propertyAttrs.m.o(.text+0x9e9):/home/ports/pobj/gnustep-base-1.23.1/gnustep-base-1.23.1/Tests/base/Functions/propertyAttrs.m:114:
>>>>  undefined r
>>>> eference to `property_getName'
>>>> ./obj/propertyAttrs.obj/propertyAttrs.m.o(.text+0xa20):/home/ports/pobj/gnustep-base-1.23.1/gnustep-base-1.23.1/Tests/base/Functions/propertyAttrs.m:115:
>>>>  undefined r
>>>> eference to `property_getName'
>>>> clang: error: linker command failed with exit code 1 (use -v to see 
>>>> invocation)
>>>> gmake[3]: *** [obj/propertyAttrs] Error 1
>>>> gmake[2]: *** [internal-tool-all_] Error 2
>>>> gmake[1]: *** [propertyAttrs.all.test-tool.variables] Error 2
>>>> gmake: *** [propertyAttrs] Error 2
>>>> Failed build:
>>>> 
>>>> 
>>>> 
>>>> here the relevant parts of the -gui tests:
>>>> 
>>>> 736 Passed tests
>>>>  6 Failed tests
>>>> 
>>>> --- Running tests in gnustep-gui-0.21.0/Tests/gui/NSPasteboard ---
>>>> 
>>>> gnustep-gui-0.21.0/Tests/gui/NSPasteboard/lazy_copy.m:
>>>> Failed test:     NSPasteboard handles lazy setting of data
>>>> GNU gdb 6.3
>>>> Copyright 2004 Free Software Foundation, Inc.
>>>> GDB is free software, covered by the GNU General Public License, and you 
>>>> are
>>>> welcome to change it and/or distribute copies of it under certain 
>>>> conditions.
>>>> Type "show copying" to see the conditions.
>>>> There is absolutely no warranty for GDB.  Type "show warranty" for details.
>>>> This GDB was configured as "i386-unknown-openbsd5.0"...
>>>> /home/ports/pobj/gnustep-gui-0.21.0/gdb.cmds:1: Error in sourced command 
>>>> file:
>>>> Undefined command: "Failed".  Try "help".
>>>> (gdb) break -[NSException raise]
>>>> Function "-[NSException raise]" not defined.
>>>> Make breakpoint pending on future shared library load? (y or [n]) y
>>>> Breakpoint 1 (-[NSException raise]) pending.
>>>> (gdb) r
>>>> Starting program: 
>>>> /home/ports/pobj/gnustep-gui-0.21.0/gnustep-gui-0.21.0/Tests/gui/NSPasteboard/obj/lazy_copy
>>>>  
>>>> Breakpoint 2 at 0x9a65101: file NSException.m, line 956.
>>>> Pending breakpoint "-[NSException raise]" resolved
>>>> Passed test:     NSPasteboard handles lazy setting of data
>>> 
>>> I guess here I just had not gpbs running initially, and on the second try, 
>>> it was available, I mean, triggered to start via the test.
>>> 
>>> 
>>> 
>>>> 
>>>> 
>>>> 
>>>> gnustep-gui-0.21.0/Tests/gui/NSSavePanel/setDelegate_reload.m:
>>>> Failed test:     browser contains all files after resetting delegate
>>>> GNU gdb 6.3
>>>> Copyright 2004 Free Software Foundation, Inc.
>>>> GDB is free software, covered by the GNU General Public License, and you 
>>>> are
>>>> welcome to change it and/or distribute copies of it under certain 
>>>> conditions.
>>>> Type "show copying" to see the conditions.
>>>> There is absolutely no warranty for GDB.  Type "show warranty" for details.
>>>> This GDB was configured as "i386-unknown-openbsd5.0"...
>>>> /home/ports/pobj/gnustep-gui-0.21.0/gdb.cmds:1: Error in sourced command 
>>>> file:
>>>> Undefined command: "Failed".  Try "help".
>>>> (gdb) break -[NSException raise]
>>>> Function "-[NSException raise]" not defined.
>>>> Make breakpoint pending on future shared library load? (y or [n]) y
>>>> Breakpoint 1 (-[NSException raise]) pending.
>>>> (gdb) r
>>>> Starting program: 
>>>> /home/ports/pobj/gnustep-gui-0.21.0/gnustep-gui-0.21.0/Tests/gui/NSSavePanel/obj/setDelegate_reload
>>>>  
>>>> Breakpoint 2 at 0x8576101: file NSException.m, line 956.
>>>> Pending breakpoint "-[NSException raise]" resolved
>>>> 2011-10-04 09:21:30.971 setDelegate_reload[914] XShm not supported, 
>>>> XShmAttach() failed.
>>>> 2011-10-04 09:21:30.973 setDelegate_reload[914] Falling back to normal 
>>>> XImage (will be slower).
>>>> [New process 914]
>>>> Passed test:     browser initially contains all files
>>>> Passed test:     browser is reloaded after -setDelegate:
>>>> Failed test:     browser contains all files after resetting delegate
>>>> Passed test:     browser is reloaded after -setDelegate: (2)
>>>> 
>>>> Program exited normally.
>>>> 
>>>> 
>>>> gnustep-gui-0.21.0/Tests/gui/NSView/NSView_autoresize_and_rounding.m:
>>>> Failed test:     NSView autoresizing works
>>>> Failed test:     NSView autoresize rounding works
>>>> GNU gdb 6.3
>>>> Copyright 2004 Free Software Foundation, Inc.
>>>> GDB is free software, covered by the GNU General Public License, and you 
>>>> are
>>>> welcome to change it and/or distribute copies of it under certain 
>>>> conditions.
>>>> Type "show copying" to see the conditions.
>>>> There is absolutely no warranty for GDB.  Type "show warranty" for details.
>>>> This GDB was configured as "i386-unknown-openbsd5.0"...
>>>> /home/ports/pobj/gnustep-gui-0.21.0/gdb.cmds:1: Error in sourced command 
>>>> file:
>>>> Undefined command: "Failed".  Try "help".
>>>> (gdb) break -[NSException raise]
>>>> Function "-[NSException raise]" not defined.
>>>> Make breakpoint pending on future shared library load? (y or [n]) y
>>>> Breakpoint 1 (-[NSException raise]) pending.
>>>> (gdb) r
>>>> Starting program: 
>>>> /home/ports/pobj/gnustep-gui-0.21.0/gnustep-gui-0.21.0/Tests/gui/NSView/obj/NSView_autoresize_and_rounding
>>>>  
>>>> Breakpoint 2 at 0xa132101: file NSException.m, line 956.
>>>> Pending breakpoint "-[NSException raise]" resolved
>>>> 2011-10-04 09:25:11.121 NSView_autoresize_and_rounding[7781] XShm not 
>>>> supported, XShmAttach() failed.
>>>> 2011-10-04 09:25:11.123 NSView_autoresize_and_rounding[7781] Falling back 
>>>> to normal XImage (will be slower).
>>>> (1) expected frame (10 10)+(10 10), got (10 10)+(9 10)
>>>> Failed test:     NSView autoresizing works
>>>> Passed test:     NSView autoresizing corner cases work
>>>> (1) expected frame (10 10)+(10 10), got (9 9)+(9 9)
>>>> Failed test:     NSView autoresize rounding works
>>>> 
>>>> Program exited normally.
>>>> 
>>>> 
>>>> gnustep-gui-0.21.0/Tests/gui/NSView/NSView_bounds_scale.m:
>>>> Failed test:     NSView -scaleUnitSquareToSize works
>>>> GNU gdb 6.3
>>>> Copyright 2004 Free Software Foundation, Inc.
>>>> GDB is free software, covered by the GNU General Public License, and you 
>>>> are
>>>> welcome to change it and/or distribute copies of it under certain 
>>>> conditions.
>>>> Type "show copying" to see the conditions.
>>>> There is absolutely no warranty for GDB.  Type "show warranty" for details.
>>>> This GDB was configured as "i386-unknown-openbsd5.0"...
>>>> /home/ports/pobj/gnustep-gui-0.21.0/gdb.cmds:1: Error in sourced command 
>>>> file:
>>>> Undefined command: "Failed".  Try "help".
>>>> (gdb) break -[NSException raise]
>>>> Function "-[NSException raise]" not defined.
>>>> Make breakpoint pending on future shared library load? (y or [n]) y
>>>> Breakpoint 1 (-[NSException raise]) pending.
>>>> (gdb) r
>>>> Starting program: 
>>>> /home/ports/pobj/gnustep-gui-0.21.0/gnustep-gui-0.21.0/Tests/gui/NSView/obj/NSView_bounds_scale
>>>>  
>>>> Breakpoint 2 at 0x2ccb101: file NSException.m, line 956.
>>>> Pending breakpoint "-[NSException raise]" resolved
>>>> 2011-10-04 09:28:50.611 NSView_bounds_scale[17911] XShm not supported, 
>>>> XShmAttach() failed.
>>>> 2011-10-04 09:28:50.613 NSView_bounds_scale[17911] Falling back to normal 
>>>> XImage (will be slower).
>>>> expected bounds rotation 30 got 30.9153
>>>> (2) expected bounds (39.9801 104.211)+(66.2393 85.2544), got (40.372 
>>>> 105.364)+(66.8473 84.9812)
>>>> expected bounds matrix (2.93813 0.614059 -1.69633 1.06358 104.31 -131.062) 
>>>> got (2.96586 0.574951 -1.71234 1.07291 104.31 -131.062)
>>>> (2) expected bounds (39.9801 104.211)+(66.2393 85.2544), got (40.372 
>>>> 105.364)+(66.8473 84.9812)
>>>> expected bounds rotation 30 got 30.9153
>>>> Failed test:     NSView -scaleUnitSquareToSize works
>>>> 
>>>> 
>>>> gnustep-gui-0.21.0/Tests/gui/NSView/NSView_visibleRect.m:
>>>> Failed test:     NSView -visibleRect works
>>>> GNU gdb 6.3
>>>> Copyright 2004 Free Software Foundation, Inc.
>>>> GDB is free software, covered by the GNU General Public License, and you 
>>>> are
>>>> welcome to change it and/or distribute copies of it under certain 
>>>> conditions.
>>>> Type "show copying" to see the conditions.
>>>> There is absolutely no warranty for GDB.  Type "show warranty" for details.
>>>> This GDB was configured as "i386-unknown-openbsd5.0"...
>>>> /home/ports/pobj/gnustep-gui-0.21.0/gdb.cmds:1: Error in sourced command 
>>>> file:
>>>> Undefined command: "Failed".  Try "help".
>>>> (gdb) 
>>>> (gdb) break -[NSException raise]
>>>> Function "-[NSException raise]" not defined.
>>>> Make breakpoint pending on future shared library load? (y or [n]) y
>>>> Breakpoint 1 (-[NSException raise]) pending.
>>>> (gdb) r
>>>> Starting program: 
>>>> /home/ports/pobj/gnustep-gui-0.21.0/gnustep-gui-0.21.0/Tests/gui/NSView/obj/NSView_visibleRect
>>>>  
>>>> Breakpoint 2 at 0xa337101: file NSException.m, line 956.
>>>> Pending breakpoint "-[NSException raise]" resolved
>>>> Failed test:     NSView -visibleRect works
>>>> 
>>>> Program exited normally.
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Discuss-gnustep mailing list
>>>> Discuss-gnustep@gnu.org
>>>> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
>>> 
>>> 
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Discuss-gnustep mailing list
>>> Discuss-gnustep@gnu.org
>>> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
>> 
>> --
>> This email complies with ISO 3103
>> 
> 
> 
> 
> 


-- Sent from my IBM 1620




reply via email to

[Prev in Thread] Current Thread [Next in Thread]