I still can’t make sense of this. Is your gold a different version now as well?

Sent from my iPhone

> On 23 Oct 2017, at 8:45 PM, Joachim Breitner <m...@joachim-breitner.de> wrote:
> 
> Hi,
> 
> JFTR, upgrading the Arch installation, including ghc to 8.2.1, fixes
> the issue for perf.haskell.org.
> 
> Greetings,
> Joachim
> 
> Am Donnerstag, den 19.10.2017, 16:28 +0800 schrieb Moritz Angermann:
>> Hi,
>> 
>> As it turns out this might be linker madness. I do not yet understand why 
>> this did work with
>> the "old" libffi though.
>> 
>> The command that fails is a rather long gcc invocation asking it to link a 
>> bunch of libraries together.
>> 
>> $ gcc -fno-stack-protector -DTABLES_NEXT_TO_CODE '-fuse-ld=gold' [...] 
>> -lHSghci-8.3-ghc8.3.20171018 [...] -lffi [...]
>> 
>> From the error message, we know taht ghci depends on libffi. E.g.
>> 
>>> libHSghci-8.3-ghc8.3.20171018.so: error: undefined reference to 
>>> 'ffi_prep_cif'
>> 
>> Now there are two possible configurations that do (successfully) link on my 
>> test machine:
>> 
>> 1.) Droppping `-fuse-ld=gold`.
>> 2.) Moving `-lffi` prior to `-lHSghci-8.3-ghc8.3.20171018`.
>> 
>> I guess we could also add the libffi symbols the the other -Wl,-u,... 
>> symbols.
>> 
>> Obviously I would not see this on macOS, as there is no go.ld on macOS. On 
>> my ubuntu system, gold is
>>> GNU gold (GNU Binutils for Ubuntu 2.27) 1.12
>> 
>> Again, as I stated in the beginning, I fail to understand why this should 
>> related to the new libffi version.
>> 
>> As such running `LD=ld ./configure && make -j` does indeed complete 
>> successfully on my machine.
>> 
>> If someone has any idea what the core issue between the libffi update and 
>> these build failures is, I'd be happy
>> to know!
>> 
>> Cheers,
>> Moritz
>> 
>>> On Oct 18, 2017, at 11:38 PM, Joachim Breitner <m...@joachim-breitner.de> 
>>> wrote:
>>> 
>>> Hi,
>>> 
>>> it’s an Arch linux (generously sponsored by Richard’s university). I
>>> have not idea how to give more precise information about the distro
>>> release version or such :-)
>>> 
>>> Greetings,
>>> Joachim
>>> 
>>> Am Mittwoch, den 18.10.2017, 22:02 +0800 schrieb Moritz Angermann:
>>>> Hi,
>>>> 
>>>> so this somehow looks like for a not yet absolutely clear reason to me,
>>>> when building ghci, we fail to link in libffi, for some configurations.
>>>> 
>>>> Joachim, as far as I could see, you are using ghc 8.0.1 to boostrap the
>>>> compiler. Thomas are you by any chance bootstrapping with 8.0.1 as well?
>>>> I assume Ben bootstraps wit 8.2.1.
>>>> 
>>>> I'll set up a Ubuntu 16.10 machine tomorrow and try to reproduce this.
>>>> 
>>>> Joachim, is perf.haskell.org running Ubuntu as well?
>>>> 
>>>> Cheers,
>>>> Moritz
>>>> 
>>>>> On Oct 11, 2017, at 1:43 AM, Thomas Jakway <tjak...@nyu.edu> wrote:
>>>>> 
>>>>> Thanks for getting back to me.
>>>>> 
>>>>> (I think you mean `git clean -x -f -d`): I usually omit -x but I'll give 
>>>>> it a go and report back.
>>>>> 
>>>>> Before I got the issue on a clean checkout I thought it was something I 
>>>>> did to the build files.
>>>>> 
>>>>> I also tried building the latest release of libffi (v3.2.1) and using it 
>>>>> in configure with --with-ffi-includes and --with-ffi-libraries but got 
>>>>> the same error.
>>>>> 
>>>>> 
>>>>>> On 10/09/2017 02:40 AM, Moritz Angermann wrote:
>>>>>> Yes, this commit indeed introduced the need for makeinfo, however after 
>>>>>> some debugging and improved packaging of the external libffi library, 
>>>>>> this dependency was removed again, and should not be required with the 
>>>>>> latest head anymore.
>>>>>> 
>>>>>> Then again this should not result in link issues but rather in build 
>>>>>> time issues.
>>>>>> 
>>>>>> The key to libffi is the libffi-tarballs git submodule, which contains 
>>>>>> the packaged libffi-tarballs. Make sure all your submodules are also 
>>>>>> updated.
>>>>>> 
>>>>>> I usually use `git -x -f -d` (read the documentation first) to ensure a 
>>>>>> clean working tree. Especially as you say you can’t reproduce it on 
>>>>>> other machines, maybe there is a file in your tree that the cleaning did 
>>>>>> not catch?
>>>>>> 
>>>>>> Sent from my iPhone
>>>>>> 
>>>>>>> On 9 Oct 2017, at 4:31 AM, Thomas Jakway <tjak...@nyu.edu> wrote:
>>>>>>> 
>>>>>>> I'm on Ubuntu 16.10.
>>>>>>> 
>>>>>>> I ran git bisect:
>>>>>>> 
>>>>>>> ----------------------
>>>>>>> 
>>>>>>> e515c7f37be97e1c2ccc497ddd0a730e63ddfa82 is the first bad commit
>>>>>>> commit e515c7f37be97e1c2ccc497ddd0a730e63ddfa82
>>>>>>> Author: Moritz Angermann <moritz.angerm...@gmail.com>
>>>>>>> Date:   Sat Sep 30 09:31:12 2017 -0400
>>>>>>> 
>>>>>>> Allow libffi snapshots
>>>>>>> 
>>>>>>> This is rather annoying. I'd prefer to have a stable release to
>>>>>>> use. However libffi-3.2.1 has been released November 12, 2014, and
>>>>>>> libffi-4 is TBD. See also https://github.com/libffi/libffi/issues/296
>>>>>>> 
>>>>>>> The core reason for this change is that llvm changed the supported
>>>>>>> assembly to unified syntax, which libffi-3.2.1 does not use, and hence
>>>>>>> fails to compile for arm with llvm. For refence, see the following
>>>>>>> issue: https://github.com/libffi/libffi/issues/191.
>>>>>>> 
>>>>>>> This diff contains a script to generate a tarball for the
>>>>>>> `libffi-tarballs` repository from the libffi GitHub repository; as well
>>>>>>> as the necessary changes to the build system.
>>>>>>> 
>>>>>>> Updates libffi-tarballs submodule.
>>>>>>> 
>>>>>>> Reviewers: austin, bgamari, hvr
>>>>>>> 
>>>>>>> Subscribers: hvr, erikd, rwbarton, thomie
>>>>>>> 
>>>>>>> Differential Revision: https://phabricator.haskell.org/D3574
>>>>>>> 
>>>>>>> ----------------------
>>>>>>> 
>>>>>>> I can't reproduce it on my other linux computers though.
>>>>>>> 
>>>>>>> 
>>>>>>>> On 10/04/2017 02:17 PM, Ben Gamari wrote:
>>>>>>>> Thomas Jakway <tjak...@nyu.edu> writes:
>>>>>>>> 
>>>>>>>>> Anyone else getting linker errors?
>>>>>>>>> 
>>>>>>>>> This is after running
>>>>>>>>> 
>>>>>>>>> make clean && make distclean && find . -name "*.o" -type f -delete &&
>>>>>>>>> find . -name "*.hi" -type f -delete
>>>>>>>>> 
>>>>>>>>> then
>>>>>>>>> 
>>>>>>>>> ./boot && ./configure && make -j5
>>>>>>>>> 
>>>>>>>>> (ghc-new is not a new checkout, this error is happening on a branch 
>>>>>>>>> I'm
>>>>>>>>> working on, but one that doesn't touch the FFI)
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> I'm afraid I can't reproduce this. What platform/operating system is
>>>>>>>> this on?
>>>>>>>> 
>>>>>>>> Cheers,
>>>>>>>> 
>>>>>>>> - Ben
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> ghc-devs mailing list
>>>>>>> ghc-devs@haskell.org
>>>>>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>>>>> 
>>>>> _______________________________________________
>>>>> ghc-devs mailing list
>>>>> ghc-devs@haskell.org
>>>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>>>> 
>>>> 
>>> 
>>> -- 
>>> Joachim Breitner
>>> m...@joachim-breitner.de
>>> http://www.joachim-breitner.de/
>>> _______________________________________________
>>> ghc-devs mailing list
>>> ghc-devs@haskell.org
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>> 
>> ————————————————— 
>> Moritz Angermann
>> +49 170 54 33 0 74
>> mor...@lichtzwerge.de
>> 
>> lichtzwerge GmbH
>> Raiffeisenstr. 8
>> 93185 Michelsneukirchen
>> 
>> Amtsgericht Regensburg HRB 14723
>> Geschäftsführung: Moritz Angermann, Ralf Sangl
>> USt-Id: DE291948767
>> 
>> Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
>> Informationen. Wenn Sie nicht der richtige Adressat sind oder diese
>> E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den
>> Absender und vernichten Sie diese Mail.
>> Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail
>> ist nicht gestattet.
>> This e-mail may contain confidential and/or privileged information.
>> If you are not the intended recipient (or have received this e-mail in
>> error) please notify the sender immediately and destroy this e-mail.
>> Any unauthorized copying, disclosure or distribution of the material in
>> this e-mail is strictly forbidden.
>> 
>> _______________________________________________
>> ghc-devs mailing list
>> ghc-devs@haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
> -- 
> Joachim “nomeata” Breitner
>  m...@joachim-breitner.de
>  https://www.joachim-breitner.de/
> _______________________________________________
> ghc-devs mailing list
> ghc-devs@haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to