Hi,

I have not tried using libdispatch. However, do you need to manually force
GNUstep to link with it? I'm especially concerned about the need to specify
linking with libobjc.

Perhaps this can help?
  http://dl.dropbox.com/u/8559454/GNUstep%20libobjc2%20on%20Ubuntu.sh
I doubt it'll reveal anything you don't already know, but this works for me
on cleanly installed Ubuntu 10.04. It's based on Etoile's INSTALL file.
It's fairly lengthy, since clang is compiled as well.

This script is to be run in the home folder and it installs clang into your
home folder's llvm/Release+Asserts/bin (to avoid conflicting with
system-wide clang you may have). Post-compile, I also added
~/llvm/Release+Asserts/bin into PATH, and I sourced GNUstep.sh to make
compiling easier.

On Fri, Jan 6, 2012 at 16:33, Thomas Davie <[email protected]> wrote:

> Heya,
>
> I've got a bit further with this, by specifying LIBS="-ldispatch -lobjc"
> and LDFLAGS="-L/usr/GNUstep/Local/Library/Libraries", configure now
> succeeds!  Unfortunately, make is not so successful.  Linking additions
> fails, it appears clang isn't getting any linker flags passed in when it
> links:
>
> make messages=yes reports that this command is being invoked:
> clang -nostdlib -r        -shared-libgcc -fexceptions -o
> ./obj/subproject.o obj/Additions.obj/GSObjCRuntime.m.o
> obj/Additions.obj/GCObject.m.o obj/Additions.obj/GCArray.m.o
> obj/Additions.obj/GCDictionary.m.o ob
> j/Additions.obj/GSLock.m.o obj/Additions.obj/GSMime.m.o
> obj/Additions.obj/GSXML.m.o obj/Additions.obj/GSFunctions.m.o
> obj/Additions.obj/GSInsensitiveDictionary.m.o
> obj/Additions.obj/NSArray+GNUstepBase.m.o obj/
> Additions.obj/NSAttributedString+GNUstepBase.m.o
> obj/Additions.obj/NSBundle+GNUstepBase.m.o
> obj/Additions.obj/NSCalendarDate+GNUstepBase.m.o
> obj/Additions.obj/NSData+GNUstepBase.m.o obj/Additions.obj/NSDebug+GN
> UstepBase.m.o obj/Additions.obj/NSError+GNUstepBase.m.o
> obj/Additions.obj/NSFileHandle+GNUstepBase.m.o
> obj/Additions.obj/NSLock+GNUstepBase.m.o
> obj/Additions.obj/NSMutableString+GNUstepBase.m.o obj/Additions.ob
> j/NSNumber+GNUstepBase.m.o obj/Additions.obj/NSObject+GNUstepBase.m.o
> obj/Additions.obj/NSPropertyList+GNUstepBase.m.o
> obj/Additions.obj/NSProcessInfo+GNUstepBase.m.o
> obj/Additions.obj/NSStream+GNUstepBase.m.o
> obj/Additions.obj/NSString+GNUstepBase.m.o
> obj/Additions.obj/NSTask+GNUstepBase.m.o
> obj/Additions.obj/NSThread+GNUstepBase.m.o
> obj/Additions.obj/NSURL+GNUstepBase.m.o obj/Additions.obj/Unicode.m.o ;
>
> This then promptly produces missing symbols for basically everything,
> because it's not getting told to link in libobjc, or even the standard C
> libraries.
>
> Anyone got any ideas how to get this a bit further?
>
> Thanks
>
> Tom Davie
>
>
> On 6 Jan 2012, at 13:50, Thomas Davie wrote:
>
> Hey all,
>
> I just updated my ubuntu box to allow me to use libdispatch,
> unfortunately, that killed my GNUstep install in the process, so I'm in the
> process of rebuilding.
>
> I have a new clang from svn, built and tested to be working on C files.
> I have built gnustep-make successfully with CC=gcc set.
> I have built gnustep-base successfully with CC=gcc set.
> I have built libobjc2 successfully with CC=clang set.
> I have reconfigured and built gnustep-make successfully with CC=clang set.
> gnustep-base will not reconfigure though, complaining that clang will not
> produce working binaries from objc files, some experimentation says it
> clearly will:
>
> ./configure --enable-libffi
> --with-library-flags="-L/usr/GNUstep/Local/Library/Libraries -ldispatch
> -lobjc" --with-default-config=/usr/GNUstep/Local/Configuration/GNUstep.conf
> .....
> checking whether objc really works... no
> I don't seem to be able to use your Objective-C compiler to produce
> working binaries!  Please check your Objective-C compiler installation.
> If you are using gcc-3.x make sure that your compiler's libgcc_s and
> libobjc
> can be found by the dynamic linker - usually that requires you to play
> with LD_LIBRARY_PATH or /etc/ld.so.conf.
> Please refer to your compiler installation instructions for more help.
> configure: error: The Objective-C compiler does not work or is not
> installed properly.
> tatd2@GLaDOS:~/gnustep-base$ cd ..
> tatd2@GLaDOS:~$ clang -L/usr/GNUstep/Local/Library/Libraries -lobjc
> -ldispatch  test.m
> tatd2@GLaDOS:~$ ./a.out
> Hello World
> tatd2@GLaDOS:~$ cat test.m
> #include <stdlib.h>
> #include <stdio.h>
>
> @interface A
>
> + (void)a;
>
> @end
>
> @implementation A
>
> + (void)a
> {
>     printf("Hello World\n");
> }
>
> @end
>
> int main (int argc, char **argv)
> {
>   [A a];
> }
>
> Is there anything I can do to debug why this check seems to be failing?
>
> if (*ra4 != 0xffc78948) { return false; }
>
>
> _______________________________________________
> Discuss-gnustep mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
>
>
>
> _______________________________________________
> Discuss-gnustep mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
>
>


-- 
Ivan Vučica - [email protected]
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to