Done. 

I just updated the README.md file







On Mar 6, 2013, at 9:39 PM, Patryk Laurent <plaur...@me.com> wrote:

> Kitkit looks interesting, could you add the instructions you wrote in this 
> email into the README.md in the github repository?
> 
> Thanks!
> Patryk
> 
> --
> Patryk Laurent, PhD
> Scientist
> Brain Corporation
> 5665 Morehouse Drive, QRC-130
> San Diego, CA 92121
> laur...@braincorporation.com
> 
> 
> On Mar 6, 2013, at 5:17 AM, Charalampos Chrysovalantis Emmanouilidis 
> <chrys.emmanouili...@gmail.com> wrote:
> 
>> You may want to give KitKit a try, if you need to write ObjC2.0 code on linux
>> 
>> https://github.com/cemmanouilidis/kitkit
>> 
>> KitKit provides an ObjC2.0-environment using clang, cmake, gnustep-base and 
>> gnustep-libobjc2 (please note, there is not gui support yet, but this is 
>> easy to add. Checkout KitKit's install script).
>> 
>> In order to build and install the KitKit environment, try the following steps
>> (tested on a Ubuntu 12.10 x64)
>> 
>> git clone https://github.com/cemmanouilidis/kitkit
>> git submodule update --init # this will take a while (couple of minutes)
>> sudo ./install # depending on your machine, this takes a lot of time since 
>> KitKit builds everything from scratch
>> 
>> after that, the directory /opt/kitkit-1.0-rc1 should exist.
>> 
>> then, update your PATH variable
>> 
>> export PATH=/opt/kitkit-1.0-rc1/bin:$PATH
>> 
>> to test if KitKit works, try to build the demo project that
>> comes with KitKit
>> 
>> cd demo/hello
>> 
>> mkdir build
>> cd build
>> cmake ..
>> 
>> then run: ./kitkit-hello
>> 
>> 
>> good luck :)
>> 
>> 
>> 
>> 2013/3/6 Laurent Michel <l...@engr.uconn.edu>
>> Hi David....
>> 
>> Found a git repo and cloned it.  But the build fails.
>> 
>> Tried
>> 
>> cmake .
>> make
>> 
>> Also tried
>> 
>> mkdir Build
>> cd Build
>> cmake ..
>> make
>> 
>> And tried
>> 
>> cmake .
>> make CC=clang CXX=clang++
>> 
>> All end in the same way:
>> 
>> (With the tarball version, all I did was make -f Makefile)
>> 
>> /usr/local/src/gnustep-libobjc2/objc/message.h:44:6: note: 
>> 'objc_msgSend_stret' is a builtin with type 'id (id, SEL, ...)'
>> 1 warning generated.
>> [ 26%] Building C object CMakeFiles/objc.dir/protocol.c.o
>> [ 28%] Building C object CMakeFiles/objc.dir/runtime.c.o
>> [ 29%] Building C object CMakeFiles/objc.dir/sarray2.c.o
>> [ 31%] Building C object CMakeFiles/objc.dir/selector_table.c.o
>> [ 32%] Building C object CMakeFiles/objc.dir/sendmsg2.c.o
>> [ 34%] Building C object CMakeFiles/objc.dir/statics_loader.c.o
>> [ 35%] Building C object CMakeFiles/objc.dir/toydispatch.c.o
>> [ 37%] Building ASM object CMakeFiles/objc.dir/block_trampolines.S.o
>> [ 39%] Building ASM object CMakeFiles/objc.dir/objc_msgSend.S.o
>> [ 40%] Building C object CMakeFiles/objc.dir/NSBlocks.m.o
>> gcc: error trying to exec 'cc1obj': execvp: No such file or directory
>> make[2]: *** [CMakeFiles/objc.dir/NSBlocks.m.o] Error 1
>> make[1]: *** [CMakeFiles/objc.dir/all] Error 2
>> make: *** [all] Error 2
>> 
>> 
>> This is where I cloned from:
>> 
>> root@ubuntu:/usr/local/src/gnustep-libobjc2# cat .git/config
>> [core]
>>         repositoryformatversion = 0
>>         filemode = true
>>         bare = false
>>         logallrefupdates = true
>> [remote "origin"]
>>         fetch = +refs/heads/*:refs/remotes/origin/*
>>         url = git://github.com/gnustep/gnustep-libobjc2.git
>> [branch "master"]
>>         remote = origin
>>         merge = refs/heads/master
>> 
>> 
>> Wrong place ?
>> 
>> 
>> --
>>   Laurent
>> 
>> On Mar 6, 2013, at 4:10 AM, David Chisnall <thera...@sucs.org> wrote:
>> 
>> > Hi Laurent,
>> >
>> > This doesn't look like the code from trunk.  Are you using an old release? 
>> >  As I said, I think this bug is fixed some months ago.
>> >
>> > David
>> >
>> > On 6 Mar 2013, at 01:12, Laurent Michel <l...@thorgal.homelinux.org> wrote:
>> >
>> >> David,
>> >>
>> >> I recompiled and here is the trace:
>> >>
>> >> Program received signal SIGSEGV, Segmentation fault.
>> >> 0xb7a55695 in isEmptyProtocol (aProto=0xb7736f90) at protocol.c:62
>> >> 62                   isEmpty &= (p2->properties->count == 0);
>> >> (gdb) where
>> >> #0  0xb7a55695 in isEmptyProtocol (aProto=0xb7736f90) at protocol.c:62
>> >> #1  0xb7a5553e in unique_protocol (aProto=0xb7736f90) at protocol.c:118
>> >> #2  0xb7a534eb in init_protocols (protocols=0xb7736fb0) at protocol.c:189
>> >> #3  0xb7a534da in init_protocols (protocols=0xb773a0c0) at protocol.c:186
>> >> #4  0xb7a5328a in objc_init_protocols (protocols=0xb773a0c0) at 
>> >> protocol.c:196
>> >> #5  0xb7a48264 in load_category (cat=0xb773a2c0, class=0xb7a64340) at 
>> >> category_loader.c:38
>> >> #6  0xb7a47f02 in try_load_category (cat=0xb773a2c0) at 
>> >> category_loader.c:50
>> >> #7  0xb7a47e6a in objc_try_load_category (cat=0xb773a2c0) at 
>> >> category_loader.c:63
>> >> #8  0xb7a5143f in __objc_exec_class (module=0xb773a398) at loader.c:89
>> >> #9  0xb76c55a4 in .objc_load_function () from 
>> >> /home/ldm/work/platform/Clo/queens2/../ORFoundation/libORFoundation.so
>> >> #10 0xb7fece9b in ?? () from /lib/ld-linux.so.2
>> >> #11 0xb7fecf84 in ?? () from /lib/ld-linux.so.2
>> >> #12 0xb7fdf20f in ?? () from /lib/ld-linux.so.2
>> >>
>> >>
>> >> So line 62.
>> >>
>> >> It won't show the variables though:
>> >>
>> >> (gdb) p *p2
>> >> $3 = {
>> >> isa = 0xb7a642f0,
>> >> name = 0xb771df54 "ORExpr",
>> >> protocol_list = 0xb7795a18,
>> >> instance_methods = 0xb7795a20,
>> >> class_methods = 0xb7795a20,
>> >> optional_instance_methods = 0xb7795a20,
>> >> optional_class_methods = 0xb7795a20,
>> >> properties = 0x0,
>> >> optional_properties = 0x0
>> >> }
>> >> (gdb) l
>> >> 57           if (aProto->isa == ObjC2ProtocolClass)
>> >> 58           {
>> >> 59                   struct objc_protocol2 *p2 = (struct 
>> >> objc_protocol2*)aProto;
>> >> 60                   isEmpty &= (p2->optional_instance_methods->count == 
>> >> 0);
>> >> 61                   isEmpty &= (p2->optional_class_methods->count == 0);
>> >> 62                   isEmpty &= (p2->properties->count == 0);
>> >> 63                   isEmpty &= (p2->optional_properties->count == 0);
>> >> 64           }
>> >> 65           return isEmpty;
>> >> 66   }
>> >>
>> >> So p2->properties is NULL and trying to access the count attribute 
>> >> crashes. This is happening on a protocol
>> >> of mine (ORExpr) which inherits from other protocols:
>> >>
>> >> @protocol ORExpr <ORConstraint,NSObject,NSCoding>
>> >> -(id<ORTracker>) tracker;
>> >> -(ORInt) min;
>> >> -(ORInt) max;
>> >> -(BOOL) isConstant;
>> >> -(BOOL) isVariable;
>> >>
>> >> ....
>> >>
>> >> @end
>> >>
>> >> Any ideas?
>> >>
>> >>
>> >> On Mar 5, 2013, at 7:20 AM, Laurent Michel <l...@thorgal.homelinux.org> 
>> >> wrote:
>> >>
>> >>>
>> >>> On Mar 5, 2013, at 4:10 AM, David Chisnall <thera...@sucs.org> wrote:
>> >>>
>> >>>> Hi,
>> >>>>
>> >>>> How old is your runtime?  Without debugging symbols, this looks like it 
>> >>>> might be a bug that was fixed in May last year.  It would really help 
>> >>>> if you could do a debug build of the runtime and let me know exactly 
>> >>>> what is failing.  If you do ccmake . in your libobjc2 build directory, 
>> >>>> and change the build type to Debug, you should get the symbols.
>> >>>
>> >>> libobjc2 was 1.6.1
>> >>>
>> >>>
>> >>> ldm@ubuntu:/usr/local/src/old$ sha1sum libobjc2-1.6.tar.gz
>> >>> 348ab64899b25ecb2bfdfd13ebeeab2d6a2c8988  libobjc2-1.6.tar.gz
>> >>>
>> >>>
>> >>> total 9196
>> >>> drwxr-xr-x 4 root root     4096 Mar  4 08:37 GNUstep
>> >>> lrwxrwxrwx 1 root root       23 Mar  4 08:37 libgnustep-base.so -> 
>> >>> libgnustep-base.so.1.24
>> >>> lrwxrwxrwx 1 root root       25 Mar  4 08:37 libgnustep-base.so.1.24 -> 
>> >>> libgnustep-base.so.1.24.3
>> >>> -rwxr-xr-x 1 root root  9105637 Mar  4 08:36 libgnustep-base.so.1.24.3
>> >>> -r--r--r-- 1 root root   136452 May 18  2012 libobjc.a
>> >>> lrwxrwxrwx 1 root root       31 May 18  2012 libobjc.so -> 
>> >>> /usr/local/lib/libobjc.so.4.6.0
>> >>> lrwxrwxrwx 1 root root       31 May 18  2012 libobjc.so.4 -> 
>> >>> /usr/local/lib/libobjc.so.4.6.0
>> >>> lrwxrwxrwx 1 root root       31 May 18  2012 libobjc.so.4.6 -> 
>> >>> /usr/local/lib/libobjc.so.4.6.0
>> >>> -r--r--r-- 1 root root   140820 May 18  2012 libobjc.so.4.6.0
>> >>> lrwxrwxrwx 1 root root       33 May 18  2012 libobjcxx.so -> 
>> >>> /usr/local/lib/libobjcxx.so.4.6.0
>> >>> lrwxrwxrwx 1 root root       33 May 18  2012 libobjcxx.so.4 -> 
>> >>> /usr/local/lib/libobjcxx.so.4.6.0
>> >>> lrwxrwxrwx 1 root root       33 May 18  2012 libobjcxx.so.4.6 -> 
>> >>> /usr/local/lib/libobjcxx.so.4.6.0
>> >>> -r--r--r-- 1 root root    13002 May 18  2012 libobjcxx.so.4.6.0
>> >>> drwxrwsr-x 4 root staff    4096 Mar  3 13:33 python2.7
>> >>> ldm@ubuntu:/usr/local/lib$
>> >>>
>> >>> I was looking yesterday night for a more recent tar ball, but couldn't 
>> >>> locate one.
>> >>>
>> >>> I'll recompile libobjc2 in debug and will update you. Thanks for the 
>> >>> info David!
>> >>>
>> >>> --
>> >>> Laurent
>> >>>
>> >>>
>> >>>>
>> >>>> David
>> >>>>
>> >>>> On 5 Mar 2013, at 01:37, Laurent Michel <l...@engr.uconn.edu> wrote:
>> >>>>
>> >>>>> PS/ I decided to recompile GNUstep simply because I was experiencing a 
>> >>>>> crash with my compiled binary during the
>> >>>>> library initializations of GNUstep/libobjc. Namely, here is the 
>> >>>>> backtrace:
>> >>>>>
>> >>>>> [Thread debugging using libthread_db enabled]
>> >>>>> Using host libthread_db library 
>> >>>>> "/lib/i386-linux-gnu/libthread_db.so.1".
>> >>>>> [New Thread 0xb7021b40 (LWP 8378)]
>> >>>>>
>> >>>>> Program received signal SIGSEGV, Segmentation fault.
>> >>>>> 0xb7a58d50 in init_protocols () from /usr/local/lib/libobjc.so
>> >>>>> (gdb) where
>> >>>>> #0  0xb7a58d50 in init_protocols () from /usr/local/lib/libobjc.so
>> >>>>> #1  0xb7a58c47 in init_protocols () from /usr/local/lib/libobjc.so
>> >>>>> #2  0xb7a588c1 in objc_init_protocols () from /usr/local/lib/libobjc.so
>> >>>>> #3  0xb7a517e3 in objc_try_load_category () from 
>> >>>>> /usr/local/lib/libobjc.so
>> >>>>> #4  0xb7a57251 in __objc_exec_class () from /usr/local/lib/libobjc.so
>> >>>>> #5  0xb76d15d4 in .objc_load_function () from 
>> >>>>> /home/ldm/work/platform/Clo/queens2/../ORFoundation/libORFoundation.so
>> >>>>> #6  0xb7fece9b in ?? () from /lib/ld-linux.so.2
>> >>>>> #7  0xb7fecf84 in ?? () from /lib/ld-linux.so.2
>> >>>>> #8  0xb7fdf20f in ?? () from /lib/ld-linux.so.2
>> >>>>> (gdb) quit
>> >>>>> A debugging session is active.
>> >>>>
>> >>>> --
>> >>>> This email complies with ISO 3103
>> >>>>
>> >>>>
>> >>>> _______________________________________________
>> >>>> Gnustep-dev mailing list
>> >>>> Gnustep-dev@gnu.org
>> >>>> https://lists.gnu.org/mailman/listinfo/gnustep-dev
>> >>>
>> >>
>> >>
>> >> _______________________________________________
>> >> Gnustep-dev mailing list
>> >> Gnustep-dev@gnu.org
>> >> https://lists.gnu.org/mailman/listinfo/gnustep-dev
>> >
>> >
>> >
>> >
>> > -- Sent from my Difference Engine
>> >
>> >
>> >
>> 
>> 
>> _______________________________________________
>> Gnustep-dev mailing list
>> Gnustep-dev@gnu.org
>> https://lists.gnu.org/mailman/listinfo/gnustep-dev
>> 
>> _______________________________________________
>> Gnustep-dev mailing list
>> Gnustep-dev@gnu.org
>> https://lists.gnu.org/mailman/listinfo/gnustep-dev

_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to