[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Swarm-Support] Pls bring me up to speed on gcc-4.7 and Swarm. Anybo
From: |
Scott Christley |
Subject: |
Re: [Swarm-Support] Pls bring me up to speed on gcc-4.7 and Swarm. Anybody? |
Date: |
Wed, 30 May 2012 16:12:32 -0500 |
Hi Paul,
Swarm will not work with gcc-4.7.0. More specifically, gcc-4.7.0 has the new
GNU Objective-C runtime library which has been extensively changed to be
compatible with Objective-C v2.0 from Apple.
My guess is that Swarm seemed to build because it was looking at the ObjC
header files within Swarm itself, while Heatbugs is looking at the system
header files (/usr/include/objc) and thus the conflict.
Scott
On May 30, 2012, at 3:52 PM, Paul Johnson wrote:
> On Fedora 17, we are provided with gcc-4.7.0. I *thought* everything Swarm
> was fine because I built and RPM and
> installed it without any apparent trouble.
>
> However, when I try to compile an application like heatbugs, I see some
> errors that I can't recall seeing before. They
> are pasted in below.
>
> What's up with all that disappointment?
>
> Worst fear: "retval_t" and "FILE" been moved from the deprecated category to
> the completely gone category of gcc?
>
> In a Debian system, where I still have gcc-4.6, I can find retval_t here:
>
> $ pwd
> /usr/lib/gcc/x86_64-linux-gnu/4.6.3
> address@hidden:4.6.3$ grep -r retval_t *
> include/objc/deprecated/Object.h:- (retval_t)forward:(SEL)aSel
> :(arglist_t)argFrame;
> include/objc/deprecated/Object.h:- (retval_t)performv:(SEL)aSel
> :(arglist_t)argFrame;
> include/objc/deprecated/objc_msg_sendv.h:typedef void* retval_t;
> /* return value */
> include/objc/deprecated/objc_msg_sendv.h:objc_EXPORT retval_t
> objc_msg_sendv(id, SEL, arglist_t);
>
> But on Fedora 17, I don't find anything while grepping for retval_t.
>
> Anyway, I'm *hopping* I just build Swarm incorrectly--but fear your advice
> will be different.
>
> Further, I have no explanation why Swarm itself would seem to build when
> system doesn't have retval_t or FILE types.
> Weird, right?
>
> Here's that disappointing make output from heatbugs:
>
> gcc -c -g -O2 -fgnu-runtime -fno-strict-aliasing -Wall -Wno-import
> -Wno-protocol -Wno-long-long -fPIC -D_GNU_SOURCE
> -DAPPNAME=heatbugs -DAPPVERSION=2.1.1 address@hidden -I/usr/include/swarm
> Heatbug.m
> In file included from /usr/include/swarm/objectbase.h:34:0,
> from /usr/include/swarm/space.h:37,
> from Heatbug.h:8,
> from Heatbug.m:13:
> /usr/include/swarm/defobj.h:1171:1: error: unknown type name ‘retval_t’
> /usr/include/swarm/defobj.h:1171:1: error: unknown type name ‘retval_t’
> In file included from /usr/include/swarm/objectbase.h:34:0,
> from /usr/include/swarm/space.h:37,
> from Heatbug.h:8,
> from Heatbug.m:13:
> /usr/include/swarm/defobj.h:1469:1: error: unknown type name ‘FILE’
> /usr/include/swarm/defobj.h:1471:1: error: unknown type name ‘FILE’
> In file included from /usr/include/swarm/activity.h:40:0,
> from /usr/include/swarm/objectbase.h:35,
> from /usr/include/swarm/space.h:37,
> from Heatbug.h:8,
> from Heatbug.m:13:
> /usr/include/swarm/collections.h:981:1: error: unknown type name ‘FILE’
> /usr/include/swarm/collections.h:982:1: error: unknown type name ‘FILE’
> /usr/include/swarm/collections.h:985:1: error: unknown type name ‘FILE’
> /usr/include/swarm/collections.h:1054:1: error: unknown type name ‘FILE’
> /usr/include/swarm/collections.h:1057:1: error: unknown type name ‘FILE’
> /usr/include/swarm/collections.h:1059:1: error: unknown type name ‘FILE’
> In file included from /usr/include/swarm/defobj/DefClass.h:27:0,
> from /usr/include/swarm/defobj/Customize.h:26,
> from /usr/include/swarm/defobj/Create.h:26,
> from /usr/include/swarm/objectbase/SwarmObject.h:23,
> from /usr/include/swarm/space/Discrete2d.h:27,
> from /usr/include/swarm/space/DblBuffer2d.h:23,
> from /usr/include/swarm/space/Ca2d.h:23,
> from /usr/include/swarm/space/Diffuse2d.h:23,
> from HeatSpace.h:10,
> from Heatbug.h:10,
> from Heatbug.m:13:
> /usr/include/objc/objc-api.h:355:1: error: unknown type name ‘retval_t’
> /usr/include/objc/objc-api.h:355:34: error: unknown type name ‘arglist_t’
> /usr/include/objc/objc-api.h:416:34: error: unknown type name ‘MetaClass’
> /usr/include/objc/objc-api.h: In function ‘class_get_class_name’:
> /usr/include/objc/objc-api.h:452:10: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:452:44: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘class_get_instance_size’:
> /usr/include/objc/objc-api.h:458:10: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:458:47: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: At top level:
> /usr/include/objc/objc-api.h:462:1: error: unknown type name ‘MetaClass’
> /usr/include/objc/objc-api.h: In function ‘class_get_meta_class’:
> /usr/include/objc/objc-api.h:464:10: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:464:47: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘class_get_super_class’:
> /usr/include/objc/objc-api.h:470:10: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:470:47: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘class_get_version’:
> /usr/include/objc/objc-api.h:476:10: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:476:47: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘class_is_class’:
> /usr/include/objc/objc-api.h:482:10: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘class_is_meta_class’:
> /usr/include/objc/objc-api.h:488:10: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘class_set_version’:
> /usr/include/objc/objc-api.h:495:7: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:496:15: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘class_get_gc_object_type’:
> /usr/include/objc/objc-api.h:502:10: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:502:46: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘object_get_class’:
> /usr/include/objc/objc-api.h:532:7: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:534:10: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘object_get_class_name’:
> /usr/include/objc/objc-api.h:543:28: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:544:49: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:545:44: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: At top level:
> /usr/include/objc/objc-api.h:550:1: error: unknown type name ‘MetaClass’
> /usr/include/objc/objc-api.h: In function ‘object_get_meta_class’:
> /usr/include/objc/objc-api.h:552:28: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:553:51: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:554:31: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘object_get_super_class’:
> /usr/include/objc/objc-api.h:563:28: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:564:51: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:565:31: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h:566:45: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘object_is_class’:
> /usr/include/objc/objc-api.h:574:10: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘object_is_instance’:
> /usr/include/objc/objc-api.h:580:29: error: dereferencing pointer to
> incomplete type
> /usr/include/objc/objc-api.h: In function ‘object_is_meta_class’:
> /usr/include/objc/objc-api.h:586:10: error: dereferencing pointer to
> incomplete type
> In file included from /usr/include/swarm/defobj/Create.h:26:0,
> from /usr/include/swarm/objectbase/SwarmObject.h:23,
> from /usr/include/swarm/space/Discrete2d.h:27,
> from /usr/include/swarm/space/DblBuffer2d.h:23,
> from /usr/include/swarm/space/Ca2d.h:23,
> from /usr/include/swarm/space/Diffuse2d.h:23,
> from HeatSpace.h:10,
> from Heatbug.h:10,
> from Heatbug.m:13:
> /usr/include/swarm/defobj/Customize.h: In function ‘_obj_customize’:
> /usr/include/swarm/defobj/Customize.h:74:30: error: dereferencing pointer to
> incomplete type
> make: *** [Heatbug.o] Error 1
>
>
>
> --
> Paul E. Johnson email: address@hidden
> http://pj.freefaculty.org Assoc. Director
> Professor, Political Science Center for Research Methods and Data
> Analysisunknown
> 1541 Lilac Lane, Rm 504 1425 Jayhawk Blvd.
> University of Kansas Watson Library, Rm. 470
> Lawrence, Kansas 66045-3129 Lawrence, Kansas 66045-7555
> Ph: (785) 864-3523 Ph: (785) 864-3353
>
>
> _______________________________________________
> Support mailing list
> address@hidden
> http://www.swarm.org/mailman/listinfo/support