discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Problems building gnustep-base on Ubuntu Linux with clang/llvm-3.7


From: David Lobron
Subject: Re: Problems building gnustep-base on Ubuntu Linux with clang/llvm-3.7
Date: Mon, 28 Sep 2015 12:18:53 -0400

Thanks very much for the help, David.  A few more comments:

> Please try the most recent release (1.8.1, see: 
> https://github.com/gnustep/libobjc2/releases ), which incorporates some more 
> error checking and recovery into the build process (not to mention a number 
> of other bug fixes).

This worked fine - I was also able to get the normal CMake build working.

>> When I then tried to compile gnustep-base with clang, I was able to build 
>> Source, Additions, and libgnustep-base, but I hit some error in the 
>> ObjectiveC2 subproject.  The first few of these look like this:
>> 
>> Making all for subproject ObjectiveC2…
> 
> This subproject is to provide modern runtime APIs to old versions of the GCC 
> runtime.  It should not be being built if you have a modern runtime 
> installed, so something has gone wrong with an earlier configuration stage.

I deleted my build tree and tried the build again, but the problem persisted.  
Digging deeper, I instrumented Source/GNUmakefile, and found that HAVE_BLOCKS 
is set to 0 and OBJC2RUNTIME is set to 1, which causes the subproject to be 
added:

ifeq ($(OBJC2RUNTIME),0)
...
else
  ifeq ($(HAVE_BLOCKS),0)
    libgnustep-base_SUBPROJECTS = ObjectiveC2

The configure script notes that HAVE_BLOCKS is set to 0 when 
ac_cv_func__Block_copy

if test $ac_cv_func__Block_copy = yes ; then
  HAVE_BLOCKS=1
else
  HAVE_BLOCKS=0
fi

The config.log shows that:

ac_cv_func__Block_copy=no

The above line appears under the "Cache variables" section in the config.log.  
I do not have a cache file in my build tree, so I don't think I'm picking up an 
obsolete value.  Do you know how this variable would be set in a correct 
configuration?  I Googled around for it, but I could not find any mention of 
it.  Just as a guess: could this be because I'm compiling with clang, rather 
than gcc?  You mentioned above that the ObjectiveC2 subproject is meant to 
provide a runtime to older versions of the GCC runtime, and in fact I was able 
to build this codeline with gcc (4.6).

I'm using libobjc2-1.8.1 and clang-3.7 on an Ubuntu GNU/Linux OS.

Thank you again for this assistance!

--David

Attachment: smime.p7s
Description: S/MIME cryptographic signature


reply via email to

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