Homebrew Need help compiling their 3DS stuff repo's on GitHub

  • Thread starter Thread starter Deleted User
  • Start date Start date
  • Views Views 2,761
  • Replies Replies 25
D

Deleted User

Guest
Hey. I want to compile Luma3DS CFW with recently added Commits into .firm (for example, Luma3DS v8.0-174089e4 -- which fixes broken Language Emulation). I have Git Bash and devKitPro. When I type 'make' in Luma3DS folder using cmd, I get this error. Can somebody tell me what files am I missing?
EfzwqOo.png


Back in then, I was able to compile Wii U sysNAND/redNAND CFW into fw.img from IOSUHax repository by following this tutorial.
 
Got it. But another error:
Code:
C:\Users\Sven\Luma3DS>make
make[1]: Entering directory `/c/Users/Sven/Luma3DS/sysmodules/loader'
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/fsldr.o source/fsldr.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/fsreg.o source/fsreg.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/ifile.o source/ifile.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/loader.o source/loader.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS -O3   -c
 -o build/memory.o source/memory.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/patcher.o source/patcher.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/pxipm.o source/pxipm.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/srvsys.o source/srvsys.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS -O3   -c
 -o build/strings.o source/strings.c
arm-none-eabi-gcc -specs=3dsx.specs -mcpu=mpcore -mfloat-abi=hard -Wl,--section-
start,.text=0x14000000  -o build/loader.elf build/romfsredir.bin.o build/fsldr.o
 build/fsreg.o build/ifile.o build/loader.o build/memory.o build/patcher.o build
/pxipm.o build/srvsys.o build/strings.o -L/c/devkitPro/libctru/lib -lctru
make[1]: makerom: Command not found
make[1]: *** [../../build/loader.cxi] Error 127
make[1]: Leaving directory `/c/Users/Sven/Luma3DS/sysmodules/loader'
make: *** [build/loader.cxi] Error 2

C:\Users\Sven\Luma3DS>

I assume it's missing makerom, I have a 32-bit version of it but it doesn't seem to work all the time, where can I download that too?
 
Got it. But another error:
Code:
C:\Users\Sven\Luma3DS>make
make[1]: Entering directory `/c/Users/Sven/Luma3DS/sysmodules/loader'
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/fsldr.o source/fsldr.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/fsreg.o source/fsreg.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/ifile.o source/ifile.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/loader.o source/loader.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS -O3   -c
 -o build/memory.o source/memory.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/patcher.o source/patcher.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/pxipm.o source/pxipm.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS   -c -o
build/srvsys.o source/srvsys.c
arm-none-eabi-gcc -Wall -Wextra -mcpu=mpcore -mfloat-abi=hard -fno-builtin -std=
c11 -O2 -flto -ffast-math -I/c/devkitPro/libctru/include -DARM11 -D_3DS -O3   -c
 -o build/strings.o source/strings.c
arm-none-eabi-gcc -specs=3dsx.specs -mcpu=mpcore -mfloat-abi=hard -Wl,--section-
start,.text=0x14000000  -o build/loader.elf build/romfsredir.bin.o build/fsldr.o
 build/fsreg.o build/ifile.o build/loader.o build/memory.o build/patcher.o build
/pxipm.o build/srvsys.o build/strings.o -L/c/devkitPro/libctru/lib -lctru
make[1]: makerom: Command not found
make[1]: *** [../../build/loader.cxi] Error 127
make[1]: Leaving directory `/c/Users/Sven/Luma3DS/sysmodules/loader'
make: *** [build/loader.cxi] Error 2

C:\Users\Sven\Luma3DS>

I assume it's missing makerom, I have a 32-bit version of it but it doesn't seem to work all the time, where can I download that too?
https://3dbrew.org/wiki/Makerom
 
I have no idea.
Nvm, I tried on my sister's laptop running Windows 8.1 x64...and further error showed up:
Code:
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Users\Sven>cd Luma3DS

C:\Users\Sven\Luma3DS>make
make[1]: Entering directory `/c/Users/Sven/Luma3DS/sysmodules/loader'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/c/Users/Sven/Luma3DS/sysmodules/loader'
make[1]: Entering directory `/c/Users/Sven/Luma3DS/sysmodules/rosalina'
arm-none-eabi-gcc -Wall -Wextra -MMD -MP -marm -g -mcpu=mpcore -mfloat-abi=hard
-mtp=soft -fno-builtin -std=c11 -O2 -flto -ffast-math -mword-relocations -fomit-
frame-pointer -ffunction-sections -fdata-sections -I/c/devkitPro/libctru/include
 -Iinclude -DARM11 -D_3DS   -c -o build/3dsx.o source/3dsx.c
source/3dsx.c: In function 'Ldr_CodesetFrom3dsx':
source/3dsx.c:247:26: error: 'RUNFLAG_APTCHAINLOAD' undeclared (first use in thi
s function)
         pst->runFlags |= RUNFLAG_APTCHAINLOAD;
                          ^~~~~~~~~~~~~~~~~~~~
source/3dsx.c:247:26: note: each undeclared identifier is reported only once for
 each function it appears in
make[1]: *** [build/3dsx.o] Error 1
make[1]: Leaving directory `/c/Users/Sven/Luma3DS/sysmodules/rosalina'
make: *** [build/rosalina.cxi] Error 2

C:\Users\Sven\Luma3DS>
 
https://github.com/AuroraWright/Luma3DS/#compiling
Just follow the above^^
btw, I don't think you actually need to clone the repo. But I'm just presuming.
Thanks. I've installed firmtool with Python. I am stuck on ctrulib part, don't know which devKitPro's folder I should put in.

If you have to come here for each issue you run into during building, then compiling your own firm probably isn't the best idea (Neither is running an hourly build... But it's your console). Just download the hourly you want from the hourly build site:
https://astronautlevel2.github.io/Luma3DS/
Yeah, I prefer the official Luma3DS, though. I do use hourly build.
 
I'm having trouble with makerom, the latest release is outdated :/ And i'm having trouble compiling it (Windows, x64, MinGW, and MSBuild don't work)
 
wherever_you_installed_devkitpro\devkitPro\libctru\lib.
replace libctru.a with the one you compiled.
I'm having issue compiling ctrulib too.

I'm having trouble with makerom, the latest release is outdated :/ And i'm having trouble compiling it (Windows, x64, MinGW, and MSBuild don't work)
Ah, that's the problem. Probably we will give up...
 
32 bit systems are outdated and not supported by makerom at all (which is why even if you can find/compile a 32 bit version, it won't work right. I would suggest you try setting up a 64 bit linux system using qemu's full system emulation mode. It will be slow and you may have to use the -no-kvm command line switch to force using software emulation but it should work. Just be sure to use a flat filesystem image (i.e. dd format) rather than qcow format so you can use something like ext2fs explorer to extract the compiled files from it.
 
  • Like
Reactions: Deleted User
32 bit systems are outdated and not supported by makerom at all (which is why even if you can find/compile a 32 bit version, it won't work right.
There's really no reason for this to be the case. If makerom is actually broken on 32-bit, that should be considered a bug and fixed.

I currently have a 64-bit toolchain set up, but I'll try a 32-bit build of makerom later today to see if it works or not.
 
There's really no reason for this to be the case. If makerom is actually broken on 32-bit, that should be considered a bug and fixed.

I currently have a 64-bit toolchain set up, but I'll try a 32-bit build of makerom later today to see if it works or not.

GerbilSoft, mind giving me a binary from the last commit ?
 

Site & Scene News

Popular threads in this forum