gnustep-dev
[Top][All Lists]
Advanced

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

Re: libobjc2 build broken on OS X


From: Ivan Vučica
Subject: Re: libobjc2 build broken on OS X
Date: Tue, 4 Dec 2012 16:16:42 +0100

1. 12. 2012., u 15:02, Fred Kiefer <address@hidden> je napisao:

> On 01.12.2012 10:44, Charalampos Emmanouilidis wrote:
>> I want to use GNUstep for cross platform development (OS X, Linux, iOS, 
>> Android, Windows) and
>> I  need to get libobjc2 and gnustep-base running on OS X.
> 
> Not sure if I understand this correctly. But I would expect that as long as 
> you don't require binary exchange of data between the different platforms it 
> should be better to you Cocoa on OS X and iOS instead of GNUstep. I would 
> suggest that you write your application in OS X with the native libraries and 
> tools and restrict yourself to using the interfaces published by Foundation. 
> Then it should be rather simple to port that to GNUstep.


An argument for compiling on OS X is -- using as much of GNUstep code as 
possible without rebooting or using a virtual machine (which chews up RAM).

1. 12. 2012., u 12:31, David Chisnall <address@hidden> je napisao:

> P.S. libobjc2 is developed in subversion, not git, so I have no idea what the 
> git master branch is, or whether it's even remotely current...


I think Charalampos referred to Gregory's automatically-synced repositories 
hosted to GitHub. So it should be fairly recent. (I'm not advocating using 
these backup repositories as primary source, just mentioning that they're 
probably up to date.)

I would like to add to Charalampos's report with the following error output:

==========

machine-name:libobjc2 ivucica$ cc -v
Apple clang version 4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix

machine-name:libobjc2 ivucica$ make
Assembling block_trampolines.S...
block_trampolines.S:26:Unknown pseudo-op: .type
block_trampolines.S:26:Rest of line ignored. 1st junk character valued 95 (_).
block_trampolines.S:29:Unknown pseudo-op: .type
block_trampolines.S:29:Rest of line ignored. 1st junk character valued 95 (_).
clang: error: assembler command failed with exit code 1 (use -v to see 
invocation)
make: *** [block_trampolines.o] Error 1

========

On the other hand, compiling with Makefile.clang works up to the linking phase.

machine-name:libobjc2 ivucica$ make -f Makefile.clang clean && make -f 
Makefile.clang
<<< snip >>>
Compiling toydispatch.c...
Linking bitcode...
Generating native object code...
Linking shared library...
ld: warning: section __DATA/__objc_imageinfo has unexpectedly large size 56 in 
libobjc.o
Undefined symbols for architecture x86_64:
  "___cxa_allocate_exception", referenced from:
      ___gnustep_objcxx_personality_v0 in libobjc.o
  "___gxx_personality_v0", referenced from:
      ___gnustep_objcxx_personality_v0 in libobjc.o
  "___objc_block_trampoline", referenced from:
      _imp_implementationWithBlock in libobjc.o
  "___objc_block_trampoline_end", referenced from:
      _imp_implementationWithBlock in libobjc.o
  "___objc_block_trampoline_end_sret", referenced from:
      _imp_implementationWithBlock in libobjc.o
  "___objc_block_trampoline_sret", referenced from:
      _imp_implementationWithBlock in libobjc.o
  "___objc_personality_v0", referenced from:
      Dwarf Exception Unwind Info (__eh_frame) in libobjc.o
  "__objc_empty_cache", referenced from:
      _OBJC_METACLASS_$_Object in libobjc.o
      _OBJC_METACLASS_$_Protocol in libobjc.o
      _OBJC_CLASS_$_Object in libobjc.o
      _OBJC_CLASS_$_Protocol in libobjc.o
      _OBJC_METACLASS_$_Protocol2 in libobjc.o
      _OBJC_CLASS_$_Protocol2 in libobjc.o
      _OBJC_CLASS_$___ObjC_Protocol_Holder_Ugly_Hack in libobjc.o
      ...
  "__objc_empty_vtable", referenced from:
      _OBJC_METACLASS_$_Object in libobjc.o
      _OBJC_METACLASS_$_Protocol in libobjc.o
      _OBJC_CLASS_$_Object in libobjc.o
      _OBJC_CLASS_$_Protocol in libobjc.o
      _OBJC_METACLASS_$_Protocol2 in libobjc.o
      _OBJC_CLASS_$_Protocol2 in libobjc.o
      _OBJC_CLASS_$___ObjC_Protocol_Holder_Ugly_Hack in libobjc.o
      ...
  "_objc_init_cxx_exception", referenced from:
      ___gnustep_objcxx_personality_v0 in libobjc.o
  "_objc_msgSend", referenced from:
      _objc_autoreleasePoolPop in libobjc.o
      _emptyPool in libobjc.o
      _objc_release in libobjc.o
      _cleanupPools in libobjc.o
      _objc_setAssociatedObject in libobjc.o
      _objc_setProperty in libobjc.o
  "_objc_msgSend_fixup", referenced from:
      l_objc_msgSend_fixup_retain in libobjc.o
      l_objc_msgSend_fixup_release in libobjc.o
      l_objc_msgSend_fixup_autorelease in libobjc.o
      l_objc_msgSend_fixup_class in libobjc.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [libobjc.so.4.6.0] Error 1

=============

machine-name:libobjc2 ivucica$ which clang
/usr/local/clang/bin/clang
machine-name:libobjc2 ivucica$ clang -v
clang version 3.0 (tags/RELEASE_30/final)
Target: x86_64-apple-darwin12.2.0
Thread model: posix

--
Ivan Vučica
address@hidden - http://ivan.vucica.net/




reply via email to

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