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 Chisnall
Subject: Re: Problems building gnustep-base on Ubuntu Linux with clang/llvm-3.7
Date: Mon, 28 Sep 2015 10:16:25 +0100

Hi David,

> On 24 Sep 2015, at 20:14, David Lobron <dlobron@akamai.com> wrote:
> 
> Hi All,
> 
> I am trying to build gnustep-base-1.24.8 on Ubuntu Linux, and hitting a few 
> snags.  I would be very grateful if someone could suggest where I'm going 
> wrong.
> 
> I first installed the llvm compiler, clang-3.8.0.  I tried to build 
> gnustep-base after that with clang, but the configure script failed because 
> it could not find objc/objc.h.  I presumed this was because the runtime 
> wasn't installed, so I grabbed the source for libobjc2-1.7, unpacked it, and 
> ran the suggested build command in the source dir:

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).

> mkdir Build; cd Build; cmake .. -DCMAKE_C_COMPILER=clang 
> -DCMAKE_CXX_COMPILER=clang++
> 
> This resulted in the following error:
> 
> -- Untested version of LLVM (3.8.0svn) found.
> -- Disabling LLVM options unless explicitly enabled.
> -- No C++ runtime library found
> -- GNUstep install type set to NONE
> CMake Error at CMakeLists.txt:310 (install):
>  install TARGETS given no LIBRARY DESTINATION for shared library target
>  "objc".
> 
> 
> -- Configuring incomplete, errors occurred!
> See also "/home/dlobron/clang/libobjc2-1.7/Build/CMakeFiles/CMakeOutput.log".
> See also "/home/dlobron/clang/libobjc2-1.7/Build/CMakeFiles/CMakeError.log".
> 
> I worked around this by simply running "make; make install".  That produced a 
> warning that I should have used the cmake command, but it built the runtime 
> and installed the headers.  

I have no idea what that will actually produce.  There is a reason for those 
warnings...

> 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.

> - Is there a way to work around the "install TARGETS given no LIBRARY 
> DESTINATION" error when building libobjc2 with cmake?  Is this the source of 
> my errors above?

Try building a newer version.

> - Is libobjc2 the right runtime for gnustep-base?  

Yes.

> Any help would be appreciated here.

The correct install sequence is:

1) Build and install libobjc2.  If you are on a GNU/Linux platform, you 
probably want to set the default prefix to /usr (not /usr/local).

2) Install GNUstep-make

3) Install GNUstep-base (and any dependencies)

4) Install GNUstep-gui

For reference on packaging, I’d suggest looking at the FreeBSD ports, which 
build packages providing a modern GNUstep environment.

David




-- Sent from my brain




reply via email to

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