Perfect guys, as promised you, I'm here to try to explain you what it's going and how to solve all the problems/errors related to the
audio cpp - gcc - g++ and so on.... when you try to build your own SM64 Port. And, what it's goin on in between
DevkitPro-MSys2-Mingw64-Pacman and
libs.
I made many tests and spend many hours to understand clearly all of these stuff (for me new), and I saw that for such problems can be in difficulty even who is more expert than me, that are using daily these enviroments stuff for intense codes compiling programming.
Anyway, let's go to understand,when you will download the Latest
DevKitPro 3.0.3.exe what happens, the DevkitPro it's a perfect automated Windows software that will download
MSys2 +
Mingw64 + Mingw32 these are 3 types of
Command Shell software for your Console build Enviroment. The DevkitPro, has the principal Command Shell that it's a
Customized MSys2 where all the packaging will be downloaded and concentrate to be installed and to be use for all the Nintendo Console basics extensions, that are calls libs. These libs, are vital for the functionality of the building projects (one example, the great one that
@AboodXD makes for all of us), if you miss one of these libs extensions the building will not work and continually will gives you the errors and than you are confused because you cannot understand where are the problems. So, these libs in the end of the day will download only for
MSys2 Command Shell the other two Command Shell are important as it's important the MSys2, because if someone (like
@AboodXD project) it's build for
Mingw64 Enviroment Command Shell you have to use this Mingw64 (as
@AboodXD suggest to his GitHub section), otherwise if you use the
MSys2 or
Mingw32 the project will continually gives you the errors. But here will come the funny thing, because DevKitPro as I told you, will concentrate all the package libs installation for
MSys2 that these libs will be installed into the directories tree of MSys2,where can be shared for
Mingw64 or
32 as well;
so the specific or related Mingw64 will not be installed into the Directory tree of Ming64 as normal should be but into the MSys2 directories, because Msys2 it's like the "middle Man" for all of 3 Command Shells.
In fact, when you will try to install the packages lib calls
mingw-w64-x86_64-gcc (that also
@AboodXD suggests) you cannot install them because in the Repository that should be by default as choices to install, these are not existing
.
For this reason you have to install the libs that are called
mingw-w64-cross-gcc that if you are lucky (you need to switch few times between Msys2 and Mingw64) rare time they could work and make the job in place of
mingw-w64-x86_64-gcc. Othervise, if it starting to don't work, you will enter in a vortex of Errors on Errors on the Top of Errors, and makes you crazy.
So, it's doesn't matter where from you install the libs if from
Msys2, Mingw64 or
32, because the existing libs to be installed in anyway will be redirected into the Msys2 directory. Where, instead of, if you will install a normal
MSys2 +
Mingw64 + Mingw32 from the official site and will be installed in
C:\msys64, you will have the specific packages separately in related folder installation directory of each 3 Command shells, and working for the purpose of what they are functional
.
Ok, I hope to gives you at least a general picture of what are the problems, now without that I explain more stuff, I will give you all the procces to make the DevKitPro complete and can be used even with the software
sm64pcbuilder2 , at least you will avoid to install the second official MSys2 in your computer, for just different machines.
Please follow as below:
- Download and install the latest DevKitPro from here: https://github.com/devkitPro/installer/releases/tag/v3.0.3
- Let the software to download and install everything by it self, once finished don't open it and download my file below (pacman Extra Rep) extract the file, and place this new pacman.conf file into C:\devkitPro\msys2\etc and replace the existing one. This, allows us to install more extensions/ libs specific for the Mingw64 + Mingw32 Command shells.
- Open Msys2 from start Menu or C:\devkitPro\msys2\msys2.exe, and write:
(let to update all the repository extensions, if you see some error no worries it's normal). On the question
Code:
Replace pkg-config with msys/pkgconf? [Y/n] n
(choose no for now)
4. Once finished, next write:
(let to apply the update for all the repository extensions, if you see some error no worries it's normal and you can delete some broken lib if requested by the software). On the question
Code:
Replace pkg-config with msys/pkgconf? [Y/n] Y
(choose yes).
5. Close the MSys2, and open the
Mingw64 from
C:\devkitPro\msys2\mingw64.exe
6. Install the necessary libs for SM64 Port Wiiu/PC:
and press Enter on the keyboard to install all of them
7. Then install the following libs:
pacman -S zip
pacman -S unzip
pacman -S unrar
To install more fast copy this:
Code:
pacman -S zip unzip unrar
8. Then install the following libs:
pacman -S mingw-w64-cross-binutils
pacman -S mingw-w64-cross-crt-git
pacman -S mingw-w64-cross-gcc
pacman -S mingw-w64-cross-headers-git
pacman -S mingw-w64-cross-tools-git
pacman -S mingw-w64-cross-windows-default-manifest
pacman -S mingw-w64-cross-winpthreads-git
pacman -S mingw-w64-cross-winstorecompat-git
pacman -S mingw-w64-cross-zlib
To install more fast copy this:
Code:
pacman -S mingw-w64-cross-binutils mingw-w64-cross-crt-git mingw-w64-cross-gcc mingw-w64-cross-headers-git mingw-w64-cross-tools-git mingw-w64-cross-windows-default-manifest mingw-w64-cross-winpthreads-git mingw-w64-cross-winstorecompat-git mingw-w64-cross-zlib
9. Then install the specific following libs it needs for
Mingw64:
pacman -S mingw-w64-x86_64-SDL
pacman -S mingw-w64-x86_64-SDL2
pacman -S mingw-w64-x86_64-binutils
pacman -S mingw-w64-x86_64-crt-git
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-gcc-libs
pacman -S mingw-w64-x86_64-glbinding
pacman -S mingw-w64-x86_64-glew
pacman -S mingw-w64-x86_64-gmp
pacman -S mingw-w64-x86_64-headers-git
pacman -S mingw-w64-x86_64-isl
pacman -S mingw-w64-x86_64-libiconv
pacman -S mingw-w64-x86_64-libwinpthread-git
pacman -S mingw-w64-x86_64-mpc
pacman -S mingw-w64-x86_64-mpfr
pacman -S mingw-w64-x86_64-vulkan-headers
pacman -S mingw-w64-x86_64-vulkan-loader
pacman -S mingw-w64-x86_64-windows-default-manifest
pacman -S mingw-w64-x86_64-winpthreads-git
pacman -S mingw-w64-x86_64-zlib
pacman -S mingw-w64-x86_64-zstd
To install more fast copy this:
Code:
pacman -S mingw-w64-x86_64-SDL mingw-w64-x86_64-SDL2 mingw-w64-x86_64-binutils mingw-w64-x86_64-crt-git mingw-w64-x86_64-gcc mingw-w64-x86_64-gcc-libs mingw-w64-x86_64-glbinding mingw-w64-x86_64-glew mingw-w64-x86_64-gmp mingw-w64-x86_64-headers-git mingw-w64-x86_64-isl mingw-w64-x86_64-libiconv mingw-w64-x86_64-libwinpthread-git mingw-w64-x86_64-mpc mingw-w64-x86_64-mpfr mingw-w64-x86_64-vulkan-headers mingw-w64-x86_64-vulkan-loader mingw-w64-x86_64-windows-default-manifest mingw-w64-x86_64-winpthreads-git mingw-w64-x86_64-zlib mingw-w64-x86_64-zstd
10. Then install the following libs (for Wii U and for now these are just optional, but why not!):
pacman -S wiiu-sdl2_gfx
pacman -S wiiu-sdl2_image
pacman -S wiiu-sdl2_mixer
pacman -S wiiu-sdl2_ttf
To install more fast copy this:
Code:
pacman -S wiiu-sdl2_gfx wiiu-sdl2_image wiiu-sdl2_mixer wiiu-sdl2_ttf
11. Then install the following libs:
Code:
pacman -S git make python3 wiiu-sdl2
These are all the libs environment that allows you to build up the SM64 Porting.
Now to copy the
@AboodXD GitHub repository folder (as you can find this instruction to
@AboodXD page) , and write this command to the shell:
Code:
git clone https://github.com/aboood40091/sm64-port.git
So, the above command will download the sm64-port folder directory to your User Account computer name folder; but could be that (and only in this stage, because maybe fresh of all the installations) the Command shell will write you that this command it doesn’t exist
; don’t worry because it’s a part of these buggy stuff that come out only in this stage of installation. If happen so, go to
@AboodXD GitHub project and download the zip folder. Once downloaded, unzip this folder and place it, in
C:\Users\"Your User Account"\sm64-port (so renamed the folder from
sm64-port-master to just
sm64-port) and of course place the backup game into the
sm64-port directory folder and called it
baserom.us.z64 or
baserom.eu.z64 or
baserom.jp.z64.
12. Then write this:
13. And then as final for build, write this (for single core):
(Optional) If you want build more fast and use the multi core/ thread cpu , instead of write
make, write this:
(I advice it especially if you are going to build up and test the new Texture mods, because it can take you more; even 1 hour with single CPU usage)
Then, once the
Mingw64 will finish to build-up the rpx and elf file, go to your
sm64-port folder downloaded and into it you will find a new folder called “build” navigate into the subfolder and Congratulation you will find your fresh
rpx for
WiiU .
Recommendations: If you will use the PC software just for test
sm64pcbuilder2.exe when will ask you that cannot find the
MSys2 software installed, and then pop up the software window to navigate and looking for the MSys2 directory, please navigate to the
devkitpro directory in
C:\devkitPro\msys2, and then the software, it will work like a charm…
For settle all the Environment from a fresh MSys2 (so without using DevkitPro), I’m under testing, maybe later I will do a separately guide to how to do it. But for now, after settle well the DevkitPro you shouldn’t have any problems about.
Lastly, when you made successfully your first build rpx, for the next one (if you want test different Mod like me), you can use either
MSys2 and
Mingw64 without differences, because all the buggy stuff disappear and Msys2 can work like Mingw64 for this project.
PS:
@elk1007 follow this guide to settle the Environment but change all the staff for WiiU to 3DS building. If anything I will help you.