<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.jayscafe.net/index.php?action=history&amp;feed=atom&amp;title=Windows-MinGW-GTK3-Howto_v.3.8</id>
	<title>Windows-MinGW-GTK3-Howto v.3.8 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.jayscafe.net/index.php?action=history&amp;feed=atom&amp;title=Windows-MinGW-GTK3-Howto_v.3.8"/>
	<link rel="alternate" type="text/html" href="https://wiki.jayscafe.net/index.php?title=Windows-MinGW-GTK3-Howto_v.3.8&amp;action=history"/>
	<updated>2026-04-08T12:12:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://wiki.jayscafe.net/index.php?title=Windows-MinGW-GTK3-Howto_v.3.8&amp;diff=577&amp;oldid=prev</id>
		<title>Jayctheriot: first init</title>
		<link rel="alternate" type="text/html" href="https://wiki.jayscafe.net/index.php?title=Windows-MinGW-GTK3-Howto_v.3.8&amp;diff=577&amp;oldid=prev"/>
		<updated>2025-02-16T07:46:45Z</updated>

		<summary type="html">&lt;p&gt;first init&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
VICE on Windows - The Next G(TK)eneration&lt;br /&gt;
=========================================&lt;br /&gt;
&lt;br /&gt;
These are some instructions about getting VICE with the GTK3 GUI&lt;br /&gt;
compiled on Windows under MinGW.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: Although msys2 can build both 32-bit and 64-bit Windows binaries, a&lt;br /&gt;
      64-bit Windows (7 or later) host is required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Get MSYS2 (includes mingw):&lt;br /&gt;
 http://www.msys2.org/&lt;br /&gt;
Install as per that webpage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.1. Update the distribution:&lt;br /&gt;
&lt;br /&gt;
$ pacman -Syu&lt;br /&gt;
&lt;br /&gt;
This will usually update only a few packages (the package manager itself and&lt;br /&gt;
some related packages), and then require you to exit the shell by clicking 'x'.&lt;br /&gt;
You can then start the shell again and run the same command again to update the&lt;br /&gt;
rest of the packages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Check your MSYS2 username for spaces, for example:&lt;br /&gt;
&lt;br /&gt;
$ whoami&lt;br /&gt;
David Hogan&lt;br /&gt;
&lt;br /&gt;
If your Windows username has spaces like mine (David Hogan), then your&lt;br /&gt;
home dir will also have spaces in it, which causes problems with our&lt;br /&gt;
bindist build script later. To fix this, you'll need to change your MSYS2&lt;br /&gt;
home dir to something without spaces in it.&lt;br /&gt;
&lt;br /&gt;
$ /usr/bin/mkpasswd &amp;gt; /etc/passwd&lt;br /&gt;
&lt;br /&gt;
Use your favourite editor to change your home dir entry in /etc/passwd:&lt;br /&gt;
&lt;br /&gt;
$ # pacman -S vim&lt;br /&gt;
$ # vim /etc/passwd&lt;br /&gt;
&lt;br /&gt;
For example, change &amp;quot;/home/David Hogan&amp;quot; to &amp;quot;/home/dqh&amp;quot;. You also can change&lt;br /&gt;
the username at the start of the entry if you like.&lt;br /&gt;
&lt;br /&gt;
Finally, rename your existing homedir folder and exit and relaunch the&lt;br /&gt;
MSYS2 shell:&lt;br /&gt;
&lt;br /&gt;
$ cd /home&lt;br /&gt;
$ # mv 'David Hogan' dqh&lt;br /&gt;
$ exit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;relaunch MSYS2 MinGW&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$ pwd&lt;br /&gt;
/home/dqh&lt;br /&gt;
&lt;br /&gt;
$ whoami&lt;br /&gt;
dqh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*******************************************************************************&lt;br /&gt;
* 3. Install the stuff that you need to build VICE:                           *&lt;br /&gt;
*                                                                             *&lt;br /&gt;
* Launch either the MSYS2 MinGW 64-bit shell or the MSYS2 MinGW 32-bit shell  *&lt;br /&gt;
* (use the one that matches the version of MSYS2 that you installed).         *&lt;br /&gt;
*                                                                             *&lt;br /&gt;
* DON'T USE THE NON-MINGW ONE, STUFF WON'T WORK.                              *&lt;br /&gt;
*                                                                             *&lt;br /&gt;
* To check if the correct shell is used, run `echo $MSYSTEM`, it should print *&lt;br /&gt;
* &amp;quot;MINGW64&amp;quot; (or &amp;quot;MINGW32&amp;quot;), if it prints &amp;quot;MSYS&amp;quot; you're using the wrong shell. *&lt;br /&gt;
*******************************************************************************&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run the following command lines to install the prerequisites:&lt;br /&gt;
&lt;br /&gt;
$ pacman -S --noconfirm --needed base-devel pactoys&lt;br /&gt;
$ pacboy sync autotools pkg-config gcc ntldd unzip: zip: p7zip: subversion: gtk3 glew icoutils xa65 curl&lt;br /&gt;
&lt;br /&gt;
(Note: type the colons that you see in the second command; they are important.&lt;br /&gt;
 Hit enter for the default on all the prompts, then wait for a lot of stuff&lt;br /&gt;
 to download and install.)&lt;br /&gt;
&lt;br /&gt;
if you want to get all the extras right now as well, add&lt;br /&gt;
&lt;br /&gt;
$ pacboy sync portaudio giflib flac mpg123 libvorbis lame&lt;br /&gt;
&lt;br /&gt;
See further below for details; some options require adding flags to configure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Get MiKTeX, in order to build the PDF documentation (optional).&lt;br /&gt;
NOTE: if you skip this step, you will need to ./configure with --disable-pdf-docs&lt;br /&gt;
&lt;br /&gt;
Download and install it, see: https://miktex.org/howto/install-miktex&lt;br /&gt;
&lt;br /&gt;
Set $PATH so configure will find the required binaries:&lt;br /&gt;
&lt;br /&gt;
(My MiKTeX path is C:\miktex, I'll use that as the example -- assumes 64-bit&lt;br /&gt;
 Windows.)&lt;br /&gt;
$ export PATH=&amp;quot;$PATH:/c/miktex/miktex/bin/x64&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Remember either to do that last step every time you open the msys64 terminal,&lt;br /&gt;
or edit your &amp;quot;~/.bash_profile&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Also, add this line to your &amp;quot;~/.bash_profile&amp;quot; file:&lt;br /&gt;
&lt;br /&gt;
export OSTYPE=&amp;quot;MSYS&amp;quot;&lt;br /&gt;
&lt;br /&gt;
(It works around a current bug that makes it impossible to build the PDF&lt;br /&gt;
document without that line.)&lt;br /&gt;
&lt;br /&gt;
If you change your &amp;quot;.bash_profile&amp;quot; exit from the shell and relaunch that&lt;br /&gt;
shell (it will use your updated profile).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. Get VICE's source code.&lt;br /&gt;
To check out the source with Subversion (into &amp;quot;~/vice-trunk/&amp;quot;, for example),&lt;br /&gt;
you could type:&lt;br /&gt;
&lt;br /&gt;
$ cd ~&lt;br /&gt;
$ svn checkout http://svn.code.sf.net/p/vice-emu/code/trunk vice-trunk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Now, you can try to build VICE:&lt;br /&gt;
&lt;br /&gt;
$ cd ~/vice-trunk/vice&lt;br /&gt;
$ ./autogen.sh&lt;br /&gt;
$ ./configure -C --enable-gtk3ui&lt;br /&gt;
$ make -s --no-print-dir&lt;br /&gt;
$ make -s --no-print-dir bindist&lt;br /&gt;
&lt;br /&gt;
NOTE: if you want to help us out with bug reports, please instead configure&lt;br /&gt;
with:&lt;br /&gt;
&lt;br /&gt;
$ ./configure -C --enable-gtk3ui --enable-debug-gtk3ui --enable-debug&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
7. If it got through all those steps, you should have some executables to play&lt;br /&gt;
with in &amp;quot;GTK3VICE-3.?-win??-*/&amp;quot; (the &amp;quot;win??&amp;quot; part of that name tells you which&lt;br /&gt;
type [32-bit or 64-bit] you built).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. You can build the 32-bit version of VICE and/or the 64-bit version.  You&lt;br /&gt;
make the choice by choosing to run a particular one of the MSYS2 MinGW shells&lt;br /&gt;
(its environment variables control VICE's configuration).&lt;br /&gt;
&lt;br /&gt;
If you build one version, then want to build the other version, you must clean&lt;br /&gt;
away the object files first.  Then, you must configure VICE again.&lt;br /&gt;
&lt;br /&gt;
$ make clean&lt;br /&gt;
$ rm config.cache&lt;br /&gt;
$ ./configure -C --enable-gtk3ui&lt;br /&gt;
$ make -s --no-print-dir&lt;br /&gt;
$ make -s --no-print-dir bindist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
9. If you want the distribution in a ZIP or a 7z archive instead of a&lt;br /&gt;
subdirectory then use one of these commands (instead of &amp;quot;make -s --no-print-dir bindist&amp;quot;).&lt;br /&gt;
Use this for a ZIP-format bindist:&lt;br /&gt;
&lt;br /&gt;
$ make -s --no-print-dir bindistzip&lt;br /&gt;
&lt;br /&gt;
or this for a 7z bindist:&lt;br /&gt;
&lt;br /&gt;
$ make -s --no-print-dir bindist7zip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10. Optional features&lt;br /&gt;
&lt;br /&gt;
You can install other packages if you want to add features to VICE.&lt;br /&gt;
&lt;br /&gt;
If you install any of these packages after you have built VICE, rerun&lt;br /&gt;
&amp;quot;./configure&amp;quot; (using the respective options) and &amp;quot;make&amp;quot; to produce updated&lt;br /&gt;
binaries that make use of the new options.&lt;br /&gt;
&lt;br /&gt;
$ pacboy sync curl (needed for wic64, reconfigure with --with-libcurl)&lt;br /&gt;
$ pacboy sync portaudio (needed for sampler input, reconfigure with --enable-portaudio)&lt;br /&gt;
$ pacboy sync giflib (reconfigure with --with-gif)&lt;br /&gt;
$ pacboy sync flac (reconfigure with --with-flac)&lt;br /&gt;
$ pacboy sync mpg123 (reconfigure with --with-mpg123)&lt;br /&gt;
$ pacboy sync lame (reconfigure with --with-lame)&lt;br /&gt;
$ pacboy sync libvorbis (reconfigure with --with-vorbis)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.1 Extra Libraries&lt;br /&gt;
&lt;br /&gt;
Some extra libraries must be built from source, since there are no packages&lt;br /&gt;
for msys2:&lt;br /&gt;
&lt;br /&gt;
First lets install some tools that will help us to download stuff :)&lt;br /&gt;
&lt;br /&gt;
$ pacman -S git wget&lt;br /&gt;
&lt;br /&gt;
now we can build/install extra libraries:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10.2 libieee1284 (required for parsid)&lt;br /&gt;
&lt;br /&gt;
We need some tools for libieee1284 to build:&lt;br /&gt;
&lt;br /&gt;
# This assumes compiling for x86_64:&lt;br /&gt;
$ pacman -S xmlto mingw-w64-x86_64-docbook-{xml,xsl}&lt;br /&gt;
$ export XML_CATALOG_FILES=&amp;quot;/mingw64/etc/xml/catalog&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$ mkdir ~/work &amp;amp;&amp;amp; cd ~/work&lt;br /&gt;
$ git clone https://github.com/twaugh/libieee1284 .&lt;br /&gt;
$ ./bootstrap &amp;amp;&amp;amp; ./configure --without-python &amp;amp;&amp;amp; make -s &amp;amp;&amp;amp; make -s install&lt;br /&gt;
$ cd .. &amp;amp;&amp;amp; rm -rf work&lt;br /&gt;
&lt;br /&gt;
reconfigure with --enable-parsid --enable-libieee1284&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enjoy!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jayctheriot</name></author>
	</entry>
</feed>