Building problem related to smdh

Discussion in '3DS - Homebrew Development and Emulators' started by justinkb, Oct 8, 2015.

  1. justinkb
    OP

    justinkb GBAtemp Advanced Fan

    Member
    619
    210
    Oct 7, 2012
    Netherlands
    Building certain homebrew libs and programs I run into this odd issue, which I can't seem to nail down...

    Code:
    make[1]: *** No rule to make target '/home/paul/tmp/3ds_homemenuhax/themehax_installer/themehax_installer.smdh', needed by '/home/paul/tmp/3ds_homemenuhax/themehax_installer/themehax_installer.3dsx'.  Stop.
    Makefile:132: recipe for target 'build' failed
    make: *** [build] Error 2
    
    It also happens when building FBI, using citrus, for example:

    Code:
    $ make
    arm-none-eabi-g++ -MMD -MP -MF /home/paul/tmp/FBI/build/ui.d -g -Wall -Wno-strict-aliasing -O3 -mword-relocations -fomit-frame-pointer -ffast-math -march=armv6k -mtune=mpcore -mfloat-abi=hard -I/home/paul/tmp/FBI/source -I/home/paul/tmp/FBI/include -I/opt/devkitpro/citrus/include -I/opt/devkitpro/portlibs/armv6k/include -I/opt/devkitpro/portlibs/3ds/include -I/opt/devkitpro/libctru/include -I./lib/include -I/home/paul/tmp/FBI/build -DARM11 -D_3DS -DVERSION_STRING="\"`git describe --tags --abbrev=0`\"" -std=gnu++11 -fno-rtti -fno-exceptions -c /home/paul/tmp/FBI/source/ui.cpp -o ui.o
    main.cpp
    arm-none-eabi-g++ -MMD -MP -MF /home/paul/tmp/FBI/build/main.d -g -Wall -Wno-strict-aliasing -O3 -mword-relocations -fomit-frame-pointer -ffast-math -march=armv6k -mtune=mpcore -mfloat-abi=hard -I/home/paul/tmp/FBI/source -I/home/paul/tmp/FBI/include -I/opt/devkitpro/citrus/include -I/opt/devkitpro/portlibs/armv6k/include -I/opt/devkitpro/portlibs/3ds/include -I/opt/devkitpro/libctru/include -I./lib/include -I/home/paul/tmp/FBI/build -DARM11 -D_3DS -DVERSION_STRING="\"`git describe --tags --abbrev=0`\"" -std=gnu++11 -fno-rtti -fno-exceptions -c /home/paul/tmp/FBI/source/main.cpp -o main.o
    linking FBI.elf
    make[1]: *** No rule to make target '/home/paul/tmp/FBI/output/FBI.smdh', needed by '/home/paul/tmp/FBI/output/FBI.zip'.  Stop.
    /opt/devkitpro/citrus/tools/make_base:97: recipe for target 'build' failed
    make: *** [build] Error 2
    
    What's odd is that some other programs, for example, ftbrony, work fine in producing the smdh file. Anyone got a clue about this?

    Not 100% sure this is the right place to ask, but I couldn't find anything that matches my question better...

    Some additional info:

    my 3ds_rules file in /opt/devkitpro/devkitARM definitely contains this bit:
    Code:
    %.smdh: $(APP_ICON) $(MAKEFILE_LIST)
        @smdhtool --create "$(APP_TITLE)" "$(APP_DESCRIPTION)" "$(APP_AUTHOR)" $(APP_ICON) $@
        @echo built ... $(notdir $@)
    
    and the smdhtool is set up fine too:
    Code:
    $ which smdhtool
    /opt/devkitpro/devkitARM/bin/smdhtool
    
    also my env seems to be set up fine too:
    Code:
    $ env | grep devkit
    CTRULIB=/opt/devkitpro/libctru
    DEVKITPRO=/opt/devkitpro
    DEVKITARM=/opt/devkitpro/devkitARM
    PATH=<snip>:/opt/devkitpro/devkitARM/bin:<snip>
    
     
    Last edited by justinkb, Oct 8, 2015
  2. Rinnegatamante

    Rinnegatamante GBAtemp Psycho!

    Member
    3,127
    3,271
    Nov 24, 2014
    Italy
    Bologna
    SMDH is not necessary, if you can get 3DSX file, you can simply take SMDH file from official release of this homebrews or create it with SMDH Creator or similar tools.
     
  3. justinkb
    OP

    justinkb GBAtemp Advanced Fan

    Member
    619
    210
    Oct 7, 2012
    Netherlands
    Cheers, I did notice that, but it interrupts the build process so for example the FBI.cia isn't created so I'd rather actually fix the issue than work around it.