discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Compiling under Ubuntu 16.04


From: David Chisnall
Subject: Re: Compiling under Ubuntu 16.04
Date: Fri, 26 Aug 2016 09:46:41 +0100

Please will you remove the first build of GNUstep Make.  Neither libdispatch 
nor libobjc2 need GNUstep Make (in the case of libobjc2, intentionally to avoid 
a circular dependency).

If -Make is not installed, then libobjc2 will install as a normal library, just 
set the prefix to whatever you want (it defaults to /usr/local, you probably 
want /usr on Ubuntu).

Ubuntu 16.04 includes clang 3.8 (clang-3.8 package), which is ample for 
compiling modern Objective-C code (and, for the next couple of weeks, is the 
latest release), so it’s probably more sensible to install that than to build 
from source.  Even better, they’ve now fixed the idiocy from Ubuntu 14.04 where 
you then had to force-deinstall a bunch of gcc packages that they made the 
clang package depend on to get a working compiler.

You will need to update the [OBJ]C[XX]FLAGS everywhere because now clang / 
clang++ are called clang-3.8 and clang++-3.8.

I don’t know why you think you need '-DCMAKE_ASM_FLAGS=-c’ in the libobjc2 
build.  I just tried cmake -G Ninja -DCMAKE_C_COMPILER=clang-3.8 
-DCMAKE_CXX_COMPILER=clang++-3.8 on Ubuntu 16.04 and it seemed to work.
It’s also probably not a good idea to pass -DTESTS=OFF - it only takes a few 
extra seconds on a moderately modern machine to build and run the tests and you 
get a bit of sanity checking early on from doing so.

Please don’t use -fobjc-nonfragile-abi, it’s been deprecated for years.  The 
correct flag is -fobjc-runtime=gnustep-1.8.

In theory, the libdispatch0 package from Ubuntu ought to work, though I’ve not 
tested it.

This line:

source ~/.bashrc

Is probably dangerous.  You’re already sourcing GNUstep.sh earlier and you may 
end up with something very confusing, as many people have .bashrc scripts that 
don’t expect to be sourced more than once in a shell.  Similarly, the advice at 
the end is bad and you should tell people to source GNUstep.[c]sh, not 
re-source their .bashrc into a shell that’s already loaded it (or into a shell 
that may not understand it if bash is not their current shell).

The script would be a lot more readable if this were in a function, not copied 
and pasted a dozen times:

if [ "$PROMPT" = true ] ; then
  echo -e "\n\n"
  read -p "${GREEN}Press enter to continue...${NC}"
fi

David

> On 25 Aug 2016, at 17:03, Matthew Butch <apple4ever@me.com> wrote:
> 
> I’ve updated the wiki with a script to build and install under 16.04. 
> 
> http://wiki.gnustep.org/index.php/GNUstep_under_Ubuntu_Linux
> 
> I tested this on a couple different fresh installs.
> 
> I have noticed that MATE seems to be a better GUI than Unity when using the 
> apps.
> 
> Suggestions & edits welcome.
> 
> 
> 
> 
> --
> 
> Matthew Butch
> 
> "fiat justicia ruat colelum"
> (let justice be done though the heavens may fall)
> 
> Sent with Mac OS X El Capitan Mail 9.2 (3112)
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep




reply via email to

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