Homebrew Unable to build latest Snes9x GX commit from dborth

RandomMan25XX

Well-Known Member
Member
Joined
Jun 21, 2012
Messages
302
Reaction score
82
Trophies
1
Age
29
Location
On Your Hard Drive
XP
1,037
Country
United States
as the title says I am unable to build the latest commit, at first it was because of missing files (msu1.h and msu1.cpp) but now it's due to MAXPATHLEN not being defined, if anyone can explain how to fix this or can provide a compiled copy of the latest commit that would be greatly appreciated
 
thanks, I'll give that a go now it's a new error
 

Attachments

  • Ashampoo_Snap_Sunday, February 18, 2018_14h17m35s_001_C--WINDOWS-system32-cmd-exe.png
    Ashampoo_Snap_Sunday, February 18, 2018_14h17m35s_001_C--WINDOWS-system32-cmd-exe.png
    22.5 KB · Views: 258
Last edited by RandomMan25XX,
The whole project will need to be upgraded or you'll have to use an older version of devkitPPC and libogc. You can fix a lot of the string function errors like that by adding "-D_GNU_SOURCE" to the CFLAGS in the makefile but you're going to run into a lot of casting errors that need to be fixed, too.
 
Last edited by GreyWolf,
This is the absolute latest build with all features included?, like msu, fast forward, screenshots, fx chip overclocking, etc.

if it is so, please share the binary already compiled.

Oh, and take note from this:
https://gbatemp.net/threads/snes9xgx-mod-preview-wiiupro-screenshot-button.389448/

"- Fixed performance issues, reverted to previous vsync method, thank to Burnt Lasagna for finding this error."

I don't know if this is already fixed in your sources or not.
 
This is the absolute latest build with all features included?, like msu, fast forward, screenshots, fx chip overclocking, etc.

if it is so, please share the binary already compiled.

Oh, and take note from this:
https://gbatemp.net/threads/snes9xgx-mod-preview-wiiupro-screenshot-button.389448/

"- Fixed performance issues, reverted to previous vsync method, thank to Burnt Lasagna for finding this error."

I don't know if this is already fixed in your sources or not.

+1 to this, and also a bit of a newbie question - would this build be compatible with GameCube? Looking to run this via SWISS on GC. Thanks!
 
Last edited by Badablek,
  • Like
Reactions: tito83
you're awesome for that, thanks a lot

--------------------- MERGED ---------------------------

also, how were you able to build the latest commit? (I ask because I'd like to know if I ever encounter a similar error again)
 
I'm using the good old libogc (1.8.11) / devkitpro (r26) I'm keeping preciously, to compile old / sleeping / outdated / dead projects :moogle:
And I made a batch to have some kind of "portable" devkitpro/libogc environment, so I can use as many versions as I need. If it can help, here it is :

Code:
@echo off
title Snes9xGX compilation

CD..\..\..
SET PATH=%cd%\msys\bin;%cd%\devkitPPC\bin;C:\Program Files\TortoiseSVN\bin
SET DEVKITPRO=/%CD::=%
SET DEVKITPRO=%DEVKITPRO:\=/%
SET DEVKITPPC=%devkitpro%/devkitPPC
SET DEVKITARM=%devkitpro%/devkitARM
CD %~dp0

make -f makefile.wii
wiixz executables\snes9xgx-wii.dol hbc\boot.dol
pause

As you can see, you must follow some path's "schematic" (because of CD..\..\..), like this example : Devkitpro\Homebrews\Wii\snes9xgx-master\compile_wii.bat
and you also have to put wiixz.exe in the same folder as the makefile / batch if you want a compressed dol...size is divided by 3.5 with snes9xgx !

With this and my libogc/devkitpro version, I'm able to compile snes9xgx without any problem when no source file is missing, like msu1.h/msu1.cpp in source/snes9x :unsure: (except some compilation warnings because of unused variables in snes9xgx)


ps : I can share my devkitpro folder, if needed.
 
I'm using the good old libogc (1.8.11) / devkitpro (r26) I'm keeping preciously, to compile old / sleeping / outdated / dead projects :moogle:
And I made a batch to have some kind of "portable" devkitpro/libogc environment, so I can use as many versions as I need. If it can help, here it is :

Code:
@echo off
title Snes9xGX compilation

CD..\..\..
SET PATH=%cd%\msys\bin;%cd%\devkitPPC\bin;C:\Program Files\TortoiseSVN\bin
SET DEVKITPRO=/%CD::=%
SET DEVKITPRO=%DEVKITPRO:\=/%
SET DEVKITPPC=%devkitpro%/devkitPPC
SET DEVKITARM=%devkitpro%/devkitARM
CD %~dp0

make -f makefile.wii
wiixz executables\snes9xgx-wii.dol hbc\boot.dol
pause

As you can see, you must follow some path's "schematic" (because of CD..\..\..), like this example : Devkitpro\Homebrews\Wii\snes9xgx-master\compile_wii.bat
and you also have to put wiixz.exe in the same folder as the makefile / batch if you want a compressed dol...size is divided by 3.5 with snes9xgx !

With this and my libogc/devkitpro version, I'm able to compile snes9xgx without any problem when no source file is missing, like msu1.h/msu1.cpp in source/snes9x :unsure: (except some compilation warnings because of unused variables in snes9xgx)


ps : I can share my devkitpro folder, if needed.
seeing as you've had no issue with building old stuff I would assume it would help me as well (or anyone else having problems)
 
don't know if there was any update since november 2017, but just in case : https://gbatemp.net/threads/question-about-snes9x-gx.489687/#post-7704334

hmm, there was some changes since my answer...will compile the latest one.


EDIT

latest commit from dborth, compiled (dol compressed with FIX94's tool "wiixz") : https://mega.nz/#!3VEAVKzK!BVsstH6_q29_vMW9azkoZ5-176yeV7RUwzEAPK4Zmog
BTW I don't know why msu1.h/msu1.cpp is missing from dborth's github. I had to took qwertymodo's MSU1 files.

Thank you! :D, it have all the features minus the "Tengai Makyou Zero translation" https://www.romhacking.net/translations/3243/

But if the emulator have this fixed, it break the original japanese game:
https://gbatemp.net/goto/post?id=7647477#post-7647477
 
here it is : https://mega.nz/#!jMMDlZ6I!BSEvVhgAjLHxxsPtfMctOj8aOAHy5PFeamuEtzCxQ2g

I have included latest snes9xgx sources, with my batch and wiixz.exe. Everything is ready to compile.
Not sure if it's really useful with snes9xgx, but you should also install TortoiseSVN (used for example in USBLoader GX for versioning)

ps : my batch doesn't like space character(s) :wink:
so don't put this devkitpro folder in any sub-folder with spaces in its name. Homebrew folders can't contain spaces too.

I'll have to check how to keep long filenames in my path detection.
 
  • Like
Reactions: baco81
nope, it's not that easy :(
the problem relies in make.exe...it really doesn't like space when using my "portable batch". Strange thing is that it works in non portable mode, when devkitpro is installed as intended.

I can save the entire path for the devkitpro variables and the sources path, but whenever I use the make -f makefile.wii, the source path is lost.
I put some echo to see what is contained in %devkitpro%, %devkitarm%, %devkitppc% (first line), current folder (second line)
and Make.exe seems to split the path in two (where the space is) (lines 5 and 6)

Code:
/E/A graver/devkitpro "/E/A graver/devkitpro/devkitPPC" "/E/A graver/devkitpro/devkitARM"
E:\A graver\devkitpro\Homebrews\Wii\snes9xgx-master\
make -f Makefile.wii
make[1]: Entering directory `/e/A graver/devkitpro/Homebrews/Wii/snes9xgx-master'
Makefile.wii:10: "/E/A: No such file or directory
Makefile.wii:10: graver/devkitpro/devkitPPC"/wii_rules: No such file or directory
make[1]: *** No rule to make target `graver/devkitpro/devkitPPC"/wii_rules'.  Stop.
make[1]: Leaving directory `/e/A graver/devkitpro/Homebrews/Wii/snes9xgx-master'
make: *** [wii] Error 2

I have to dig deeper :moogle:
 
learning from previous mistakes (from a few years back), I was told to never have spaces in folder names for where source code is located when building, only errors I've encountered since are due to missing dependencies or discrepancies in the code itself (i.e. undefined settings or paths)
 
seeing as one problem has been solved, any clue about this last thing (I can build it, I just have no clue what exactly is being referred to here or how something is still missing)
(unless something hasn't been defined in PATH) BTW this is in regards to the latest version of Wii64 that apparently has improvements
 

Attachments

  • Ashampoo_Snap_Thursday, February 22, 2018_17h14m54s_002_Command Prompt.png
    Ashampoo_Snap_Thursday, February 22, 2018_17h14m54s_002_Command Prompt.png
    13.6 KB · Views: 195
Last edited by RandomMan25XX,
nope, it's not that easy :(
the problem relies in make.exe...it really doesn't like space when using my "portable batch". Strange thing is that it works in non portable mode, when devkitpro is installed as intended.

I can save the entire path for the devkitpro variables and the sources path, but whenever I use the make -f makefile.wii, the source path is lost.
I put some echo to see what is contained in %devkitpro%, %devkitarm%, %devkitppc% (first line), current folder (second line)
and Make.exe seems to split the path in two (where the space is) (lines 5 and 6)

Code:
/E/A graver/devkitpro "/E/A graver/devkitpro/devkitPPC" "/E/A graver/devkitpro/devkitARM"
E:\A graver\devkitpro\Homebrews\Wii\snes9xgx-master\
make -f Makefile.wii
make[1]: Entering directory `/e/A graver/devkitpro/Homebrews/Wii/snes9xgx-master'
Makefile.wii:10: "/E/A: No such file or directory
Makefile.wii:10: graver/devkitpro/devkitPPC"/wii_rules: No such file or directory
make[1]: *** No rule to make target `graver/devkitpro/devkitPPC"/wii_rules'.  Stop.
make[1]: Leaving directory `/e/A graver/devkitpro/Homebrews/Wii/snes9xgx-master'
make: *** [wii] Error 2

I have to dig deeper :moogle:

devkitPro's make uses Unix paths so in a shell script using "\ " would work. I'm not sure how to do that using a batch file, though.

EDIT: It should work with your batch file, too: "SET DEVKITPRO=/c/some\ spaced\ folder/devkitPro"
 
Last edited by GreyWolf,
Thanks for your help, but this is what my batch already do ;)

Code:
CD..\..\..
SET DEVKITPRO=/%CD::=%
SET DEVKITPRO=%DEVKITPRO:\=/%
  1. From the homebrew folder, go back from 3 sub-folders to access devkitpro root folder
  2. Put this path to the variable "DEVKITPRO", but it is formatted like this : \e/A graver/devkitpro/Homebrews/Wii/snes9xgx-master
  3. In order to make it work, I have to replace \ with / and I store it again in the variable "DEVKITPRO"
  4. Now %DEVKITPRO% returns /e/A graver/devkitpro/Homebrews/Wii/snes9xgx-master, which is correct
If I only use "make", it "works", make uses the correct path :
Code:
make[1]: Entering directory `/e/A graver/devkitpro/Homebrews/Wii/snes9xgx-master'
But fails at the next step, because snes9xgx have wii and gamecube makefiles

so the command-line must be "make -f makefile.wii", but this splits the path because of the space :
Code:
Makefile.wii:10: "/E/A: No such file or directory
Makefile.wii:10: graver/devkitpro/devkitPPC"/wii_rules: No such file or directory

I have to find a way to tell to make.exe that the working folder is /e/A graver/devkitpro/Homebrews/Wii/snes9xgx-master. Using "CD %~dp0" is not enough

Or maybe it's better to stick with short folder names, without space :teach:


@RandomMan25XX it seems your setup is missing devkitppc, because it doesn't even find "devkitPPC\bin\powerpc-eabi-g++.exe"
Or maybe the variable "DEVKITPPC" does not contain the correct path.

EDIT : devkitpro updater does not put anything in PATH variable, which is wrong. That's why you can't compile anything.
You have to add this to the PATH variable (in windows control panel, or by tweaking my batch) :

C:\devkitPro\devkitPPC\bin
c:\devkitpro\msys\bin


You also need ppc portlibs. If you have my devkitpro folder, you can copy "portlibs" folder in c:\devkitpro or if you prefer, you download the latest ones and unzip it in c:\devkitpro\portlibs\ppc\
Then download libfat ogc 1.1.2 and unzip it in c:\devkitpro\libfat\libogc\

I was able to compile latest Wii64GL with latest libogc/devkitpro/devkitppc
Too bad devkitpro updater makes half of the job. It should change the PATH variable itself.

upload_2018-2-23_14-14-0.png
 
Last edited by Badablek,

Site & Scene News

Popular threads in this forum