<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/index.php?action=history&amp;feed=atom&amp;title=Porting_GHC_to_Alpine</id>
	<title>Porting GHC to Alpine - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/index.php?action=history&amp;feed=atom&amp;title=Porting_GHC_to_Alpine"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;action=history"/>
	<updated>2026-05-03T20:26:31Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;diff=17795&amp;oldid=prev</id>
		<title>Wowaname: fix typo</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;diff=17795&amp;oldid=prev"/>
		<updated>2020-07-07T21:44:59Z</updated>

		<summary type="html">&lt;p&gt;fix typo&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:44, 7 July 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Obsolete|{{pkg|ghc}} is now available in aports; also these instructions target an older version of ghc (which is at [https://www.haskell.org/ghc/ v8.0.2 as of Jan 2017])}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Obsolete|{{pkg|ghc}} is now available in aports; also these instructions target an older version of ghc (which is at [https://www.haskell.org/ghc/ v8.0.2 as of Jan 2017])}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I wanted to port the [http://www.haskell.org/ghc/ Glasgow Haskell Compiler] to Alpine, and to do that, you need to start with some &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;alreay&lt;/del&gt;-compiled GHC binary. So that means cross-compiling from some system where the binaries were already available.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I wanted to port the [http://www.haskell.org/ghc/ Glasgow Haskell Compiler] to Alpine, and to do that, you need to start with some &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;already&lt;/ins&gt;-compiled GHC binary. So that means cross-compiling from some system where the binaries were already available.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;After this is done once for each of Alpine&amp;#039;s target architectures, other users can use those existing Alpine binaries to compile newer versions of GHC directly on Alpine, much more easily than is detailed below. (It does still take a long time.) But I am recording the steps necessary to port to Alpine in the first place, so that others can verify or reproduce my work. This may also help others porting GHC to other systems.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;After this is done once for each of Alpine&amp;#039;s target architectures, other users can use those existing Alpine binaries to compile newer versions of GHC directly on Alpine, much more easily than is detailed below. (It does still take a long time.) But I am recording the steps necessary to port to Alpine in the first place, so that others can verify or reproduce my work. This may also help others porting GHC to other systems.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wowaname</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;diff=13579&amp;oldid=prev</id>
		<title>Dubiousjim: mark as outdated</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;diff=13579&amp;oldid=prev"/>
		<updated>2017-06-05T07:46:33Z</updated>

		<summary type="html">&lt;p&gt;mark as outdated&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:46, 5 June 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Obsolete|{{pkg|ghc}} is now available in aports; also these instructions target an older version of ghc (which is at [https://www.haskell.org/ghc/ v8.0.2 as of Jan 2017])}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I wanted to port the [http://www.haskell.org/ghc/ Glasgow Haskell Compiler] to Alpine, and to do that, you need to start with some alreay-compiled GHC binary. So that means cross-compiling from some system where the binaries were already available.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I wanted to port the [http://www.haskell.org/ghc/ Glasgow Haskell Compiler] to Alpine, and to do that, you need to start with some alreay-compiled GHC binary. So that means cross-compiling from some system where the binaries were already available.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dubiousjim</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;diff=10293&amp;oldid=prev</id>
		<title>Dubiousjim: Fix &quot;Arch inside Alpine&quot; link</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;diff=10293&amp;oldid=prev"/>
		<updated>2015-01-20T15:20:21Z</updated>

		<summary type="html">&lt;p&gt;Fix &amp;quot;Arch inside Alpine&amp;quot; link&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:20, 20 January 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I assume anyone following these directions has already setup a cross-compiler targeting Alpine inside a chroot holding an existing Linux system where GHC binaries are available. These pages explain how to do that:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I assume anyone following these directions has already setup a cross-compiler targeting Alpine inside a chroot holding an existing Linux system where GHC binaries are available. These pages explain how to do that:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[ArchLinux &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;install &lt;/del&gt;inside an Alpine chroot]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Installing &lt;/ins&gt;ArchLinux inside an Alpine chroot]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Cross-Compiler targeting Alpine]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Cross-Compiler targeting Alpine]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dubiousjim</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;diff=9123&amp;oldid=prev</id>
		<title>Dubiousjim: Remove {{draft}}</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;diff=9123&amp;oldid=prev"/>
		<updated>2013-05-21T06:03:59Z</updated>

		<summary type="html">&lt;p&gt;Remove {{draft}}&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:03, 21 May 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Draft}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I wanted to port the [http://www.haskell.org/ghc/ Glasgow Haskell Compiler] to Alpine, and to do that, you need to start with some alreay-compiled GHC binary. So that means cross-compiling from some system where the binaries were already available.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;I wanted to port the [http://www.haskell.org/ghc/ Glasgow Haskell Compiler] to Alpine, and to do that, you need to start with some alreay-compiled GHC binary. So that means cross-compiling from some system where the binaries were already available.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dubiousjim</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;diff=9122&amp;oldid=prev</id>
		<title>Dubiousjim: tweak (after running on second architecture)</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;diff=9122&amp;oldid=prev"/>
		<updated>2013-05-21T05:40:24Z</updated>

		<summary type="html">&lt;p&gt;tweak (after running on second architecture)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:40, 21 May 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot;&gt;Line 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mkdir -p $HOME/alien-scripts&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mkdir -p $HOME/alien-scripts&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ln -s $ARCH_ROOT/$ARCH_HOME/ghc-7.6.3 $HOME/ghc-7.6.3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;ln -s $ARCH_ROOT/$ARCH_HOME/ghc-7.6.3 $HOME/ghc-7.6.3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# I think the next three lines are no longer necessary&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# ln -s ghc-7.6.3/libraries $HOME/libraries&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# ln -s ghc-7.6.3/utils $HOME/utils&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# ln -s ghc-7.6.3/rts $HOME/rts&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mkdir /tmp/ghc-bootstrap $ARCH_ROOT/tmp/ghc-bootstrap&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mkdir /tmp/ghc-bootstrap $ARCH_ROOT/tmp/ghc-bootstrap&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sudo mount --bind /tmp/ghc-bootstrap $ARCH_ROOT/tmp/ghc-bootstrap&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sudo mount --bind /tmp/ghc-bootstrap $ARCH_ROOT/tmp/ghc-bootstrap&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l101&quot;&gt;Line 101:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 97:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The two alien scripts assume that you&#039;re working with the same username on both the Alpine and Arch systems; if that&#039;s incorrect, then replace &amp;lt;code&amp;gt;$USER&amp;lt;/code&amp;gt; with the relevant Alpine username.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The two alien scripts assume that you&#039;re working with the same username on both the Alpine and Arch systems; if that&#039;s incorrect, then replace &amp;lt;code&amp;gt;$USER&amp;lt;/code&amp;gt; with the relevant Alpine username&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. The alien-ghc script also assumes that you won&#039;t be working underneath any directories whose names need escaping for the shell&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l264&quot;&gt;Line 264:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 260:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Now switch back to your &amp;#039;&amp;#039;&amp;#039;outside Alpine system&amp;#039;&amp;#039;&amp;#039; and do this:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Now switch back to your &amp;#039;&amp;#039;&amp;#039;outside Alpine system&amp;#039;&amp;#039;&amp;#039; and do this:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Cmd|&amp;lt;nowiki&amp;gt;paxctl -cm /tmp/ghc-bootstrap/lib/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gh&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Cmd|&amp;lt;nowiki&amp;gt;paxctl -cm /tmp/ghc-bootstrap/lib/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ghc-7.6.3/ghc&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sudo umount $ARCH_ROOT/tmp/ghc-bootstrap&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;sudo umount $ARCH_ROOT/tmp/ghc-bootstrap&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;sed -i -e &#039;s|&quot;C compiler command&quot;,.*|&quot;C compiler command&quot;, &quot;/usr/bin/gcc&quot;),|&#039; \&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;       -e &#039;s|&quot;C compiler flags&quot;, &quot;|&quot;C compiler flags&quot;, &quot; -nopie |&#039; /tmp/ghc-bootstrap/lib/ghc-7.6.3/settings&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;rm -r $HOME/alien-scripts $HOME/buildroot-$ARCH&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;rm -r $HOME/alien-scripts $HOME/buildroot-$ARCH&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;rm $HOME/ghc-7.6.3&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;rm $HOME/ghc-7.6.3&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dubiousjim</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;diff=9121&amp;oldid=prev</id>
		<title>Dubiousjim: Create page</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Porting_GHC_to_Alpine&amp;diff=9121&amp;oldid=prev"/>
		<updated>2013-05-21T02:49:46Z</updated>

		<summary type="html">&lt;p&gt;Create page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Draft}}&lt;br /&gt;
&lt;br /&gt;
I wanted to port the [http://www.haskell.org/ghc/ Glasgow Haskell Compiler] to Alpine, and to do that, you need to start with some alreay-compiled GHC binary. So that means cross-compiling from some system where the binaries were already available.&lt;br /&gt;
&lt;br /&gt;
After this is done once for each of Alpine&amp;#039;s target architectures, other users can use those existing Alpine binaries to compile newer versions of GHC directly on Alpine, much more easily than is detailed below. (It does still take a long time.) But I am recording the steps necessary to port to Alpine in the first place, so that others can verify or reproduce my work. This may also help others porting GHC to other systems.&lt;br /&gt;
&lt;br /&gt;
I assume anyone following these directions has already setup a cross-compiler targeting Alpine inside a chroot holding an existing Linux system where GHC binaries are available. These pages explain how to do that:&lt;br /&gt;
&lt;br /&gt;
* [[ArchLinux install inside an Alpine chroot]]&lt;br /&gt;
* [[Cross-Compiler targeting Alpine]]&lt;br /&gt;
&lt;br /&gt;
So here&amp;#039;s how we use Arch&amp;#039;s GHC to cross-compile a version of GHC we can run on Alpine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&lt;br /&gt;
&amp;lt;LI&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
In your &amp;#039;&amp;#039;&amp;#039;outside Alpine system&amp;#039;&amp;#039;&amp;#039;, do this. I assume that &amp;lt;code&amp;gt;$ARCH_ROOT&amp;lt;/code&amp;gt; contains the absolute path &amp;#039;&amp;#039;on your Alpine system&amp;#039;&amp;#039; of the Arch chroot&amp;#039;s {{Path|/}}. I assume also that &amp;lt;code&amp;gt;$ARCH_HOME&amp;lt;/code&amp;gt; contains the absolute path &amp;#039;&amp;#039;on your Arch system&amp;#039;&amp;#039; of the home directory of the non-root Arch user you&amp;#039;ll be using to build GHC. (On the other hand, the plain &amp;lt;code&amp;gt;$ARCH&amp;lt;/code&amp;gt; variable we set below indicates your machine architecture---nothing to do with ArchLinux.)&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;sudo apk add paxctl libedit-dev libiconv-dev gmp-dev&lt;br /&gt;
&lt;br /&gt;
mkdir -p $HOME/alien-scripts&lt;br /&gt;
ln -s $ARCH_ROOT/$ARCH_HOME/ghc-7.6.3 $HOME/ghc-7.6.3&lt;br /&gt;
# I think the next three lines are no longer necessary&lt;br /&gt;
# ln -s ghc-7.6.3/libraries $HOME/libraries&lt;br /&gt;
# ln -s ghc-7.6.3/utils $HOME/utils&lt;br /&gt;
# ln -s ghc-7.6.3/rts $HOME/rts&lt;br /&gt;
mkdir /tmp/ghc-bootstrap $ARCH_ROOT/tmp/ghc-bootstrap&lt;br /&gt;
sudo mount --bind /tmp/ghc-bootstrap $ARCH_ROOT/tmp/ghc-bootstrap&lt;br /&gt;
&lt;br /&gt;
case `uname -m` in&lt;br /&gt;
x86_64) ARCH=x86_64; T=$ARCH;;&lt;br /&gt;
i?86) ARCH=x86 T=i486;;&lt;br /&gt;
*) echo Unknown architecture;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
mkdir -p $HOME/buildroot-$ARCH/host/usr/bin/&lt;br /&gt;
cat &amp;lt;&amp;lt; &amp;quot;__EOF__&amp;quot; &amp;gt; $HOME/buildroot-$ARCH/host/usr/bin/$T-buildroot-linux-uclibc-gcc&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
/usr/bin/gcc -nopie &amp;quot;$@&amp;quot;&lt;br /&gt;
__EOF__&lt;br /&gt;
chmod +x $HOME/buildroot-$ARCH/host/usr/bin/$T-buildroot-linux-uclibc-gcc&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;LI&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Inside the Arch chroot&amp;#039;&amp;#039;&amp;#039;, as the non-root user, do this:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|sudo pacman -S base-devel python2 wget ghc openssh&lt;br /&gt;
ssh-keygen&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
You can give the ssh key a passphrase, but it&amp;#039;s not necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;LI&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
Back in the &amp;#039;&amp;#039;&amp;#039;outside Alpine system&amp;#039;&amp;#039;&amp;#039;, do this:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;cat $ARCH_ROOT/$ARCH_HOME/.ssh/id_rsa.pub &amp;gt;&amp;gt; $HOME/.ssh/authorized_keys&lt;br /&gt;
sudo paxctl -cm $ARCH_ROOT/usr/lib/ghc-7.6.3/ghc&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;LI&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
Returning again to &amp;#039;&amp;#039;&amp;#039;the Arch chroot&amp;#039;&amp;#039;&amp;#039;, do:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|eval `ssh-agent`&lt;br /&gt;
ssh-add}}&lt;br /&gt;
&lt;br /&gt;
and unlock your ssh key if you gave it a passphrase. Now from this Arch session, we can do a password-less ssh or scp to the outside Alpine system.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;LI&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
Still inside the Arch chroot, do:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;mkdir -p sources &amp;amp;&amp;amp; cd sources&lt;br /&gt;
&lt;br /&gt;
wget -N http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-src.tar.bz2&lt;br /&gt;
wget -N http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-testsuite.tar.bz2&lt;br /&gt;
&lt;br /&gt;
mkdir -p patches/ghc/7.6.3 &amp;amp;&amp;amp; cd patches/ghc/7.6.3&lt;br /&gt;
GIST_BASE=https://gist.github.com/dubiousjim/5607734/raw&lt;br /&gt;
wget -N $GIST_BASE/configure.patch&lt;br /&gt;
wget -N $GIST_BASE/libraries-configure.patch&lt;br /&gt;
wget -N $GIST_BASE/h_wcwidth.patch&lt;br /&gt;
&lt;br /&gt;
cd $HOME/sources&lt;br /&gt;
cat &amp;lt;&amp;lt; &amp;quot;__EOF__&amp;quot; &amp;gt; alien&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
PORT=22 # change if you use different ssh port on your Alpine system&lt;br /&gt;
CMD=$2; shift 2&lt;br /&gt;
set -x&lt;br /&gt;
scp -P$PORT &amp;quot;$CMD&amp;quot; $USER@localhost:alien-scripts/ || exit 1&lt;br /&gt;
ssh -p$PORT $USER@localhost alien-scripts/&amp;quot;${CMD##*/}&amp;quot; &amp;quot;$@&amp;quot;&lt;br /&gt;
__EOF__&lt;br /&gt;
cat &amp;lt;&amp;lt; &amp;quot;__EOF__&amp;quot; &amp;gt; alien-ghc&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
PORT=22 # change if you use different ssh port on your Alpine system&lt;br /&gt;
set -x&lt;br /&gt;
ssh -p$PORT $USER@localhost &amp;quot;sh -c &amp;#039;cd $PWD; $0.exe $*&amp;#039;&amp;quot;&lt;br /&gt;
__EOF__&lt;br /&gt;
chmod +x alien alien-ghc&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The two alien scripts assume that you&amp;#039;re working with the same username on both the Alpine and Arch systems; if that&amp;#039;s incorrect, then replace &amp;lt;code&amp;gt;$USER&amp;lt;/code&amp;gt; with the relevant Alpine username.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;LI&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
Still inside the Arch chroot, do this:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;cd&lt;br /&gt;
case `uname -m` in&lt;br /&gt;
x86_64) ARCH=x86_64; T=$ARCH;;&lt;br /&gt;
i?86) ARCH=x86 T=i486;;&lt;br /&gt;
*) echo Unknown architecture;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
tar -xjf sources/ghc-7.6.3-src.tar.bz2&lt;br /&gt;
# next is optional, if you want to ...&lt;br /&gt;
# tar -xjf sources/ghc-7.6.3-testsuite.tar.bz2&lt;br /&gt;
BUILDROOT=$HOME/buildroot-$ARCH&lt;br /&gt;
export PATH=$HOME/python2-path:$PATH:$BUILDROOT/host/usr/bin&lt;br /&gt;
cd ghc-7.6.3&lt;br /&gt;
sed -e &amp;#039;s/^#BuildFlavour = unreg/BuildFlavour = unreg/&amp;#039; mk/build.mk.sample &amp;gt; mk/build.mk&lt;br /&gt;
patch -p1 -i $HOME/sources/patches/ghc/7.6.3/configure.patch&lt;br /&gt;
patch -p1 -i $HOME/sources/patches/ghc/7.6.3/libraries-configure.patch&lt;br /&gt;
patch -p1 -i $HOME/sources/patches/ghc/7.6.3/h_wcwidth.patch&lt;br /&gt;
&lt;br /&gt;
./configure --prefix=/tmp/ghc-bootstrap \&lt;br /&gt;
  --host=$T-buildroot-linux-uclibc \&lt;br /&gt;
  --target=$T-buildroot-linux-uclibc \&lt;br /&gt;
  --with-alien=$HOME/sources/alien 2&amp;gt;&amp;amp;1 | tee build.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The [http://hackage.haskell.org/trac/ghc/wiki/Building/CrossCompiling GHC wiki page on cross-compiling] seems to suggest that you should omit the &amp;lt;code&amp;gt;--host=...&amp;lt;/code&amp;gt;, but if you compare the 7.6 and (at this point, pre-release) 7.7 GHC build system sources, you&amp;#039;ll see that this is true (if at all) only post-7.6.&lt;br /&gt;
&lt;br /&gt;
Continue with:&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;make 2&amp;gt;&amp;amp;1 | tee -a build.log&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;LI&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
The build will eventually fail with this error message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;.../buildroot-x86_64/host/usr/bin/x86_64-buildroot-linux-uclibc-gcc&amp;quot;  -fno-stack-protector   libraries/integer-gmp/cbits/mkGmpDerivedConstants.c -o libraries/integer-gmp/cbits/mkGmpDerivedConstants&lt;br /&gt;
libraries/integer-gmp/cbits/mkGmpDerivedConstants &amp;gt; libraries/integer-gmp/cbits/GmpDerivedConstants.h&lt;br /&gt;
/bin/sh: libraries/integer-gmp/cbits/mkGmpDerivedConstants: No such file or directory&lt;br /&gt;
make[1]: *** [libraries/integer-gmp/cbits/GmpDerivedConstants.h] Error 127&lt;br /&gt;
make[1]: *** Deleting file `libraries/integer-gmp/cbits/GmpDerivedConstants.h&amp;#039;&lt;br /&gt;
make: *** [all] Error 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Type this to continue:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;$HOME/sources/alien run libraries/integer-gmp/cbits/mkGmpDerivedConstants \&lt;br /&gt;
  &amp;gt; libraries/integer-gmp/cbits/GmpDerivedConstants.h&lt;br /&gt;
make 2&amp;gt;&amp;amp;1 | tee -a build.log&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;LI&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
A bit later, the build will again fail with this error message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  HC [stage 1] libraries/base/dist-install/build/Foreign/C/Types.o&lt;br /&gt;
&lt;br /&gt;
libraries/base/Foreign/C/Types.hs:162:25:&lt;br /&gt;
    Not in scope: type constructor or class `HTYPE_FLOAT&amp;#039;&lt;br /&gt;
&lt;br /&gt;
libraries/base/Foreign/C/Types.hs:162:215:&lt;br /&gt;
    Not in scope: type constructor or class `HTYPE_FLOAT&amp;#039;&lt;br /&gt;
&lt;br /&gt;
libraries/base/Foreign/C/Types.hs:162:290:&lt;br /&gt;
    Not in scope: type constructor or class `HTYPE_FLOAT&amp;#039;&lt;br /&gt;
&lt;br /&gt;
libraries/base/Foreign/C/Types.hs:162:398:&lt;br /&gt;
    Not in scope: type constructor or class `HTYPE_FLOAT&amp;#039;&lt;br /&gt;
&lt;br /&gt;
libraries/base/Foreign/C/Types.hs:162:470:&lt;br /&gt;
    Not in scope: type constructor or class `HTYPE_FLOAT&amp;#039;&lt;br /&gt;
&lt;br /&gt;
libraries/base/Foreign/C/Types.hs:162:548:&lt;br /&gt;
    Not in scope: type constructor or class `HTYPE_FLOAT&amp;#039;&lt;br /&gt;
&lt;br /&gt;
libraries/base/Foreign/C/Types.hs:164:27:&lt;br /&gt;
    Not in scope: type constructor or class `HTYPE_DOUBLE&amp;#039;&lt;br /&gt;
&lt;br /&gt;
libraries/base/Foreign/C/Types.hs:164:219:&lt;br /&gt;
    Not in scope: type constructor or class `HTYPE_DOUBLE&amp;#039;&lt;br /&gt;
&lt;br /&gt;
libraries/base/Foreign/C/Types.hs:164:295:&lt;br /&gt;
    Not in scope: type constructor or class `HTYPE_DOUBLE&amp;#039;&lt;br /&gt;
&lt;br /&gt;
libraries/base/Foreign/C/Types.hs:164:405:&lt;br /&gt;
    Not in scope: type constructor or class `HTYPE_DOUBLE&amp;#039;&lt;br /&gt;
&lt;br /&gt;
libraries/base/Foreign/C/Types.hs:164:478:&lt;br /&gt;
    Not in scope: type constructor or class `HTYPE_DOUBLE&amp;#039;&lt;br /&gt;
&lt;br /&gt;
libraries/base/Foreign/C/Types.hs:164:557:&lt;br /&gt;
    Not in scope: type constructor or class `HTYPE_DOUBLE&amp;#039;&lt;br /&gt;
make[1]: *** [libraries/base/dist-install/build/Foreign/C/Types.o] Error 1&lt;br /&gt;
make: *** [all] Error 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Type this to continue:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;cat &amp;lt;&amp;lt; __EOF__ &amp;gt;&amp;gt; libraries/base/include/HsBaseConfig.h&lt;br /&gt;
#define HTYPE_DOUBLE Double&lt;br /&gt;
#define HTYPE_FLOAT Float&lt;br /&gt;
__EOF__&lt;br /&gt;
make 2&amp;gt;&amp;amp;1 | tee -a build.log&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The {{Path|HsBaseConfig.h}} file is only generated during the build, so you can&amp;#039;t make this change ahead&lt;br /&gt;
of time; you have to wait for the build to fail, make the change, and then reissue &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;LI&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finally, the build will fail a third time with this error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  HC [stage 2] utils/ghctags/dist-install/build/Main.o&lt;br /&gt;
inplace/bin/ghc-stage2: line 7: .../ghc-7.6.3/inplace/lib/ghc-stage2: No such file or directory&lt;br /&gt;
make[1]: *** [utils/ghctags/dist-install/build/Main.o] Error 127&lt;br /&gt;
make: *** [all] Error 2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Type this to continue:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;mv inplace/lib/ghc-stage2 inplace/lib/ghc-stage2.exe&lt;br /&gt;
cp $HOME/sources/alien-ghc inplace/lib/ghc-stage2&lt;br /&gt;
make 2&amp;gt;&amp;amp;1 | tee -a build.log&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;LI&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After this, the build should complete. We still have to do a bit of work to get it to install properly, though. Do this:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;mkdir -p /tmp/ghc-bootstrap/lib/ghc-7.6.3&lt;br /&gt;
mv ghc/stage2/build/tmp/ghc-stage2 /tmp/ghc-bootstrap/lib/ghc-7.6.3/ghc.exe&lt;br /&gt;
mv utils/ghc-pkg/dist-install/build/tmp/ghc-pkg /tmp/ghc-bootstrap/lib/ghc-7.6.3/ghc-pkg.exe&lt;br /&gt;
cp $HOME/sources/alien-ghc ghc/stage2/build/tmp/ghc-stage2&lt;br /&gt;
cp $HOME/sources/alien-ghc utils/ghc-pkg/dist-install/build/tmp/ghc-pkg&lt;br /&gt;
make install 2&amp;gt;&amp;amp;1 | tee -a build.log&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Once the installation finishes, clean up with:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;cd /tmp/ghc-bootstrap&lt;br /&gt;
mv lib/ghc-7.6.3/ghc.exe lib/ghc-7.6.3/ghc&lt;br /&gt;
mv lib/ghc-7.6.3/ghc-pkg.exe lib/ghc-7.6.3/ghc-pkg&lt;br /&gt;
for f in bin/*-buildroot-linux-uclibc-*; do mv $f bin/${f#*-uclibc-}; done&lt;br /&gt;
ln -sf ghc-7.6.3 bin/ghc&lt;br /&gt;
ln -sf ghc-pkg-7.6.3 bin/ghc-pkg&lt;br /&gt;
cd -&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;LI&amp;gt;&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now switch back to your &amp;#039;&amp;#039;&amp;#039;outside Alpine system&amp;#039;&amp;#039;&amp;#039; and do this:&lt;br /&gt;
&lt;br /&gt;
{{Cmd|&amp;lt;nowiki&amp;gt;paxctl -cm /tmp/ghc-bootstrap/lib/gh&lt;br /&gt;
sudo umount $ARCH_ROOT/tmp/ghc-bootstrap&lt;br /&gt;
rm -r $HOME/alien-scripts $HOME/buildroot-$ARCH&lt;br /&gt;
rm $HOME/ghc-7.6.3&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Now everything in your Alpine system is cleaned up, and you&amp;#039;ve got a working GHC installation in {{Path|/tmp/ghc-bootstrap}}, which the Alpine APKBUILD for ghc will recognize and use. You can delete the {{Path|$ARCH_HOME/ghc-7.6.3}} folder inside your Arch chroot now, and close that session.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/OL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(I will prepare an Alpine APKBUILD for ghc, and arrange with the dev team how to make the initial binaries available, soon.)&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Dubiousjim</name></author>
	</entry>
</feed>