ENIGMA Forums
General fluff => Announcements => Topic started by: Goombert on October 01, 2018, 07:53:45 pm
-
I want to take a quick minute to explain a little bit about Pacboy because Hugar brought a user's installation issues to my attention over Discord. You can consider this post to be a sort of technical explanation and not really an announcement, but I want to try to clarify this for everybody and not just the one person.
The user was having a problem installing git using Pacboy because I forgot a colon on the install page for Windows. The [snip]git[/snip] package in MSYS2 is actually what's called a "virtual" package.
https://github.com/msys2/msys2/wiki/Using-packages#installing-a-package
Because the package is virtual, when you install it with Pacman, you only need to specify [snip]git[/snip] without any [snip]x86_64[/snip] or [snip]i686[/snip] suffix. Now what Pacboy is, is it's a bash script written by the MSYS2 people that makes it easier to install Pacman packages so you don't have to specify the long package suffixes.
https://github.com/msys2/msys2/wiki/Using-packages#avoiding-writing-long-package-names
Long story short, with Pacboy the [snip]:x[/snip] is for x86_64 (64 bit) and [snip]:i[/snip] is for i686 (32 bit) just as our instructions said before, but a plain [snip]:[/snip] after the package name, like [snip]git:[/snip], should be used for virtual packages.
Pacboy 2016.6.24
Copyright (C) 2015, 2016 Renato Silva
Licensed under BSD
This is a pacman wrapper for MSYS2 which handles the package prefixes
automatically, and provides human-friendly commands for common tasks.
Usage:
pacboy [command] [arguments]
Arguments will be passed to pacman or pkgfile after translation:
For 64-bit MSYS2, name:i means i686-only
For 64-bit MSYS2, name:x means x86_64-only
For MSYS shell, name:m means mingw-w64
For all shells, name: disables any translation for name
For all shells, repository::name means repository/name
I've updated our Windows installation instructions to clarify all of this.
https://enigma-dev.org/docs/wiki/index.php?title=Install%3AWindows&action=historysubmit&diff=31845&oldid=31833
-
Please add 'make' to the dependencies. The line in the documentation did not contain this package for some reason.
-
Edit: This post is incorrect slightly, please read my second reply below!!!
Hi Turbine! There's actually no need because the [snip]toolchain:x[/snip] package that is in the list already includes make.
$ pacboy -S toolchain:x
:: There are 17 members in group mingw-w64-x86_64-toolchain:
:: Repository mingw64
1) mingw-w64-x86_64-binutils 2) mingw-w64-x86_64-crt-git
3) mingw-w64-x86_64-gcc 4) mingw-w64-x86_64-gcc-ada
5) mingw-w64-x86_64-gcc-fortran 6) mingw-w64-x86_64-gcc-libgfortran
7) mingw-w64-x86_64-gcc-libs 8) mingw-w64-x86_64-gcc-objc
9) mingw-w64-x86_64-gdb 10) mingw-w64-x86_64-headers-git
11) mingw-w64-x86_64-libmangle-git 12) mingw-w64-x86_64-libwinpthread-git
13) mingw-w64-x86_64-make 14) mingw-w64-x86_64-pkg-config
15) mingw-w64-x86_64-tools-git 16) mingw-w64-x86_64-winpthreads-git
17) mingw-w64-x86_64-winstorecompat-git
Enter a selection (default=all):
-
Sorry, Turbine, you are in fact correct that there are still some issues there. This revelation came to me thanks to HitCoder over Discord who was having trouble setting up a 32 bit installation.
The issue here is that there are actually 3 separate make packages that can be installed. There is a global MSYS one and two MinGW ones (one for each architecture). The MSYS one happens to be a virtual package just like git is and must be installed accordingly. So I have updated the Wiki instructions again.
https://enigma-dev.org/docs/wiki/index.php?title=Install%3AWindows&action=historysubmit&diff=31854&oldid=31853
To install the needed make packages you actually need to do:
# 64 bit
pacboy -S toolchain:x make:
# 32 bit
pacboy -S toolchain:i make:
The [snip]toolchain[/snip] group includes the MinGW make and the [snip]make:[/snip] virtual package includes the MSYS one. Sorry about all the confusion, and I think this should finally resolve this issue.