[gambit-list] on macos: clang over gcc

Marc Feeley feeley at iro.umontreal.ca
Fri Oct 6 07:55:35 EDT 2017


Please read the build steps in the INSTALL.txt file…  When freshly cloned from github, Gambit needs to be bootstrapped, so you need to *precisely* follow these steps:

  % ./configure --enable-single-host CC=gcc-6
  % make current-gsc-boot
  % make from-scratch

The “./configure …” followed by “make” that you are using is appropriate when building from a release of Gambit, for example v4.8.8 with no other patches applied.

So above the “make current-gsc-boot” builds the latest release of Gambit by using git to checkout the latest release (v4.8.8 currently) and then creates boot/gsc/gsc which is then used by the “make from-scratch” to bootstrap Gambit using the repo HEAD.

Marc



> On Oct 6, 2017, at 3:51 AM, Ben <mailist.ben at srctxt.com> wrote:
> 
> maybe this is of interest ...
> 
> I couldn't install gcc-7 with brew but gcc-6. 
> 
> This will not compile:
> 
>    ./configure --enable-single-host CC=gcc-6
>     make
> ....
> making all in lib
> gcc-6 -Wno-unused -Wno-write-strings -Wdisabled-optimization -O1 -fwrapv
> -fno-strict-aliasing -fno-trapping-math -fno-math-errno
> -fschedule-insns2 -fomit-frame-pointer -fPIC -fno-common -mieee-fp
> -mpc64   -I"../include" -c -o "_kernel.o" -I. -DHAVE_CONFIG_H
> -D___GAMBITDIR="\"/usr/local/Gambit\"" -D___SYS_TYPE_CPU="\"x86_64\""
> -D___SYS_TYPE_VENDOR="\"apple\"" -D___SYS_TYPE_OS="\"darwin16.7.0\""
> -D___CONFIGURE_COMMAND="\"./configure '--enable-single-host'
> 'CC=gcc-6'"\" -D___OBJ_EXTENSION="\".o\"" -D___EXE_EXTENSION="\"\""
> -D___BAT_EXTENSION="\"\"" -D___PRIMAL _kernel.c -D___LIBRARY
> _kernel.c: In function '___H__20___kernel':
> _kernel.c:6346:27: error: void value not ignored as it ought to be
>    ___FLONUM_VAL(___ARG2) = ___set_heartbeat_interval
>    (___FLONUM_VAL(___ARG1));
>                           ^
> make[1]: *** [_kernel.o] Error 1
> make: *** [all-recursive] Error 1
> 
> 
> On Wed, Sep 20, 2017, at 04:37 PM, Marc Feeley wrote:
>> By default the configure script searches for gcc before looking for
>> clang.  However… X-code installs “clang” and also “gcc”, and that “gcc”
>> is not the GNU gcc… it is a wrapper around clang/llvm.  So to install the
>> GNU gcc you need to use homebrew like this:
>> 
>> % brew install gcc-7
>> 
>> and then tell the configure script to use that compiler:
>> 
>> % ./configure --enable-single-host CC=gcc-7
>> 
>> You will notice a dramatic decrease in compilation time and in execution
>> time (about 3 or 4 times faster execution if I recall correctly).  On my
>> machine a “make -j8” after a “make clean” takes 30 seconds.
>> 
>> Marc
>> 
>> 
>> 
>>> On Sep 20, 2017, at 3:18 AM, Ben <mailist.ben at srctxt.com> wrote:
>>> 
>>> hi
>>> On macos sierra running the ./configure script gives me the following
>>> message:
>>> 
>>> *** The clang compiler is being used.  Please be aware that the build 
>>> ***
>>> *** may take a very long time (over 30 minutes on a fairly fast       
>>> ***
>>> *** machine with clang 3.0).  Configuring with GNU GCC will give a    
>>> ***
>>> *** faster build (1 min on the same machine with GNU GCC 4.2.1) and   
>>> ***
>>> *** the executable will be faster.    
>>> 
>>> 
>>> What can I do to enforce GCC? I cannot see any specific configure
>>> --options
>>> 
>>> Attached you'll find the entire configure log.
>>> 
>>> Thanks,
>>> Ben
>>> 
>>> <configure.log>_______________________________________________
>>> Gambit-list mailing list
>>> Gambit-list at iro.umontreal.ca
>>> https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
>> 




More information about the Gambit-list mailing list