The reproducible logs and patches are done as I reported in another email, and now I can confirm the dtrace patch is the only one eligible to be merged, all other patches for SmartOS builds only do backporting. FYI

https://gitlab.haskell.org/complyue/smart-ghc8/blob/master/ghc-arts/ghc-8.8.2_includes_HsFFI.h.patch

And thank you again for being excellently helpful!

Cheers,

Compl


On 2020/2/4 下午10:22, Ben Gamari wrote:
Thanks for writing this down!

The dtrace patch is certainly something that we can merge as-is. Do let us know if there are any other patches that you find are necessary.

- Ben

On February 4, 2020 6:54:48 AM EST, Compl Yue via ghc-devs <ghc-devs@haskell.org> wrote:

freenode server seems in trouble for this while, and I'd like to take this chance to report my progress to the mailing lists.

 I'm thankful to folks at #ghc and #smartos who helped me so much in this journey, especially bgamari, without his hints and bleeding edge patches this won't be possible at all.

And https://www.mail-archive.com/smartos-discuss@lists.smartos.org/msg05016.html provided the information to get me started at all.

So far what's done:

    :: installed 7.6.3 -> booted 7.10.3 -> booted 8.2.2 -> booted 8.4.4 -> booted 8.6.5 -> booted 8.8.2

Notable issues as I remembered: (I don't remember the details clearly, anyway am to redo it all over again to have everything logged for reprod)

  • `gmake -i` is used to build 8.2.2 to workaround the stage1 ghc crash after target file generated
  • 8.6.5's ghci won't start

 [root@hswander /build/ghc8]# /opt/local/ghc8.6.5/bin/ghci
 GHCi, version 8.6.5: http://www.haskell.org/ghc/  :? for help
 ghc: loadArchive: Not an archive: `/usr/lib/iconv'
 ghc: panic! (the 'impossible' happened)
   (GHC version 8.6.5 for x86_64-unknown-solaris2):
         loadArchive "/usr/lib/iconv": failed
 Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

  •   worth to mention that I needed to put "SplitSections=YES" into mk/build.mk even for 8.8.2 or it'll fail, might be unexpected.

 And dtrace compiler on latest SmartOS don't support C++ style line comment, so I applied this patch to 8.8.2 https://gitlab.haskell.org/snippets/1549


Meanwhile I'm starting a fresh smartos vm to repeat (and log) all steps to make sure others and future me can follow such a reproducible procedure to build later versions.

Cheers,

Compl



--
Sent from my Android device with K-9 Mail. Please excuse my brevity.