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