HEAD bootstrap error macOS

Gabor Greif ggreif at gmail.com
Wed Dec 25 23:04:08 UTC 2019


This is now resolved. There were some incompatible

includes/ghcautoconf.h
includes/ghcplatform.h
includes/ghcversion.h

files hanging around (probably from a previous Hadrian build)
These never caused trouble, because all the right symbols were defined.
But recently with c2290596f10 some of the symbols changed.

Sorry for the noise.

    Gabor

On 12/24/19, Gabor Greif <ggreif at gmail.com> wrote:
> Comparing the above to the (successfully bootstrapping) Darwin CI
> job's configure output:
> ```
>    Using (for bootstrapping) : gcc
>    Using gcc                 : cc
>       which is version       : 11.0.0
> ```
>
>
> On 12/23/19, Gabor Greif <ggreif at gmail.com> wrote:
>> I see some conflict potential from
>> ```
>> Configure completed successfully.
>>
>>    Building GHC version  : 8.11.0.20191222
>>           Git commit id  : 1c302c6289a6eddc92b48815dd420bd58eb2f286
>>
>>    Build platform        : x86_64-apple-darwin
>>    Host platform         : x86_64-apple-darwin
>>    Target platform       : x86_64-apple-darwin
>>
>>    Bootstrapping using   :
>> /nix/store/m7nigmssmx89j5v22r1a83w6fb8cs6qb-ghc-8.6.5/bin/ghc
>>       which is version   : 8.6.5
>>
>>>>>   Using (for bootstrapping) :
>>>>> /nix/store/a76n8l1caynyyngdpnyihlrgyr9k9ilg-clang-wrapper-7.1.0/bin/cc
>>>>>   Using gcc                 :
>>>>> /nix/store/mq8dqgqf2qqkp77pzf3jwc05px8rkbny-clang-wrapper-9.0.0/bin/cc
>>       which is version       : 9.0.0
>>    Building a cross compiler : NO
>>    Unregisterised            : NO
>>    TablesNextToCode          : YES
>>    hs-cpp       :
>> /nix/store/mq8dqgqf2qqkp77pzf3jwc05px8rkbny-clang-wrapper-9.0.0/bin/cc
>>    hs-cpp-flags : -E -undef -traditional -Wno-invalid-pp-token
>> -Wno-unicode -Wno-trigraphs
>> ```
>>
>> It is strange that
>> `/nix/store/mq8dqgqf2qqkp77pzf3jwc05px8rkbny-clang-wrapper-9.0.0/bin/cc`
>> is identified as `gcc`. It is `clang`:
>> ```
>> [nix-shell:~/ghc]$
>> /nix/store/mq8dqgqf2qqkp77pzf3jwc05px8rkbny-clang-wrapper-9.0.0/bin/cc
>> --version
>> clang version 9.0.0 (tags/RELEASE_900/final)
>> Target: x86_64-apple-darwin17.7.0
>> Thread model: posix
>> InstalledDir: /nix/store/mg8gzayayl9sbgdy5hq2km6lxgi9x6dp-clang-9.0.0/bin
>> ```
>>
>> Cheers,
>>
>>     Gabor
>>
>>
>>
>> On 12/23/19, Gabor Greif <ggreif at gmail.com> wrote:
>>> This is a clean tree. Modulo
>>> ```
>>> $ diff -u mk/build.mk.sample mk/build.mk
>>> --- mk/build.mk.sample	2019-12-07 20:44:48.850209944 +0100
>>> +++ mk/build.mk	2019-11-27 14:18:57.052582066 +0100
>>> @@ -20,7 +20,7 @@
>>>  #BuildFlavour = perf-cross-ncg
>>>
>>>  # Fast build with optimised libraries, no profiling (RECOMMENDED):
>>> -#BuildFlavour = quick
>>> +BuildFlavour = quick
>>> ```
>>>
>>> I see
>>> ```
>>> $ grep CC_LLVM_BACKEND config*
>>> config.log:| #define CC_LLVM_BACKEND 1
>>> ```
>>>
>>> Yes this is with clang-9, but it also happened with clang-7.
>>>
>>> I'll try to track this down. The TLS tip is good.
>>>
>>> Thanks,
>>>
>>>      Gabor
>>>
>>> On 12/23/19, Ben Gamari <ben at smart-cactus.org> wrote:
>>>> Gabor Greif <ggreif at gmail.com> writes:
>>>>
>>>>> Recently I started getting following error:
>>>>> ```
>>>>> [nix-shell:~/ghc]$ "inplace/bin/ghc-stage1" -optc-Wall -optc-Wall
>>>>> -optc-Wextra -optc-Wstrict-prototypes -optc-Wmissing-prototypes
>>>>> -optc-Wmissing-declarations -optc-Winline -optc-Wpointer-arith
>>>>> -optc-Wmissing-noreturn -optc-Wnested-externs -optc-Wredundant-decls
>>>>> -optc-Wno-aggregate-return -optc-Iincludes -optc-Iincludes/dist
>>>>> -optc-Iincludes/dist-derivedconstants/header
>>>>> -optc-Iincludes/dist-ghcconstants/header
>>>>> -optc-Iincludes/dist-install/build -optc-Irts -optc-Irts/dist/build
>>>>> -optc-DCOMPILING_RTS -optc-DFS_NAMESPACE=rts -optc-fno-strict-aliasing
>>>>> -optc-fno-common -optc-DDTRACE -optc-Irts/dist/build/./autogen
>>>>> -optc-Wno-unknown-pragmas -optc-O2 -optc-fomit-frame-pointer -optc-g
>>>>> -optc-DRtsWay=\"rts_thr\" -static -optc-DTHREADED_RTS  -O0 -H64m -Wall
>>>>>   -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header
>>>>> -Iincludes/dist-ghcconstants/header -Iincludes/dist-install/build
>>>>> -Irts -Irts/dist/build -DCOMPILING_RTS -DFS_NAMESPACE=rts
>>>>> -this-unit-id rts -dcmm-lint  -DDTRACE     -i -irts -irts/dist/build
>>>>> -Irts/dist/build -irts/dist/build/./autogen -Irts/dist/build/./autogen
>>>>>            -O2 -Wcpp-undef    -Wnoncanonical-monad-instances  -c
>>>>> rts/sm/Scav_thr.c -o rts/dist/build/sm/Scav_thr.thr_o -v
>>>>> Glasgow Haskell Compiler, Version 8.11.0.20191222, stage 1 booted by
>>>>> GHC version 8.6.5
>>>>> *** initializing package database:
>>>>> Using binary package database:
>>>>> /Users/ggreif/ghc/inplace/lib/package.conf.d/package.cache
>>>>> package flags []
>>>>> loading package database /Users/ggreif/ghc/inplace/lib/package.conf.d
>>>>> wired-in package ghc-prim mapped to ghc-prim-0.6.1
>>>>> wired-in package integer-wired-in mapped to integer-gmp-1.0.2.0
>>>>> wired-in package base mapped to base-4.14.0.0
>>>>> wired-in package rts mapped to rts
>>>>> wired-in package template-haskell mapped to template-haskell-2.16.0.0
>>>>> wired-in package ghc mapped to ghc-8.11.0.20191222
>>>>> !!! initializing package database: finished in 8.51 milliseconds,
>>>>> allocated 8.770 megabytes
>>>>> Created temporary directory:
>>>>> /var/folders/39/lr50t0q96tx5qp0mzht34r240000gn/T/ghc55616_0
>>>>> *** systool:cc:
>>>>> *** C Compiler:
>>>>> /nix/store/mq8dqgqf2qqkp77pzf3jwc05px8rkbny-clang-wrapper-9.0.0/bin/cc
>>>>> -x c rts/sm/Scav_thr.c -o
>>>>> /var/folders/39/lr50t0q96tx5qp0mzht34r240000gn/T/ghc55616_0/ghc_1.s
>>>>> -fno-common -U__PIC__ -D__PIC__ -Wimplicit -S -O2 -include
>>>>> /Users/ggreif/ghc/includes/ghcversion.h -Iincludes -Iincludes/dist
>>>>> -Iincludes/dist-derivedconstants/header
>>>>> -Iincludes/dist-ghcconstants/header -Iincludes/dist-install/build
>>>>> -Irts -Irts/dist/build -Irts/dist/build -Irts/dist/build/./autogen
>>>>> -I/Users/ggreif/ghc/libraries/base/include
>>>>> -I/Users/ggreif/ghc/libraries/base/dist-install/build/include
>>>>> -I/Users/ggreif/ghc/libraries/base/dist-install/build/dist-install/build/include
>>>>> -I/Users/ggreif/ghc/libraries/integer-gmp/include
>>>>> -I/Users/ggreif/ghc/libraries/integer-gmp/dist-install/build/include
>>>>> -I/Users/ggreif/ghc/libraries/integer-gmp/dist-install/build/dist-install/build/include
>>>>> -I/Users/ggreif/ghc/rts/dist/build -I/Users/ggreif/ghc/includes
>>>>> -I/Users/ggreif/ghc/includes/dist-derivedconstants/header
>>>>> -I/Users/ggreif/ghc/includes/dist-install/build -Xpreprocessor
>>>>> -DCOMPILING_RTS -Xpreprocessor '-DFS_NAMESPACE=rts' -Xpreprocessor
>>>>> -DDTRACE -Wall -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes
>>>>> -Wmissing-declarations -Winline -Wpointer-arith -Wmissing-noreturn
>>>>> -Wnested-externs -Wredundant-decls -Wno-aggregate-return -Iincludes
>>>>> -Iincludes/dist -Iincludes/dist-derivedconstants/header
>>>>> -Iincludes/dist-ghcconstants/header -Iincludes/dist-install/build
>>>>> -Irts -Irts/dist/build -DCOMPILING_RTS '-DFS_NAMESPACE=rts'
>>>>> -fno-strict-aliasing -fno-common -DDTRACE -Irts/dist/build/./autogen
>>>>> -Wno-unknown-pragmas -O2 -fomit-frame-pointer -g '-DRtsWay="rts_thr"'
>>>>> -DTHREADED_RTS
>>>>>
>>>>> In file included from rts/sm/Scav_thr.c:3:0: error:
>>>>>
>>>>> In file included from rts/sm/Scav.c:51:0: error:
>>>>>
>>>>> In file included from rts/sm/GCUtils.h:18:0: error:
>>>>>
>>>>> rts/sm/GCTDecl.h:113:1: error:
>>>>>      error: register '%r13' unsuitable for global register variables
>>>>> on this target
>>>>>     |
>>>>> 113 | GCT_REG_DECL(gc_thread*, gct, REG_Base);
>>>>>     | ^
>>>>> GCT_REG_DECL(gc_thread*, gct, REG_Base);
>>>>> ^
>>>> Hmmm, this is quite odd. Is this a clean tree? Have you pulled without
>>>> re-./booting and ./configure'ing recently? Are you using Apple's Clang?
>>>>
>>>> In short, we shouldn't be using a register variable at all on OS X
>>>> (since Apple's Clang doesn't support register variables, as this error
>>>> suggests). Rather, we use TLS. This is implemented here [1]. Perhaps
>>>> check what value configure computed for CC_LLVM_BACKEND?
>>>>
>>>> Cheers,
>>>>
>>>> - Ben
>>>>
>>>>
>>>> [1] https://gitlab.haskell.org/ghc/ghc/blob/master/rts/sm/GCTDecl.h#L69
>>>>
>>>
>>
>


More information about the ghc-devs mailing list