derrekr / fastboot3DS

A homebrew bootloader for the Nintendo 3DS that is similar to android's fastboot.
GNU General Public License v3.0
375 stars 19 forks source link

trying to compile #23

Closed jimmyjxD closed 6 years ago

jimmyjxD commented 6 years ago

I'm trying to compile a clean fastboot3ds and I believe I have all the requirements, but I get this error. C:/Users/willi/Desktop/fastboot3DS-1.0/fastboot3DS-1.0/arm9/../source/arm9/firmwriter.c:166:28: error: expected expression before '<<' token if(vers < ((u32)VERS_MAJOR<<16 | VERS_MINOR)) return UPDATE_ERR_DOWNGRADE; ^~ make[2]: [/opt/devkitpro/devkitARM/base_rules:85: firmwriter.o] Error 1 make[2]: Waiting for unfinished jobs.... C:/Users/willi/Desktop/fastboot3DS-1.0/fastboot3DS-1.0/arm9/../thirdparty/fatfs/ff.c: In function 'f_setlabel': C:/Users/willi/Desktop/fastboot3DS-1.0/fastboot3DS-1.0/arm9/../thirdparty/fatfs/ff.c:5062:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation] for (slen = 0; (UINT)label[slen] >= ' '; slen++) ; / Get name length / ^~~ C:/Users/willi/Desktop/fastboot3DS-1.0/fastboot3DS-1.0/arm9/../thirdparty/fatfs/ff.c:5082:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for' { / On the FAT/FAT32 volume / ^ make[1]: [Makefile:112: build] Error 2 make: [Makefile:31: checkarm9] Error 2

help would very much be appreciated ^^

profi200 commented 6 years ago

Is git installed inside msys2? It is required to get the version infos out of the git repo.

jimmyjxD commented 6 years ago

I have git installed,but I compile all my stuff with cmd. So I don't think I have git in msys2 but it is in PATH.

profi200 commented 6 years ago

Do you have any other toolchains installed? It sounds like you are using the wrong make if it can't find git. Try to open the msys2 shell and compile in there.

jimmyjxD commented 6 years ago

same issue :/

profi200 commented 6 years ago

In this case i'm not sure what's wrong. It sounds like your devkitARM/msys2 install is borked somehow.

d0k3 commented 6 years ago

@jimmyjxD - can you just uninstall and reinstall your devkitARM? Or, has this been solved for you already?

jimmyjxD commented 6 years ago

it hasn't been solved unfortunately, and I currently don't have access to my pc but I will have access to one in a few days. I also never wanted to reinstall devkitpro because it was hard to setup an environment that can compile stuff like luma and godmode9 and if it borks it it's gonna be difficult to understand what broke :/

d0k3 commented 6 years ago

devkitPro should be really easy to reinstall, and you're not required to touch anything else (git, etc). I do understand why you don't want to, it's just pretty hard to suggest anything else.

jimmyjxD commented 6 years ago

yeah i see,I'll try uninstalling it when I can

jimmyjxD commented 6 years ago

just don't wanna bork anything

d0k3 commented 6 years ago

Okay, this has been open with no info added for a while. @jimmyjxD - did you get this working? As I wrote, no other choice than to uninstall and reinstall the tool chain. Otherwise there's no way to get this fixed.

EDIT: If you're still afraid of breaking something, you could make a backup of the C:/DevkitPro/ folder before deleting it.

d0k3 commented 6 years ago

Okay, I'm assuming this solved. @jimmyjxD - feel free to contact us if you still can't compile fastboot3ds. Closing this now.

urherenow commented 4 years ago

I'm running into this issue, and all of my toolchains are up to date. I have no internet access on my personal computer at the moment, but I can compile Luma3ds, Godmode9, boot9strap, etc and all manner of Switch stuff as well. As I don't have internet on my personal computer, I am, however, building from a zipped download of the current master (I can't do a git clone right now).

If I comment it out, It errors on fastboot3ds_pubkey defined but not used, and if I try again with NDEBUG=1 it errors out in start.s line 62 (again with the (VERS_MAJOR<<16 | VERS_MINOR).

Is this all because it's not online with a git clone?

profi200 commented 4 years ago

You can try and edit the makefile temporarily to assign numbers to these 2 defines. It's a dirty workaround. Keep that in mind.