<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nethackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Compiling_%283.4.3%29</id>
	<title>Compiling (3.4.3) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nethackwiki.com/index.php?action=history&amp;feed=atom&amp;title=Compiling_%283.4.3%29"/>
	<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;action=history"/>
	<updated>2026-07-22T04:56:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.5</generator>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;diff=207091&amp;oldid=prev</id>
		<title>Ray Chason: /* On MS-DOS */ Grammar bit</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;diff=207091&amp;oldid=prev"/>
		<updated>2026-07-22T03:15:46Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;On MS-DOS: &lt;/span&gt; Grammar bit&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&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: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 03:15, 22 July 2026&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-l240&quot; &gt;Line 240:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 240:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; from the command line. The build will take about 15 minutes; DJGPP is quite slow when building natively under FreeDOS.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; from the command line. The build will take about 15 minutes; DJGPP is quite slow when building natively under FreeDOS.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;This will produce the NetHack distribution in newly created &amp;lt;code&amp;gt;binary&amp;lt;/code&amp;gt; directory.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;This will produce the NetHack distribution in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;a &lt;/ins&gt;newly created &amp;lt;code&amp;gt;binary&amp;lt;/code&amp;gt; directory.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;==On iPhone/iPod Touch==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;==On iPhone/iPod Touch==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ray Chason</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;diff=207085&amp;oldid=prev</id>
		<title>Ray Chason: /* On MS-DOS */ For configurations without DOSLFN</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;diff=207085&amp;oldid=prev"/>
		<updated>2026-07-22T02:07:30Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;On MS-DOS: &lt;/span&gt; For configurations without DOSLFN&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&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: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 02:07, 22 July 2026&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-l167&quot; &gt;Line 167:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 167:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;==On MS-DOS==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;==On MS-DOS==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;NetHack 3.4.3 does not support cross-compiling. DJGPP is painfully slow on DOSBox. These instructions were tested on [https://freedos.org/ FreeDOS] 1.4 running on [https://virtualbox.org/ VirtualBox] 7.0.20 running on Linux Mint. The DOSLFN program is installed by default in this version&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, and &lt;/del&gt;the &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;instructions assume that this is running&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;NetHack 3.4.3 does not support cross-compiling. DJGPP is painfully slow on DOSBox. These instructions were tested on [https://freedos.org/ FreeDOS] 1.4 running on [https://virtualbox.org/ VirtualBox] 7.0.20 running on Linux Mint. The DOSLFN program is installed by default in this version&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;; &lt;/ins&gt;the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;compile can be done either with or without DOSLFN&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;===DJGPP components needed===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;===DJGPP components needed===&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-l231&quot; &gt;Line 231:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 231:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;  YTABH  = ytab~1.h&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;  YTABH  = ytab~1.h&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;  LEXYYC = lexyy.c&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;  LEXYYC = lexyy.c&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;If you do not have DOSLFN loaded, leave YTABC and YTABH alone, and change YACC only.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;If you choose not to run flex and byacc, look for the variable &amp;lt;code&amp;gt;YACC_LEX = Y&amp;lt;/code&amp;gt; and change it to &amp;lt;code&amp;gt;YACC_LEX = N&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;If you choose not to run flex and byacc, look for the variable &amp;lt;code&amp;gt;YACC_LEX = Y&amp;lt;/code&amp;gt; and change it to &amp;lt;code&amp;gt;YACC_LEX = N&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ray Chason</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;diff=207083&amp;oldid=prev</id>
		<title>Ray Chason: /* On MS-DOS */ Identify DJGPP components related to flex and byacc</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;diff=207083&amp;oldid=prev"/>
		<updated>2026-07-22T02:00:01Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;On MS-DOS: &lt;/span&gt; Identify DJGPP components related to flex and byacc&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&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: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 02:00, 22 July 2026&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-l175&quot; &gt;Line 175:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 175:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;* From [https://www.delorie.com/pub/djgpp/current/v2/ v2]:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;* From [https://www.delorie.com/pub/djgpp/current/v2/ v2]:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2/djdev205.zip djdev205.zip]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2/djdev205.zip djdev205.zip]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;* From [https://www.delorie.com/pub/djgpp/current/v2gnu/ v2gnu]:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/bnu2351b.zip bnu2351b.zip]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/fil41br3.zip fil41br3.zip]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/gcc142b.zip gcc142b.zip]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/mak44b.zip mak44b.zip]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;If you choose to run flex and byacc (Bison doesn't work):&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;* From [https://www.delorie.com/pub/djgpp/current/v2apps/ v2apps]:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;* From [https://www.delorie.com/pub/djgpp/current/v2apps/ v2apps]:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2apps/byacc19br2.zip byacc19br2.zip]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2apps/byacc19br2.zip byacc19br2.zip]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;* From [https://www.delorie.com/pub/djgpp/current/v2gnu/ v2gnu]:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;* From [https://www.delorie.com/pub/djgpp/current/v2gnu/ v2gnu]:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/bnu2351b.zip bnu2351b.zip]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/fil41br3.zip fil41br3.zip]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/flx254br2.zip flx254br2.zip]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/flx254br2.zip flx254br2.zip]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/gcc142b.zip gcc142b.zip]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/m4-1419b.zip m4-1419b.zip]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/m4-1419b.zip m4-1419b.zip]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/mak44b.zip mak44b.zip]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;Versions listed here are current as of 21 July 2026.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;Versions listed here are current as of 21 July 2026.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ray Chason</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;diff=207082&amp;oldid=prev</id>
		<title>Ray Chason: MS-DOS section</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;diff=207082&amp;oldid=prev"/>
		<updated>2026-07-22T01:54:47Z</updated>

		<summary type="html">&lt;p&gt;MS-DOS section&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&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: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 01:54, 22 July 2026&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-l164&quot; &gt;Line 164:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 164:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;* [https://github.com/mxcl/homebrew/blob/master/Library/Formula/nethack.rb Automatic download, compiling, and installation using an alternative package manager called Homebrew]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;* [https://github.com/mxcl/homebrew/blob/master/Library/Formula/nethack.rb Automatic download, compiling, and installation using an alternative package manager called Homebrew]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;* [https://github.com/dirkz/Nethack-Vanilla-Lion-3.4.3 NetHack Vanilla 3.4.3 TTY version for OSX Lion]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;* [https://github.com/dirkz/Nethack-Vanilla-Lion-3.4.3 NetHack Vanilla 3.4.3 TTY version for OSX Lion]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;==On MS-DOS==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;NetHack 3.4.3 does not support cross-compiling. DJGPP is painfully slow on DOSBox. These instructions were tested on [https://freedos.org/ FreeDOS] 1.4 running on [https://virtualbox.org/ VirtualBox] 7.0.20 running on Linux Mint. The DOSLFN program is installed by default in this version, and the instructions assume that this is running.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;===DJGPP components needed===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;Create a directory C:\djgpp and unpack the following zip files into it:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;* From [https://www.delorie.com/pub/djgpp/current/v2/ v2]:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2/djdev205.zip djdev205.zip]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;* From [https://www.delorie.com/pub/djgpp/current/v2apps/ v2apps]:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2apps/byacc19br2.zip byacc19br2.zip]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;* From [https://www.delorie.com/pub/djgpp/current/v2gnu/ v2gnu]:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/bnu2351b.zip bnu2351b.zip]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/fil41br3.zip fil41br3.zip]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/flx254br2.zip flx254br2.zip]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/gcc142b.zip gcc142b.zip]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/m4-1419b.zip m4-1419b.zip]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;** [https://www.delorie.com/pub/djgpp/current/v2gnu/mak44b.zip mak44b.zip]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;Versions listed here are current as of 21 July 2026.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;A few packages may ask you to verify overwriting a file. It does not matter whether you overwrite or not.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;Add &amp;lt;code&amp;gt;C:\djgpp\bin&amp;lt;/code&amp;gt; to the PATH and create an environment variable &amp;lt;code&amp;gt;DJGPP=C:\djgpp\djgpp.env&amp;lt;/code&amp;gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;Note that if you choose to run Yacc, you need to run BSD Yacc as specified above. The Makefile comes configured for GNU Bison, but this program generates a broken parser.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;===Preparation===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;Unpack the NetHack source distribution on C:. You may want to rename the root to something like NETHACK.343.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;From the &amp;lt;code&amp;gt;sys\\msdos&amp;lt;/code&amp;gt; directory, run &amp;lt;code&amp;gt;setup GCC&amp;lt;/code&amp;gt;. It is possible, with patching, to build a real-mode distribution with the Borland compiler, but that is beyond the scope of these instructions.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;Go to &amp;lt;code&amp;gt;src&amp;lt;/code&amp;gt; and edit the Makefile.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;Look for a line that reads&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; -$(subst /,\,@if not exist $(OBJ)/*.* mkdir $(OBJ))&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;and change it to read&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; -$(subst /,\,@if not exist $(OBJ)/nul mkdir $(OBJ))&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;The system will hang if you don't do this and the &amp;lt;code&amp;gt;src\\o&amp;lt;/code&amp;gt; directory already exists.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;If you choose to run flex and byacc, look for the section that reads:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; YACC   = bison -y&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; LEX    = flex&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; YTABC  = y_tab.c&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; YTABH  = y_tab.h&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; #If your tool produces y.tab.c and y.tab.h DOS might require&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; #the following instead.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; #YTABC  = ytab~1.c&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; #YTABH  = ytab~1.h&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; LEXYYC = lexyy.c&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;and edit the YACC, YTABC and YTABH variables (this assumes that DOSLFN is loaded):&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; YACC   = byacc&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; LEX    = flex&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; #YTABC  = y_tab.c&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; #YTABH  = y_tab.h&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; #If your tool produces y.tab.c and y.tab.h DOS might require&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; #the following instead.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; YTABC  = ytab~1.c&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; YTABH  = ytab~1.h&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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; LEXYYC = lexyy.c&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;If you choose not to run flex and byacc, look for the variable &amp;lt;code&amp;gt;YACC_LEX = Y&amp;lt;/code&amp;gt; and change it to &amp;lt;code&amp;gt;YACC_LEX = N&amp;lt;/code&amp;gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;===Building===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; from the command line. The build will take about 15 minutes; DJGPP is quite slow when building natively under FreeDOS.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;This will produce the NetHack distribution in newly created &amp;lt;code&amp;gt;binary&amp;lt;/code&amp;gt; directory.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;==On iPhone/iPod Touch==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;==On iPhone/iPod Touch==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ray Chason</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;diff=207068&amp;oldid=prev</id>
		<title>Umbire the Phantom: todo, SLASH'EM link</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;diff=207068&amp;oldid=prev"/>
		<updated>2026-07-22T00:42:21Z</updated>

		<summary type="html">&lt;p&gt;todo, SLASH&amp;#039;EM link&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&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: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 00:42, 22 July 2026&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-l2&quot; &gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;{{for|compiling the current version of NetHack|compiling}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;{{for|compiling the current version of NetHack|compiling}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;This page contains help on '''compiling NetHack 3.4.3''' from its source code. Compiling is necessary if you want to apply a [[patch]], e.g. from the [http://bilious.alt.org/ bilious database].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;This page contains help on '''compiling NetHack 3.4.3''' from its source code. Compiling is necessary if you want to apply a [[patch]], e.g. from the [http://bilious.alt.org/ bilious database].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;For additional instructions on compiling SLASH'EM, see [[Compiling (SLASH'EM)|the appropriate article]].&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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 colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; 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;{{todo|Adjust phrasing that assumes this to be the latest version if necessary.}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;==Decoding the Source Distribution==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; 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;==Decoding the Source Distribution==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Umbire the Phantom</name></author>
		
	</entry>
	<entry>
		<id>https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;diff=207065&amp;oldid=prev</id>
		<title>Umbire the Phantom: split compiling instructions for older versions</title>
		<link rel="alternate" type="text/html" href="https://nethackwiki.com/index.php?title=Compiling_(3.4.3)&amp;diff=207065&amp;oldid=prev"/>
		<updated>2026-07-22T00:30:09Z</updated>

		<summary type="html">&lt;p&gt;split compiling instructions for older versions&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{otheruses|compiling NetHack 3.4.3|compiling NetHack 3.6.0|compiling (3.6.0)}}&lt;br /&gt;
{{for|compiling the current version of NetHack|compiling}}&lt;br /&gt;
This page contains help on '''compiling NetHack 3.4.3''' from its source code. Compiling is necessary if you want to apply a [[patch]], e.g. from the [http://bilious.alt.org/ bilious database].&lt;br /&gt;
&lt;br /&gt;
==Decoding the Source Distribution==&lt;br /&gt;
On Linux, Mac OS X or other Unixes, you will likely have a &amp;quot;[[wikipedia:Tar_(computing)|tar]]&amp;quot; program and a &amp;quot;[[wikipedia:Gzip|gzip]]&amp;quot; program.  The source distribution was bundled by these two programs working together, forming a file format often called a &amp;quot;tarball.&amp;quot;  The current GNU version of tar knows about gzip and can decode the source distribution thus:&lt;br /&gt;
&lt;br /&gt;
 tar xvf nethack-343-src.tgz&lt;br /&gt;
&lt;br /&gt;
Older GNU tars need a &amp;quot;z&amp;quot; (&amp;lt;tt&amp;gt;tar xzvf nethack-343-src.tgz&amp;lt;/tt&amp;gt;) to tell them to use gzip.  Non-GNU versions of tar usually do not know about gzip, and it must be run separately.  If all else fails, do this:&lt;br /&gt;
&lt;br /&gt;
 gzip -cd nethack-343-src.tgz | tar xvf -&lt;br /&gt;
&lt;br /&gt;
On Windows, tar and gzip are available if you have installed MinGW or Cygwin.  Some might prefer a graphical interface, and [http://sourceforge.net/projects/sevenzip/ 7-Zip] provides this.  Running 7-Zip once on the source distribution only undoes gzip, leaving an uncompressed tar file; but 7-Zip knows the tar format also, and double-clicking on the tar file will reveal its contents.&lt;br /&gt;
&lt;br /&gt;
==On Windows==&lt;br /&gt;
This was tested on Win2k with MinGW-5.0.3 and WinXP with MinGW-5.1.1 and win7 with MinGW-5&lt;br /&gt;
&lt;br /&gt;
*Download NetHack's sources from http://nethack.org/v343/download-src.html&lt;br /&gt;
&lt;br /&gt;
*Download MinGW from http://sourceforge.net/project/showfiles.php?group_id=2435 (You want the &amp;quot;Automated MinGW Installer&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
*Install MinGW. If you use the 'minimal' installation, remember to also select the optional 'MinGW make' -component, so it gets installed. Use, say, &amp;lt;tt&amp;gt;C:\mingw\&amp;lt;/tt&amp;gt; as the path to install to.&lt;br /&gt;
&lt;br /&gt;
*Unpack the NetHack source package somewhere, say, &amp;lt;tt&amp;gt;c:\nh343\&amp;lt;/tt&amp;gt;. After unpacking, that directory should contain several subdirectories, such as &amp;lt;tt&amp;gt;src&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;win&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;sys&amp;lt;/tt&amp;gt;. You will need WinZip or some other utility that can uncompress the package.&lt;br /&gt;
&lt;br /&gt;
*Go to &amp;lt;tt&amp;gt;c:\nh343\sys\winnt\&amp;lt;/tt&amp;gt; and run &amp;lt;tt&amp;gt;nhsetup.bat&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*If you want to run the graphical windows GUI, edit &amp;lt;tt&amp;gt;c:\nh343\src\makefile.gcc&amp;lt;/tt&amp;gt; and change the line&lt;br /&gt;
 #GRAPHICAL=Y&lt;br /&gt;
to&lt;br /&gt;
 GRAPHICAL=Y&lt;br /&gt;
&lt;br /&gt;
NOTE: The latest MinGW (5.1.3 as of writing) has issues compiling the GUI version of the program. To remedy this, copy rpcndr.h from &amp;lt;tt&amp;gt;c:\MinGW\include\&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;c:\nh343\include\&amp;lt;/tt&amp;gt;. Edit &amp;lt;tt&amp;gt;c:\nh343\include\rpcndr.h&amp;lt;/tt&amp;gt; by removing or commenting out line 52: &amp;quot;typedef unsigned char boolean;&amp;quot;. This should allow the compile to commence with minimal errors.&lt;br /&gt;
&lt;br /&gt;
*Go to &amp;lt;tt&amp;gt;c:\nh343\&amp;lt;/tt&amp;gt; and create a new file called &amp;lt;tt&amp;gt;'install.bat'&amp;lt;/tt&amp;gt; with the following contents:&lt;br /&gt;
 PATH=%PATH%;c:\mingw\bin&lt;br /&gt;
 cd src&lt;br /&gt;
 mingw32-make -f makefile.gcc install&lt;br /&gt;
&lt;br /&gt;
*Run the &amp;lt;tt&amp;gt;install.bat&amp;lt;/tt&amp;gt; you just created. This takes about thirty seconds.&lt;br /&gt;
&lt;br /&gt;
*The NetHack binary should now be in &amp;lt;tt&amp;gt;c:\nh343\binary\&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*If you want to patch your NetHack, you should next see the article on [[patching]].&lt;br /&gt;
&lt;br /&gt;
===Cygwin===&lt;br /&gt;
Useful instructions for compiling under [http://cygwin.org/ Cygwin] can be found at this [http://planetexpress.homedns.org/nethack/compile_cygwin.txt external page]. Instructions for compiling under Cygwin and MinGW/MSYS (so the game won't need Cygwin to run) can also be found [http://www.crawfords.de/nh-cygwin-mingw-howto/ here].&lt;br /&gt;
&lt;br /&gt;
==On Linux==&lt;br /&gt;
===TTY===&lt;br /&gt;
The following compiles the TTY-version of NetHack, with all the default settings.&lt;br /&gt;
&lt;br /&gt;
*Download NetHack's sources from http://nethack.org/v343/download-src.html&lt;br /&gt;
&lt;br /&gt;
*Make sure you have the development packages for ncurses installed. On debian these are called libncurses5-dev. You will also need make, gcc, yacc (or something similar, for example bison), and lex (or something similar, such as flex).&lt;br /&gt;
&lt;br /&gt;
*Open a terminal, and &amp;lt;tt&amp;gt;cd&amp;lt;/tt&amp;gt; to the directory where you downloaded the source package to.&lt;br /&gt;
&lt;br /&gt;
*Unpack the NetHack sources and move to the NetHack source root directory:&lt;br /&gt;
 tar xvzf nethack-343-src.tgz&lt;br /&gt;
 cd nethack-3.4.3&lt;br /&gt;
&lt;br /&gt;
*Execute the script that creates symbolic links to the Makefiles in the correct places:&lt;br /&gt;
 sh sys/unix/setup.sh x&lt;br /&gt;
&lt;br /&gt;
*Edit &amp;lt;tt&amp;gt;include/unixconf.h&amp;lt;/tt&amp;gt; by changing&lt;br /&gt;
 /* #define LINUX */&lt;br /&gt;
to&lt;br /&gt;
 #define LINUX&lt;br /&gt;
&lt;br /&gt;
*Edit &amp;lt;tt&amp;gt;src/Makefile&amp;lt;/tt&amp;gt; by commenting the following like so&lt;br /&gt;
 #WINTTYLIB = -ltermlib&lt;br /&gt;
and uncommenting this line so it looks like&lt;br /&gt;
 WINTTYLIB = -lncurses&lt;br /&gt;
&lt;br /&gt;
*If you're using something else than yacc and lex, edit &amp;lt;tt&amp;gt;util/Makefile&amp;lt;/tt&amp;gt; so that &amp;lt;tt&amp;gt;YACC&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;LEX&amp;lt;/tt&amp;gt; defines are correct.&lt;br /&gt;
&lt;br /&gt;
*If you are using cygwin, edit &amp;lt;tt&amp;gt;include/config.h&amp;lt;/tt&amp;gt; and uncomment the following like so&lt;br /&gt;
 #define STRNCMPI        /* compiler/library has the strncmpi function */&lt;br /&gt;
&lt;br /&gt;
*Typing &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; in the NetHack source root dir should compile the binary executable. Typing &amp;lt;tt&amp;gt;make all&amp;lt;/tt&amp;gt; will compile everything, including [[special levels]].&lt;br /&gt;
&lt;br /&gt;
*To install NetHack to &amp;lt;tt&amp;gt;/usr/games/&amp;lt;/tt&amp;gt;, type &amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt; while you're logged in as root. If you want to change the installation directory, you need to edit the top Makefile.&lt;br /&gt;
&lt;br /&gt;
*For more information about compiling NetHack, see the &amp;lt;tt&amp;gt;sys/unix/Install.unx&amp;lt;/tt&amp;gt; text file.&lt;br /&gt;
&lt;br /&gt;
*If you want to patch your NetHack, you should next see the article on [[patching]].&lt;br /&gt;
&lt;br /&gt;
===X11===&lt;br /&gt;
The following compiles the X11 windowport with default settings. First follow the instructions in the [[#TTY|TTY section]], then continue this.&lt;br /&gt;
&lt;br /&gt;
*Make sure you have the X11 Athena Widget libraries and headers installed. On Debian the packages are &amp;lt;tt&amp;gt;libxaw&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;libxaw-dev&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;libxaw-headers&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*Edit &amp;lt;tt&amp;gt;include/config.h&amp;lt;/tt&amp;gt; by changing&lt;br /&gt;
 /* #define X11_GRAPHICS */&lt;br /&gt;
to&lt;br /&gt;
 #define X11_GRAPHICS&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
 /* # define USE_XPM */&lt;br /&gt;
to&lt;br /&gt;
 # define USE_XPM&lt;br /&gt;
&lt;br /&gt;
*Edit &amp;lt;tt&amp;gt;src/Makefile&amp;lt;/tt&amp;gt;:&lt;br /&gt;
**add &amp;lt;tt&amp;gt;$(WINX11SRC)&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;WINSRC&amp;lt;/tt&amp;gt;&lt;br /&gt;
**add &amp;lt;tt&amp;gt;$(WINX11OBJ)&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;WINOBJ&amp;lt;/tt&amp;gt;&lt;br /&gt;
**add &amp;lt;tt&amp;gt;$(WINX11LIB)&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;WINLIB&amp;lt;/tt&amp;gt;&lt;br /&gt;
**Change &amp;lt;tt&amp;gt;WINX11LIB&amp;lt;/tt&amp;gt; so that it has &amp;lt;tt&amp;gt;-lXaw -lXmu -lXext -lXt -lXpm -lX11 -lm&amp;lt;/tt&amp;gt;&lt;br /&gt;
**At least on Debian, &amp;lt;tt&amp;gt;WINX11LIB&amp;lt;/tt&amp;gt; also needs &amp;lt;tt&amp;gt;-L/usr/X11R6/lib&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Edit &amp;lt;tt&amp;gt;Makefile&amp;lt;/tt&amp;gt; so that &amp;lt;tt&amp;gt;VARDATND&amp;lt;/tt&amp;gt; includes &amp;lt;tt&amp;gt;x11tiles NetHack.ad pet_mark.xbm rip.xpm&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Type &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; in the NetHack source root dir.&lt;br /&gt;
&lt;br /&gt;
*To install NetHack to &amp;lt;tt&amp;gt;/usr/games/&amp;lt;/tt&amp;gt;, type &amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt; while you're logged in as root. If you want to change the installation directory, you need to edit the top Makefile.&lt;br /&gt;
&lt;br /&gt;
*For more information about compiling NetHack, see the &amp;lt;tt&amp;gt;sys/unix/Install.unx&amp;lt;/tt&amp;gt; text file. For X11 compilation, see &amp;lt;tt&amp;gt;win/X11/Install.X11&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*If you want to patch your NetHack, you should next see the article on [[patching]].&lt;br /&gt;
&lt;br /&gt;
*If you want to use tiles on X11, or change the window colors, see the article on [[X11 configuration]].&lt;br /&gt;
&lt;br /&gt;
==On Mac OS X==&lt;br /&gt;
These are the instructions for compiling a TTY port of NetHack with default settings on Mac OS X. You will need to have the Xcode developer tools installed to be able to compile NetHack (check the CDs that came with your copy of Mac OS X). These instructions assume a minimal working knowledge of C and Terminal.&lt;br /&gt;
&lt;br /&gt;
This has worked on at least OSX 10.6.1, 10.6.8.&lt;br /&gt;
&lt;br /&gt;
#Download NetHack's sources from http://nethack.org/v343/download-src.html and unpack them.&lt;br /&gt;
#Open Terminal and &amp;lt;tt&amp;gt;cd&amp;lt;/tt&amp;gt; to the &amp;lt;tt&amp;gt;sys/unix&amp;lt;/tt&amp;gt; directory in the source folder. Run &amp;lt;tt&amp;gt;sh setup.sh&amp;lt;/tt&amp;gt;. New files named &amp;lt;tt&amp;gt;Makefile&amp;lt;/tt&amp;gt; will now be present in the &amp;lt;tt&amp;gt;src&amp;lt;/tt&amp;gt; and root folders. Return to the root folder.&lt;br /&gt;
#If you are installing &amp;quot;vanilla&amp;quot; Nethack, read about the problems described at [[Pkgsrc#patch-ac_.28system.h.29|this page on the Nethack wiki]] and install patch-ac. (Do not apply this patch on Snow Leopard, it is not needed and breaks the compilation.)&lt;br /&gt;
#Edit the file &amp;lt;tt&amp;gt;include/unixconf.h&amp;lt;/tt&amp;gt; to make three changes (Do not do this on Snow Leopard):&lt;br /&gt;
#*Uncomment the BSD &amp;lt;tt&amp;gt;#define&amp;lt;/tt&amp;gt; on line 22,&lt;br /&gt;
#*Comment out the &amp;lt;tt&amp;gt;#define&amp;lt;/tt&amp;gt;s for SYSV on line 28, and&lt;br /&gt;
#*Comment out the &amp;lt;tt&amp;gt;#define&amp;lt;/tt&amp;gt;s for SVR4 on line 35.&lt;br /&gt;
#In the file &amp;lt;tt&amp;gt;win/tty/termcap.c&amp;lt;/tt&amp;gt;, change line 838 from &amp;lt;tt&amp;gt;#ifndef LINUX&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;#if !defined(LINUX) &amp;amp;amp;&amp;amp;amp; !defined(__APPLE__)&amp;lt;/tt&amp;gt;&lt;br /&gt;
#Make three changes to &amp;lt;tt&amp;gt;src/Makefile&amp;lt;/tt&amp;gt;, which was created in step 2:&lt;br /&gt;
#*Uncomment line 233&lt;br /&gt;
#*Comment out line 234&lt;br /&gt;
#*On line 154, change &amp;lt;tt&amp;gt;CFLAGS = -O -I../include&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;CFLAGS = -O2 -I../include&amp;lt;/tt&amp;gt;. (This prevents a fatal compilation error (&amp;lt;tt&amp;gt; mkmaze.c:281: error: unable to find a register to spill in class 'Q_REGS'&amp;lt;/tt&amp;gt;) in &amp;lt;tt&amp;gt;mkmaze.c&amp;lt;/tt&amp;gt;.)&lt;br /&gt;
#To prevent errors on startup and exit (&amp;quot;No such file or directory. Exec to compress save/501XXX failed&amp;quot;), edit include/config.h, line 172, change to specify the actual location of 'gzip' (find it using 'where gzip'. I don't know if it exists on stock OSX, maybe you have to install gzip first):&lt;br /&gt;
#* #define COMPRESS &amp;quot;/usr/bin/gzip&amp;quot;&lt;br /&gt;
#&amp;lt;tt&amp;gt;cd&amp;lt;/tt&amp;gt; to the &amp;lt;tt&amp;gt;src&amp;lt;/tt&amp;gt; directory and run &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; to compile the bulk of NetHack. This takes a minute or two. If you needed to install the [[pkgsrc]] patch at step 3, you will receive an error here about a conflicting definition of &amp;lt;tt&amp;gt;srandom&amp;lt;/tt&amp;gt;.&lt;br /&gt;
#Edit the &amp;lt;tt&amp;gt;Makefile&amp;lt;/tt&amp;gt; in the root source directory to fix the game permissions. Here is one solution:&lt;br /&gt;
#* Change '&amp;lt;tt&amp;gt;games&amp;lt;/tt&amp;gt;' on line 20 to '&amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt;',&lt;br /&gt;
#* Change '&amp;lt;tt&amp;gt;games&amp;lt;/tt&amp;gt;' on line 21 to '&amp;lt;tt&amp;gt;staff&amp;lt;/tt&amp;gt;',&lt;br /&gt;
#* Change the value of &amp;lt;tt&amp;gt;GAMEPERM&amp;lt;/tt&amp;gt; on line 25 to &amp;lt;tt&amp;gt;0755&amp;lt;/tt&amp;gt;&lt;br /&gt;
#* Change the value of &amp;lt;tt&amp;gt;FILEPERM&amp;lt;/tt&amp;gt; on line 26 to &amp;lt;tt&amp;gt;0664&amp;lt;/tt&amp;gt;, and&lt;br /&gt;
#* Change the value of &amp;lt;tt&amp;gt;DIRPERM&amp;lt;/tt&amp;gt; on line 28 to &amp;lt;tt&amp;gt;0775&amp;lt;/tt&amp;gt;.&lt;br /&gt;
#In Terminal, at the top source directory, run &amp;lt;tt&amp;gt;make all&amp;lt;/tt&amp;gt; to create the auxiliary files, and then run &amp;lt;tt&amp;gt;sudo make install&amp;lt;/tt&amp;gt; to install the game. This installs the executable to /usr/games/nethack, and your save/score/bones files are created in /usr/games/lib/nethackdir.&lt;br /&gt;
#To install the manpages, edit &amp;lt;tt&amp;gt;doc/Makefile&amp;lt;/tt&amp;gt; by changing the path on line 44 to wherever you wish to install them (create the directory if necessary), and then run &amp;lt;tt&amp;gt;make install&amp;lt;/tt&amp;gt; (possibly with &amp;lt;tt&amp;gt;sudo&amp;lt;/tt&amp;gt;) from the &amp;lt;tt&amp;gt;doc&amp;lt;/tt&amp;gt; directory.&lt;br /&gt;
#Different versions of Mac OS X may have different issues with file permission settings on various components of /usr/games/lib/nethackdir. The following works for Snow Leopard:&lt;br /&gt;
#* $ sudo chmod 775 /usr/games/lib/nethackdir&lt;br /&gt;
#* $ sudo chmod 775 /usr/games/lib/nethackdir/save/&lt;br /&gt;
#* $ sudo chmod 775 /usr/games/lib/nethackdir/perm&lt;br /&gt;
#* $ sudo chmod 775 /usr/games/lib/nethackdir/record&lt;br /&gt;
#Play! For example, open the terminal version by typing &amp;lt;tt&amp;gt;open src/nethack&amp;lt;/tt&amp;gt; from the top source directory in Terminal. Different versions of Mac OS X may have different issues with file permission settings on various components of &amp;lt;tt&amp;gt;/usr/games/lib/nethackdir&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===See also===&lt;br /&gt;
* [https://github.com/mxcl/homebrew/blob/master/Library/Formula/nethack.rb Automatic download, compiling, and installation using an alternative package manager called Homebrew]&lt;br /&gt;
* [https://github.com/dirkz/Nethack-Vanilla-Lion-3.4.3 NetHack Vanilla 3.4.3 TTY version for OSX Lion]&lt;br /&gt;
&lt;br /&gt;
==On iPhone/iPod Touch==&lt;br /&gt;
This is a tricky setup. The iPhone/iPod Touch (as of firmware 2.1), due to distribution terms, terminal sandboxing, and other odds and ends associated with a highly proprietary product, tends make things difficult.&lt;br /&gt;
&lt;br /&gt;
So, we'll assume that you're using a jailbroken iPhone or iPod Touch for this procedure. We'll also assume that you're looking to play the game locally on the device on the go, as anyone can use the free terminal and telnet software to connect to [[NAO]] or equivalent.&lt;br /&gt;
&lt;br /&gt;
We additionally assume that you're compiling for terminal mode; for tiles or native window manager support, far more work will be required in the future.&lt;br /&gt;
&lt;br /&gt;
For compiling on the device itself, you will need:&lt;br /&gt;
* MobileTerminal or OpenSSH&lt;br /&gt;
* GCC, Make, and/or Toolchain 2.0&lt;br /&gt;
* Bison&lt;br /&gt;
* Flex&lt;br /&gt;
&lt;br /&gt;
All of which may be found in Cydia's package repositories or, if you do not have Cydia, various places online.&lt;br /&gt;
&lt;br /&gt;
Due to the rapid state of flux associated with commercial offerings, this list shall not be comprehensive. However, it WILL cover the highlights:&lt;br /&gt;
&lt;br /&gt;
* SCP or otherwise download the latest sources onto your device, and perform the necessary &amp;lt;tt&amp;gt;tar -xzf&amp;lt;/tt&amp;gt;. We use &amp;lt;tt&amp;gt;/usr/games&amp;lt;/tt&amp;gt; as a candidate location, and &amp;lt;tt&amp;gt;/usr/games/nethack-3.4.3&amp;lt;/tt&amp;gt; as our top level directory for the remaining steps.&lt;br /&gt;
* Browse into the &amp;lt;tt&amp;gt;sys/unix&amp;lt;/tt&amp;gt; directory and read the associated documentation, to get a good feel for what you'll be doing with your system.&lt;br /&gt;
* (Optional) Alter settings in &amp;lt;tt&amp;gt;include/config.h&amp;lt;/tt&amp;gt; such as compression options, wizard mode, etc. No changes need be made in here, though changing compression options will suppress a rather annoying warning.&lt;br /&gt;
* Return to &amp;lt;tt&amp;gt;sys/unix&amp;lt;/tt&amp;gt;. Open &amp;lt;tt&amp;gt;Makefile.top&amp;lt;/tt&amp;gt; and alter &amp;lt;tt&amp;gt;PREFIX, GAME, GAMEUID, GAMEGRP, GAMEDIR, VARDIR, SHELLDIR,&amp;lt;/tt&amp;gt; and anything else you feel is necessary.&lt;br /&gt;
&lt;br /&gt;
For convenience, here are tested values:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PREFIX   = /usr/games&lt;br /&gt;
GAME     = nethack&lt;br /&gt;
# GAME     = nethack.prg&lt;br /&gt;
GAMEUID  = mobile&lt;br /&gt;
GAMEGRP  = wheel&lt;br /&gt;
...&lt;br /&gt;
GAMEDIR  = /usr/games/lib/$(GAME)dir&lt;br /&gt;
VARDIR  = $(GAMEDIR)&lt;br /&gt;
SHELLDIR = /bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* For the remaining makefiles in &amp;lt;tt&amp;gt;sys/unix&amp;lt;/tt&amp;gt;, add &amp;lt;tt&amp;gt;CC = gcc&amp;lt;/tt&amp;gt; or your compiler to the top of the file. In this example, &amp;lt;tt&amp;gt;CC = arm-apple-darwin9-gcc&amp;lt;/tt&amp;gt; is used. Only &amp;lt;tt&amp;gt;Makefile.src&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;Makefile.utl&amp;lt;/tt&amp;gt; ''should'' be required for this step.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Note: It is suggested, but not currently required, to also include items like:&lt;br /&gt;
&lt;br /&gt;
CFLAGS = -O -I../include -I/var/include&lt;br /&gt;
LFLAGS = -L&amp;quot;/usr/lib&amp;quot; -F&amp;quot;/System/Library/Frameworks&amp;quot; -F&amp;quot;/System/Library/PrivateFrameworks&amp;quot; -bind_at_load&lt;br /&gt;
&lt;br /&gt;
... by the maintainer of Toolchain 2.0. &lt;br /&gt;
&lt;br /&gt;
However, this does not appear to be necessary; nor does alteration of the code of main().&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* From the main directory, specific source edits are required for localization in this environment:&lt;br /&gt;
** &amp;lt;tt&amp;gt;win/tty/termcap.c:839&amp;lt;/tt&amp;gt;: Comment out: &amp;lt;tt&amp;gt;// extern char *tparm();&amp;lt;/tt&amp;gt;&lt;br /&gt;
** &amp;lt;tt&amp;gt;sys/unix/Makefile.src:234&amp;lt;/tt&amp;gt;: Make sure &amp;lt;tt&amp;gt;WINTTYLIB&amp;lt;/tt&amp;gt; is defined as &amp;lt;tt&amp;gt;-lncurses&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;-ltermlib&amp;lt;/tt&amp;gt; or similar.&lt;br /&gt;
** &amp;lt;tt&amp;gt;sys/unix/Makefile.utl:108&amp;lt;/tt&amp;gt;: Set &amp;lt;tt&amp;gt;YACC&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;LEX&amp;lt;/tt&amp;gt; to use bison and flex, respectively. Example lines for these changes are given within this file.&lt;br /&gt;
** &amp;lt;tt&amp;gt;sys/unix/Makefile.doc:23&amp;lt;/tt&amp;gt;: Set &amp;lt;tt&amp;gt;GUIDECMD = cat Guidebook.txt&amp;lt;/tt&amp;gt; instead of the default.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Note: flex and bison may not work in the current build, stating &amp;quot;Bus error&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If this happens to you, it is advised to make the .c and .h files for this step&lt;br /&gt;
on a different system and copy them into /util and /include manually.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (2.x firmware) At several steps in the build process, you will need to run &amp;lt;tt&amp;gt;ldid&amp;lt;/tt&amp;gt; to ''sign'' each binary file, as unsigned files will be automatically &amp;quot;Killed&amp;quot; by the system with no further information.&lt;br /&gt;
&lt;br /&gt;
To do this, either alter the make files or perform the following incremental steps manually:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ldid -S makedefs  (in util)&lt;br /&gt;
ldid -S recover   (in util)&lt;br /&gt;
ldid -S dgn_comp  (in util)&lt;br /&gt;
ldid -S lev_comp  (in util)&lt;br /&gt;
ldid -S nethack   (in src or the final install location (we use /bin))&lt;br /&gt;
&lt;br /&gt;
(ldid should be located in /usr/bin)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (Optional) Create your own &amp;lt;tt&amp;gt;.nethackrc&amp;lt;/tt&amp;gt; in your system's user directory (usually &amp;lt;tt&amp;gt;/private/var/mobile&amp;lt;/tt&amp;gt;) and enjoy! :)&lt;br /&gt;
&lt;br /&gt;
Other steps may be required, but these are the major steps that result in a functional, working build of &amp;lt;tt&amp;gt;nethack&amp;lt;/tt&amp;gt;. Of special note, &amp;lt;tt&amp;gt;color&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;lit_corridor&amp;lt;/tt&amp;gt; does not work in certain local terminals, but otherwise, all Unix options appear to be supported.&lt;br /&gt;
&lt;br /&gt;
Additionally, &amp;lt;tt&amp;gt;mobile&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;root&amp;lt;/tt&amp;gt; seem to conflict if both users are used interchangeably, causing deaths by trickery. Only one user is advised (preferably the unprivileged &amp;lt;tt&amp;gt;mobile&amp;lt;/tt&amp;gt;) with this current setup.&lt;br /&gt;
&lt;br /&gt;
This test was performed with vanilla NetHack, though there should be no reason for this procedure to fail with many mods, patches, or [[slashem]].&lt;br /&gt;
&lt;br /&gt;
=== Getting color to work on iPhone/iPod Touch ===&lt;br /&gt;
Of special note is the fact that this build supports color, but this does not appear to enable color within MobileTerminal.app (vt100).&lt;br /&gt;
&lt;br /&gt;
However, color support can be verified by ssh in xterm, or in other terminal software for the iPhone and iPod Touch.&lt;br /&gt;
&lt;br /&gt;
==Using Autotools==&lt;br /&gt;
There's a [http://bilious.alt.org/?330 patch for Vanilla NetHack] that uses the [[wikipedia:GNU build system|GNU build system]] (aka Autotools).&lt;br /&gt;
&lt;br /&gt;
It is known to have worked on Linux, Mac OSX, Fedora8, and FreeBSD 10.1 for building a TTY version and on Windows XP for building a TTY and Windows GUI version.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
*If using flex and 'make' fails with 'Broken Pipe', you'll need to downgrade your version of flex. Version [http://prdownloads.sourceforge.net/flex/flex-2.5.4a.tar.bz2?download 2.5.4a] works with NetHack.&lt;br /&gt;
&lt;br /&gt;
*By default, the Guidebook isn't copied to the game's directory. You'll need to copy it manually.&lt;br /&gt;
&lt;br /&gt;
*If you want NetHack to reside inside chroot, see [[Chroot jail]] for instructions.&lt;br /&gt;
{{noversion}}&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Umbire the Phantom</name></author>
		
	</entry>
</feed>