|
From: | Thomas Davie |
Subject: | Compiling GNUstep to use the objective-c 2.0 runtime |
Date: | Fri, 18 Jun 2010 23:13:57 +0100 |
Hi, I'm in the process of trying to compile a project that for various reasons uses both properties (easily removed), and blocks (not so easily). Because of this, I've been trying to get GNUstep built using clang, and linking against the GNUstep objective-c runtime. Unfortunately, I'm having some problems compiling the Foundation libraries. I have two versions of clang at my disposal: clang 1.1 – provided from the ubuntu package. clang 2.0 – compiled from svn a day ago. I can probably manage to compile some version in between if it's needed. Both versions of clang seem to struggle when compiling GSFormat.m, though in different ways. Clang 1.1 seems to produce assembly with lots of duplicated symbols[1], and as such fails like this: Compiling file GSFormat.m ... /tmp/cc-FBx8Ea.s: Assembler messages: /tmp/cc-FBx8Ea.s:1222: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:1277: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:1281: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:1284: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:1820: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:2214: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:2609: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:2635: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:2677: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:2720: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:2781: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:2839: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:3078: Error: symbol `.LBA15_GSPrivateFormat_' is already defined /tmp/cc-FBx8Ea.s:3255: Error: symbol `.LBA15_GSPrivateFormat_' is already defined clang: error: assembler command failed with exit code 1 (use -v to see invocation) make[4]: *** [obj/libgnustep-base.obj/GSFormat.m.o] Error 1 Clang 2.0 by comparison, seems to produce assembly[2] that doesn't contain duplicate symbols, but unfortunately doesn't terminate compiling this file. I'd really appreciate any help getting past this point. If it comes to it, I'll have a go at reimplementing GSPrivateFormat with fewer goto/labels, but trying to match the semantics of the existing code will be tricky at best, and outright bugridden at worst. [1] http://pastebin.com/1kKALw0f – output of clang -S with clang1.1 [2] http://pastebin.com/cyr3AAqN – output of clang -S with clang2.0 Thanks -- Thomas Davie iPhone Developer Hunted Cow Studios Ltd. |
[Prev in Thread] | Current Thread | [Next in Thread] |