Compiling Luma3DS error...

Discussion in '3DS - Homebrew Development and Emulators' started by Daidouji, Jan 20, 2017.

  1. Daidouji
    OP

    Daidouji GBAtemp Regular

    Member
    124
    43
    Jan 18, 2016
    Mexico
    Hello guys! I hope this is the correct forum to ask for help on this error.

    I am trying to compile Luma3DS cuz I like to compile the stuff... but I can't seem to be able to do so :S
    I've followed the instructions on Luma3DS ReadMe file and I am being presented with an error.

    I have DevKitPro r46 installed, everything on it's own PATH as it's supposed to be.
    Makerom and Ctrltool are version 0.15
    LibCtru has been compiled from git clone --recursive https://github.com/smealum/ctrulib.git
    cd /ctrulib
    Make Install
    devKit Libctru has been updated correctly as I suppose.

    But when I git clone --recursive https://github.com/AuroraWright/Luma3DS.git
    cd /Luma3DS
    make

    I get the following error:

    C:\Users\Daidouji\AppData\Local\Temp\cc6L3zaf.ltrans0.ltrans.o: In function `main':
    <artificial>:(.text.startup+0x10dc): undefined reference to `injector_bin_size'
    <artificial>:(.text.startup+0x10e0): undefined reference to `injector_bin'
    collect2.exe: error: ld returned 1 exit status
    make: *** [build/main.elf] Error 1

    Anyone has an idea of what's going on?
    I have Windows 10 x64 POST Anniversary Update.
    No Antivirus.

    Thanks in advance! =D
     
  2. TuxSH

    TuxSH GBAtemp Advanced Fan

    Member
    598
    954
    Oct 19, 2015
    France
    Weird, is that on latest commit only?

    There should be more errors above leading to the current one, what are they?
     
  3. Daidouji
    OP

    Daidouji GBAtemp Regular

    Member
    124
    43
    Jan 18, 2016
    Mexico
    Here's the complete Make log:

    Code:
    $ make
    ARMIPS Assembler v0.8.0 (Jan 25 2016 00:21:31) by Kingcom
    Done.
    ARMIPS Assembler v0.8.0 (Jan 25 2016 00:21:31) by Kingcom
    Done.
    ARMIPS Assembler v0.8.0 (Jan 25 2016 00:21:31) by Kingcom
    Done.
    ARMIPS Assembler v0.8.0 (Jan 25 2016 00:21:31) by Kingcom
    Done.
    make[1]: Entering directory `/c/Luma3DS/injector'
    ARMIPS Assembler v0.8.0 (Jan 25 2016 00:21:31) by Kingcom
    Done.
    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 -Xlinker --defsym="__start__=0x14000000" -specs=3dsx.specs -mcpu=mpcore -mfloat-abi=hard  -o build/injector.elf build/romfsredir.bin.o source/CFWInfo.s 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
    [SETTING ERROR] Unrecognised argument '-nocodepadding'
    [RESULT] Invalid arguments, see 'c:\devkitPro\devkitARM\bin\makerom.exe -help'
    make[1]: Leaving directory `/c/Luma3DS/injector'
    bin2s: could not open build/injector.bin: No such file or directory
    make[1]: Entering directory `/c/Luma3DS/loader'
    arm-none-eabi-as -mcpu=arm946e-s  -o build/cache.o source/cache.s
    arm-none-eabi-gcc -Wall -Wextra -mthumb -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/main.o source/main.c
    arm-none-eabi-gcc -Wall -Wextra -mthumb -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math -O3   -c -o build/memory.o source/memory.c
    arm-none-eabi-as -mcpu=arm946e-s  -o build/start.o source/start.s
    arm-none-eabi-gcc -nostdlib  -T linker.ld -o build/loader.elf build/cache.o build/main.o build/memory.o build/start.o
    arm-none-eabi-objcopy -S -O binary build/loader.elf ../build/loader.bin
    make[1]: Leaving directory `/c/Luma3DS/loader'
    make[1]: Entering directory `/c/Luma3DS/exceptions/arm9'
    arm-none-eabi-as -mcpu=arm946e-s  -o build/handlers.o source/handlers.s
    arm-none-eabi-gcc -Wall -Wextra -mthumb -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/i2c.o source/i2c.c
    arm-none-eabi-gcc -Wall -Wextra -mthumb -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/mainHandler.o source/mainHandler.c
    arm-none-eabi-as -mcpu=arm946e-s  -o build/start.o source/start.s
    arm-none-eabi-gcc -nostdlib -T linker.ld -o build/arm9_exceptions.elf build/handlers.o build/i2c.o build/mainHandler.o build/start.o
    arm-none-eabi-objcopy -S -O binary build/arm9_exceptions.elf ../../build/arm9_exceptions.bin
    make[1]: Leaving directory `/c/Luma3DS/exceptions/arm9'
    make[1]: Entering directory `/c/Luma3DS/exceptions/arm11'
    arm-none-eabi-as -mcpu=mpcore -mfpu=vfp  -o build/handlers.o source/handlers.s
    arm-none-eabi-gcc -Wall -Wextra -MMD -MP -mthumb -mcpu=mpcore -mfpu=vfp -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/mainHandler.o source/mainHandler.c
    arm-none-eabi-as -mcpu=mpcore -mfpu=vfp  -o build/start.o source/start.s
    arm-none-eabi-gcc -nostdlib -T linker.ld -o build/arm11_exceptions.elf build/handlers.o build/mainHandler.o build/start.o
    arm-none-eabi-objcopy -S -O binary build/arm11_exceptions.elf ../../build/arm11_exceptions.bin
    make[1]: Leaving directory `/c/Luma3DS/exceptions/arm11'
    arm-none-eabi-as -mcpu=arm946e-s  -o build/cache.o source/cache.s
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math -DCONFIG_TITLE="\"Luma3DS v6.6-ff4517e5 configuration\""   -c -o build/config.o source/config.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/crypto.o source/crypto.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/draw.o source/draw.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/emunand.o source/emunand.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/exceptions.o source/exceptions.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/fatfs/diskio.o source/fatfs/diskio.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/fatfs/ff.o source/fatfs/ff.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/fatfs/option/ccsbcs.o source/fatfs/option/ccsbcs.c
    arm-none-eabi-as -mcpu=arm946e-s  -o build/fatfs/sdmmc/delay.o source/fatfs/sdmmc/delay.s
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/fatfs/sdmmc/sdmmc.o source/fatfs/sdmmc/sdmmc.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/firm.o source/firm.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/fs.o source/fs.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/i2c.o source/i2c.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/main.o source/main.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math -O3   -c -o build/memory.o source/memory.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math -DREVISION=\"v6.6-ff4517e5\" -DCOMMIT_HASH="0xff4517e5"   -c -o build/patches.o source/patches.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/pin.o source/pin.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/screen.o source/screen.c
    arm-none-eabi-as -mcpu=arm946e-s  -o build/start.o source/start.s
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math -O3   -c -o build/strings.o source/strings.c
    arm-none-eabi-gcc -Wall -Wextra -mcpu=arm946e-s -fno-builtin -std=c11 -Wno-main -O2 -flto -ffast-math   -c -o build/utils.o source/utils.c
    arm-none-eabi-gcc -nostartfiles  -T linker.ld -o build/main.elf build/reboot.bin.o build/emunand.bin.o build/svcGetCFWInfo.bin.o build/k11modules.bin.o build/injector.bin.o build/loader.bin.o build/arm9_exceptions.bin.o build/arm11_exceptions.bin.o build/cache.o build/config.o build/crypto.o build/draw.o build/emunand.o build/exceptions.o build/fatfs/diskio.o build/fatfs/ff.o build/fatfs/option/ccsbcs.o build/fatfs/sdmmc/delay.o build/fatfs/sdmmc/sdmmc.o build/firm.o build/fs.o build/i2c.o build/main.o build/memory.o build/patches.o build/pin.o build/screen.o build/start.o build/strings.o build/utils.o
    C:\Users\javri\AppData\Local\Temp\ccr6UL2o.ltrans0.ltrans.o: In function `main':
    <artificial>:(.text.startup+0x10dc): undefined reference to `injector_bin_size'
    <artificial>:(.text.startup+0x10e0): undefined reference to `injector_bin'
    collect2.exe: error: ld returned 1 exit status
    make: *** [build/main.elf] Error 1
     
  4. TuxSH

    TuxSH GBAtemp Advanced Fan

    Member
    598
    954
    Oct 19, 2015
    France
    Your makerom is outdated, here's a recent enough one:
     

    Attached Files:

    Daidouji likes this.
  5. Daidouji
    OP

    Daidouji GBAtemp Regular

    Member
    124
    43
    Jan 18, 2016
    Mexico
    HOLY MOTHER OF GOD I LOVE YOU!! IT WORKED!! D=

    So the Makerom on https://github.com/profi200/Project_CTR Releases is outdated? :S it states it's on version 0.15 o.O
    How can I build my own to avoid bothering you guys? Do I need a C++ compiler or something?
    Thanks a lot @TuxSH!!!
     
    TuxSH likes this.
  6. TuxSH

    TuxSH GBAtemp Advanced Fan

    Member
    598
    954
    Oct 19, 2015
    France
    It's a bit hard to build on windows...

    The latest release is a bit outdated, yeah.
     
    Last edited by TuxSH, Jan 20, 2017
  7. Daidouji
    OP

    Daidouji GBAtemp Regular

    Member
    124
    43
    Jan 18, 2016
    Mexico
    So the best way to build is on Unix or Mac? o.O
    I'd like to build stuff to help people when this kind of issues happen hehe
     
  8. TuxSH

    TuxSH GBAtemp Advanced Fan

    Member
    598
    954
    Oct 19, 2015
    France
    I've personally had issues getting it to build on Windows, though some people didn't have trouble at all.

    Building any program is easy on *ix.
     
  9. Daidouji
    OP

    Daidouji GBAtemp Regular

    Member
    124
    43
    Jan 18, 2016
    Mexico
    Sorry for being such a bother, but is there a guide or something to show me how to build on Windows? If I have issues I'll just try using Unix :P
    I've looked everywhere but I can't find information to build let's say armips.exe or makerom.exe and such o.O
    Thanks a lot for your answers =)
     
    Februarysn0w and TuxSH like this.
  10. JerryShaw

    JerryShaw GBAtemp Regular

    Member
    100
    8
    Feb 7, 2017
    Switzerland
    Same thing under Windows. But if I use the one you uploaded to compile the latest Luma for B9S 1.2, it won't boot.