Unable to Build Nintendont

Post Reply
CAGameDev
Posts: 4
Joined: Mon Apr 08, 2024 7:34 am

Unable to Build Nintendont

Post by CAGameDev » Mon Apr 08, 2024 7:47 am

I'm trying to build an updated version of Nintendont due to Tales of Symphonia not playing nice when ISO cache is enabled.

Issue: If you're in Palmacosta and talk to the person who wants you to guide them to Hakonesia Peak, but say no, and then talk again but say yes you'll get to that location with a black screen and music playing but controls locked.

This has been confirmed correct by another user who tested my save with their build that has ISO Caching off.

I went through the READ ME and set up a folder devkitpro then put both devkitARM and devkitPPC, then added those both to my environment variables (I'm on Windows 10).

Using cygdrive as Powershell and CMD refuse to work properly with the Build.bat, and things like uname come up which wont work. So I just run "make forced windows=1" within cygdrive and I was able to get the following done:

Code: Select all

Building Nintendont loader

C:/ProgramData/chocolatey/lib/make/tools/install/bin/make.exe -C loader
make[1]: Entering directory 'C:/Nintendont-master/loader'
IOSInterface.bin
/usr/bin/sh: line 1: bin2s: command not found
PADReadGC.bin
/usr/bin/sh: line 1: bin2s: command not found
background.png
/usr/bin/sh: line 1: bin2s: command not found
font.zip
/usr/bin/sh: line 1: bin2s: command not found
kernel.zip
/usr/bin/sh: line 1: bin2s: command not found
kernelboot.bin
/usr/bin/sh: line 1: bin2s: command not found
multidol_ldr.bin
/usr/bin/sh: line 1: bin2s: command not found
stub.bin
/usr/bin/sh: line 1: bin2s: command not found
FPad.c
In file included from C:/Nintendont-master/loader/include/FPad.h:24,
                 from C:/Nintendont-master/loader/source/FPad.c:22:
C:/Nintendont-master/loader/include/global.h:24:10: fatal error: gctypes.h: No such file or directory
 #include <gctypes.h>
          ^~~~~~~~~~~
compilation terminated.
make[2]: *** [C:\devkitpro\devkitPPC/base_rules:52: FPad.o] Error 1
make[1]: *** [Makefile:108: build] Error 2
make[1]: Leaving directory 'C:/Nintendont-master/loader'
make: *** [Makefile:87: loader] Error 2
So I went into the libogc folder and added the includes as needed. Not sure where I'm supposed to put them otherwise, and the missing libraries into loader\extlibs\lib as per the Makefile under loader as it shows:

Code: Select all

#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBS	:= -lfreetype -lpngu -lpng -lz \
	   -lwiiuse -lwiidrc -lwupc -lbte -lfatfs-ppc -logc -ldi -lm
After fixing that I'm loaded up with more...

Code: Select all

Building Nintendont loader

C:/ProgramData/chocolatey/lib/make/tools/install/bin/make.exe -C loader
make[1]: Entering directory 'C:/Nintendont-master/loader'
linking ... loader.elf
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: FPad.o: in function `FPAD_Init':
C:/Nintendont-master/loader/source/FPad.c:58: undefined reference to `PADReadGC_bin_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/FPad.c:58: undefined reference to `PADReadGC_bin'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/FPad.c:58: undefined reference to `PADReadGC_bin_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/FPad.c:58: undefined reference to `PADReadGC_bin'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: global.o: in function `Initialise':
C:/Nintendont-master/loader/source/global.c:187: undefined reference to `font_zip_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: global.o: in function `unzip_data':
C:/Nintendont-master/loader/source/global.c:158: undefined reference to `font_zip_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/global.c:158: undefined reference to `font_zip'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/global.c:158: undefined reference to `font_zip'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: global.o: in function `Initialise':
C:/Nintendont-master/loader/source/global.c:190: undefined reference to `background_png'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/global.c:190: undefined reference to `background_png'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: main.o: in function `main':
C:/Nintendont-master/loader/source/main.c:686: undefined reference to `kernel_zip_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:686: undefined reference to `kernel_zip'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:686: undefined reference to `kernel_zip_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:686: undefined reference to `kernel_zip'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:692: undefined reference to `kernelboot_bin_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:692: undefined reference to `kernelboot_bin_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:692: undefined reference to `kernelboot_bin'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:692: undefined reference to `kernelboot_bin'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:1545: undefined reference to `IOSInterface_bin_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:1545: undefined reference to `IOSInterface_bin_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:1545: undefined reference to `IOSInterface_bin'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:1545: undefined reference to `IOSInterface_bin'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:1550: undefined reference to `stub_bin_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:1550: undefined reference to `stub_bin_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:1550: undefined reference to `stub_bin'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:1550: undefined reference to `stub_bin'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:1674: undefined reference to `multidol_ldr_bin_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:1674: undefined reference to `multidol_ldr_bin'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:1674: undefined reference to `multidol_ldr_bin_size'
c:/devkitpro/devkitppc/bin/../lib/gcc/powerpc-eabi/8.3.0/../../../../powerpc-eabi/bin/ld.exe: C:/Nintendont-master/loader/source/main.c:1674: undefined reference to `multidol_ldr_bin'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [C:\devkitpro\devkitPPC/wii_rules:25: C:/Nintendont-master/loader/loader.elf] Error 1
make[1]: *** [Makefile:108: build] Error 2
make[1]: Leaving directory 'C:/Nintendont-master/loader'
make: *** [Makefile:87: loader] Error 2
I've checked the files and the headers are there so I'm at a loss now on what to do.

As per the READ ME I'm using devkitARM r53-1, devkitPPC r35-2, and libOGC 1.8.23-1

Any help would be greatly appreciated. Sorry if this isn't in the right section, I wasn't sure if I needed to post this in the GC / Wii Dev area or under Devkitpro.

WinterMute
Site Admin
Posts: 1986
Joined: Tue Aug 09, 2005 3:21 am
Location: UK
Contact:

Re: Unable to Build Nintendont

Post by WinterMute » Tue Apr 09, 2024 8:51 pm

CAGameDev wrote: Mon Apr 08, 2024 7:47 am I went through the READ ME and set up a folder devkitpro then put both devkitARM and devkitPPC, then added those both to my environment variables (I'm on Windows 10).
We don't support manually constructed toolchain installations, sorry. We supply tools and libraries via pacman as detailed in wiki/Getting_Started.
Using cygdrive as Powershell and CMD refuse to work properly with the Build.bat, and things like uname come up which wont work. So I just run "make forced windows=1" within cygdrive and I was able to get the following done:
Our stock windows installation comes with msys2. We don't support use under Cygwin.

C:/ProgramData/chocolatey/lib/make/tools/install/bin/make.exe -C loader
Nor do we support use of tools provided by Chocolatey. We provide make and the rest of the gnu tools via msys2 on windows.
As per the READ ME I'm using devkitARM r53-1, devkitPPC r35-2, and libOGC 1.8.23-1
We only support current versions of the tools and libraries. These versions are considerably out of date.

Sorry we can't be of assistance wih this. It would be fantastic if people used current versions of the tools and libraries instead of miring everyone in technical debt by insisting on not updating and instructing people to manually install unsupported tools and libraries.
Help keep devkitPro toolchains free, Donate today

Personal Blog

CAGameDev
Posts: 4
Joined: Mon Apr 08, 2024 7:34 am

Re: Unable to Build Nintendont

Post by CAGameDev » Tue Apr 09, 2024 10:50 pm

Thank you for your reply WinterMute.

To be frank, the developer for Nintendont has been of little help. Why the developer has worked on the project in such a way is beyond me, but it speaks volumes. The fact I had to manually edit the Binary to get it to work because of the refusal to help with the build tells a lot. There are also several other posts online where users have various other problems attempting to build and certain blame seems to be directed towards devkitPro, but honestly after review the real problem is the way Nintendont is managed and it is managed very poorly.

I will try a few other things later and post back with my results, but from what the developer has said in other people's posts is that using any recent build will cause Nintendont to crash and it we're "forced" to use very old dated builds of the tools and libraries.

WinterMute
Site Admin
Posts: 1986
Joined: Tue Aug 09, 2005 3:21 am
Location: UK
Contact:

Re: Unable to Build Nintendont

Post by WinterMute » Thu Apr 11, 2024 6:45 pm

It is generally quite exasperating just how much we get blamed for people who seem to think it's reasonable to expect code of this kind of quality to still be compilable & "just work" several iterations of tools and libraries later. Thanks for understanding, it's not often people seem to see the real source of the issue.

I had a brief look and it does seem to compile with latest tools & libs although there are a few warnings that need attention. There's also the thing people do where they add some random linux binary to their github repo - bin2h in this case which I'd probably have used either raw2c or the bin2o makefile machinery we added. bin2h source needed some massaging to build on macOS so I left that alone for now to see what state the rest of the code seems to be in. I ignored Build.bat and Build.sh as I always do and simply ran make. The scripts run "make forced" which cleans the whole project & builds from scratch - could be an indication of dependency issues somewhere. It could equally just be the usual "X did it like this so I'll just copy it.

Personally I'm not sure why it should necessarily be a big issue for someone who understands this code to update it & move towards more reasonable standards. Fixing the warnings & seeing what happens would be a good start. At least that way we can perhaps tell where this crash is happening.
Help keep devkitPro toolchains free, Donate today

Personal Blog

WinterMute
Site Admin
Posts: 1986
Joined: Tue Aug 09, 2005 3:21 am
Location: UK
Contact:

Re: Unable to Build Nintendont

Post by WinterMute » Fri Apr 12, 2024 12:27 am

I've had another look at this & realised they've also decided to dump a bunch of precompiled libraries in the git repository as well as gcc libraries from who knows what version of devkitARM. I also added the source for libwiidrc, libwupc and libpngu which are all single source files and not something we'll be adding to dkP supplied libraries. libwupc should really have been added to wiiuse instead of this abomination wrapping functions.

This fork builds with stock toolchain install. Whether it works or not is another matter, I haven't got around to trying it on hardware https://github.com/WinterMute/Nintendont

It should give someone a leg up on fixing it anyway.
Help keep devkitPro toolchains free, Donate today

Personal Blog

CAGameDev
Posts: 4
Joined: Mon Apr 08, 2024 7:34 am

Re: Unable to Build Nintendont

Post by CAGameDev » Fri Apr 12, 2024 12:38 am

WinterMute wrote: Fri Apr 12, 2024 12:27 am I've had another look at this & realised they've also decided to dump a bunch of precompiled libraries in the git repository as well as gcc libraries from who knows what version of devkitARM.

This fork builds with stock toolchain install. Whether it works or not is another matter, I haven't got around to trying it on hardware https://github.com/WinterMute/Nintendont

It should give someone a leg up on fixing it anyway.
Thank you! I'll take a peak at it this weekend. I was intending to run through it all and see what changes I needed to make to get it working, but this will help me get started a lot quicker!

Once I can build it and run everything without problems I can modify the source to fix the other issues without having to edit the binary.

I appreciate your help on this!

CAGameDev
Posts: 4
Joined: Mon Apr 08, 2024 7:34 am

Re: Unable to Build Nintendont

Post by CAGameDev » Tue Apr 30, 2024 1:21 am

Just a final update on this as I was caught up with some other projects... I was able to build with the current devkitPro Tools, and added in a toggle option for ISO Caching to the menu. Tested it with the game and when ON it crashes as per the latest build, when OFF it runs as per my prior Binary edit. There are some minor issues like not being able to use the (R + Z + B + D-Pad->DOWN) to return, but I haven't looked at it further. As is this works perfect for what I need and I can just toggle it ON or OFF.

Thanks for helping out as I couldn't get any support else where.

WinterMute
Site Admin
Posts: 1986
Joined: Tue Aug 09, 2005 3:21 am
Location: UK
Contact:

Re: Unable to Build Nintendont

Post by WinterMute » Tue Apr 30, 2024 1:00 pm

Glad to help. Thanks for giving me the opportunity to help and thanks for coming back to say the help was useful.
Help keep devkitPro toolchains free, Donate today

Personal Blog

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest