Homebrew [RELEASE] CtrBootManager9

  • Thread starter Thread starter cpasjuste
  • Start date Start date
  • Views Views 108,214
  • Replies Replies 502
  • Likes Likes 68
Eo1Z1sq.png
Thanks! Yeah mine is still filled with all the intermediate project files and no Makefile. It's definitely a cmake issue. It seems that because it can't identify an ASM compiler it refuses to build the project. Ugh!

--------------------- MERGED ---------------------------

Thanks! Yeah mine is still filled with all the intermediate project files and no Makefile. It's definitely a cmake issue. It seems that because it can't identify an ASM compiler it refuses to build the project. Ugh!
What version of cmake did you use?
 
Thanks! Yeah mine is still filled with all the intermediate project files and no Makefile. It's definitely a cmake issue. It seems that because it can't identify an ASM compiler it refuses to build the project. Ugh!
Try running it exactly like this with the -G "MSYS Makefiles" on the end
Code:
 cmake -DCMAKE_TOOLCHAIN_FILE=../DevkitARM3DS.cmake ../ -G "MSYS Makefiles"

Edit: I used the latest version of cmake

--------------------- MERGED ---------------------------

Thanks! Yeah mine is still filled with all the intermediate project files and no Makefile. It's definitely a cmake issue. It seems that because it can't identify an ASM compiler it refuses to build the project. Ugh!

--------------------- MERGED ---------------------------


What version of cmake did you use?
Oh I've spotted something on mine It says nihistro not found. It looks like you've got it. Would you mind sending me nihistro?
 
Last edited by Rohul1997,
@cpasjuste can you give any hints as to what this error is referring to?

Code:
[100%] Linking C executable CtrBootManager9
[100%] Built target CtrBootManager9
make[3]: set-section-flags: Command not found
 
Try running it exactly like this with the -G "MSYS Makefiles" on the end
Code:
 cmake -DCMAKE_TOOLCHAIN_FILE=../DevkitARM3DS.cmake ../ -G "MSYS Makefiles"

Edit: I used the latest version of cmake

--------------------- MERGED ---------------------------


Oh I've spotted something on mine It says nihistro not found. It looks like you've got it. Would you mind sending me nihistro?

Adding the -G "MSYS Makefiles" works. Using the GNU compilers vs VS seems to be the issue with Cmake. Also, where did you get your libconfig? The libconfig I have from wingnu doesn't seem to be correct, all sorts of errors during make.

Here is nihistro: https://mega.nz/#!REoEBJgT!lb-ZzoEOQERjrpXyM0RBToFyks7I4GU1dP-pig98fbs
 
  • Like
Reactions: Madridi
Adding the -G "MSYS Makefiles" works. Using the GNU compilers vs VS seems to be the issue with Cmake. Also, where did you get your libconfig? The libconfig I have from wingnu doesn't seem to be correct, all sorts of errors during make.

Here is nihistro: https://mega.nz/#!REoEBJgT!lb-ZzoEOQERjrpXyM0RBToFyks7I4GU1dP-pig98fbs
thanks I got portlibs from here - https://github.com/xerpi/3ds_portlibs

--------------------- MERGED ---------------------------

Damn I'm still getting errors
Code:
C:\Users\Rohul\Documents\GitHub\CtrBootManager\build>make
Scanning dependencies of target CtrBootManager
[  1%] Building ASM object CMakeFiles/CtrBootManager.dir/source/CakeBrah/source/arm11.s.obj
[  3%] Building C object CMakeFiles/CtrBootManager.dir/source/CakeBrah/source/brahma.c.obj
[  5%] Building CXX object CMakeFiles/CtrBootManager.dir/source/CakeBrah/source/libkhax/khaxinit.cpp.obj
[  7%] Building ASM object CMakeFiles/CtrBootManager.dir/source/CakeBrah/source/utils.s.obj
[  9%] Building C object CMakeFiles/CtrBootManager.dir/source/config_new.c.obj
[ 11%] Building C object CMakeFiles/CtrBootManager.dir/source/font.c.obj
[ 13%] Building C object CMakeFiles/CtrBootManager.dir/source/font_default.c.obj
[ 15%] Building C object CMakeFiles/CtrBootManager.dir/source/gfx.c.obj
[ 17%] Building C object CMakeFiles/CtrBootManager.dir/source/hb_menu/boot.c.obj
[ 19%] Building CXX object CMakeFiles/CtrBootManager.dir/source/hb_menu/descriptor.cpp.obj
[ 21%] Building C object CMakeFiles/CtrBootManager.dir/source/hb_menu/netloader.c.obj
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/config.h:10:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:15:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/arm9/source/common.h:44:5: error: redeclaration of enumerator 'GFX_TOP'
     GFX_TOP = 0,   ///< Top screen
     ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:22:2: note: previous definition of 'GFX_TOP' was here
  GFX_TOP = 0,   ///< Top screen
  ^
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/config.h:10:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:15:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/arm9/source/common.h:45:5: error: redeclaration of enumerator 'GFX_BOTTOM'
     GFX_BOTTOM = 1 ///< Bottom screen
     ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:23:2: note: previous definition of 'GFX_BOTTOM' was here
  GFX_BOTTOM = 1 ///< Bottom screen
  ^
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/config.h:10:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:15:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/arm9/source/common.h:46:2: error: conflicting types for 'gfxScreen_t'
}gfxScreen_t;
  ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:24:2: note: previous declaration of 'gfxScreen_t' was here
}gfxScreen_t;
  ^
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/config.h:10:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:15:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/arm9/source/common.h:51:5: error: redeclaration of enumerator 'GFX_LEFT'
     GFX_LEFT = 0, ///< Left eye framebuffer
     ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:34:2: note: previous definition of 'GFX_LEFT' was here
  GFX_LEFT = 0, ///< Left eye framebuffer
  ^
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/config.h:10:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:15:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/arm9/source/common.h:52:5: error: redeclaration of enumerator 'GFX_RIGHT'
     GFX_RIGHT = 1,///< Right eye framebuffer
     ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:35:2: note: previous definition of 'GFX_RIGHT' was here
  GFX_RIGHT = 1,///< Right eye framebuffer
  ^
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/config.h:10:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:15:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/arm9/source/common.h:53:2: error: conflicting types for 'gfx3dSide_t'
}gfx3dSide_t;
  ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:36:2: note: previous declaration of 'gfx3dSide_t' was here
}gfx3dSide_t;
  ^
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:17:0:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/gfx.h:7:5: error: conflicting types for 'gfxGetFramebuffer'
u8 *gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16 *width, u16 *height);
     ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:165:5: note: previous declaration of 'gfxGetFramebuffer' was here
u8* gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16* width, u16* height);
     ^
make[2]: *** [CMakeFiles/CtrBootManager.dir/source/hb_menu/netloader.c.obj] Error 1
make[1]: *** [CMakeFiles/CtrBootManager.dir/all] Error 2
make: *** [all] Error 2
 
  • Like
Reactions: Madridi
@cpasjuste can you give any hints as to what this error is referring to?

Code:
[100%] Linking C executable CtrBootManager9
[100%] Built target CtrBootManager9
make[3]: set-section-flags: Command not found
Yeah I'm getting as far as this too with the a9lh version/branch.
The master branch (3dsx) builds fine though. hmm
 
thanks I got portlibs from here - https://github.com/xerpi/3ds_portlibs

--------------------- MERGED ---------------------------

Damn I'm still getting errors
Code:
C:\Users\Rohul\Documents\GitHub\CtrBootManager\build>make
Scanning dependencies of target CtrBootManager
[  1%] Building ASM object CMakeFiles/CtrBootManager.dir/source/CakeBrah/source/arm11.s.obj
[  3%] Building C object CMakeFiles/CtrBootManager.dir/source/CakeBrah/source/brahma.c.obj
[  5%] Building CXX object CMakeFiles/CtrBootManager.dir/source/CakeBrah/source/libkhax/khaxinit.cpp.obj
[  7%] Building ASM object CMakeFiles/CtrBootManager.dir/source/CakeBrah/source/utils.s.obj
[  9%] Building C object CMakeFiles/CtrBootManager.dir/source/config_new.c.obj
[ 11%] Building C object CMakeFiles/CtrBootManager.dir/source/font.c.obj
[ 13%] Building C object CMakeFiles/CtrBootManager.dir/source/font_default.c.obj
[ 15%] Building C object CMakeFiles/CtrBootManager.dir/source/gfx.c.obj
[ 17%] Building C object CMakeFiles/CtrBootManager.dir/source/hb_menu/boot.c.obj
[ 19%] Building CXX object CMakeFiles/CtrBootManager.dir/source/hb_menu/descriptor.cpp.obj
[ 21%] Building C object CMakeFiles/CtrBootManager.dir/source/hb_menu/netloader.c.obj
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/config.h:10:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:15:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/arm9/source/common.h:44:5: error: redeclaration of enumerator 'GFX_TOP'
     GFX_TOP = 0,   ///< Top screen
     ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:22:2: note: previous definition of 'GFX_TOP' was here
  GFX_TOP = 0,   ///< Top screen
  ^
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/config.h:10:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:15:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/arm9/source/common.h:45:5: error: redeclaration of enumerator 'GFX_BOTTOM'
     GFX_BOTTOM = 1 ///< Bottom screen
     ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:23:2: note: previous definition of 'GFX_BOTTOM' was here
  GFX_BOTTOM = 1 ///< Bottom screen
  ^
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/config.h:10:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:15:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/arm9/source/common.h:46:2: error: conflicting types for 'gfxScreen_t'
}gfxScreen_t;
  ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:24:2: note: previous declaration of 'gfxScreen_t' was here
}gfxScreen_t;
  ^
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/config.h:10:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:15:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/arm9/source/common.h:51:5: error: redeclaration of enumerator 'GFX_LEFT'
     GFX_LEFT = 0, ///< Left eye framebuffer
     ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:34:2: note: previous definition of 'GFX_LEFT' was here
  GFX_LEFT = 0, ///< Left eye framebuffer
  ^
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/config.h:10:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:15:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/arm9/source/common.h:52:5: error: redeclaration of enumerator 'GFX_RIGHT'
     GFX_RIGHT = 1,///< Right eye framebuffer
     ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:35:2: note: previous definition of 'GFX_RIGHT' was here
  GFX_RIGHT = 1,///< Right eye framebuffer
  ^
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/config.h:10:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:15:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/arm9/source/common.h:53:2: error: conflicting types for 'gfx3dSide_t'
}gfx3dSide_t;
  ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:36:2: note: previous declaration of 'gfx3dSide_t' was here
}gfx3dSide_t;
  ^
In file included from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:17:0:
c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/gfx.h:7:5: error: conflicting types for 'gfxGetFramebuffer'
u8 *gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16 *width, u16 *height);
     ^
In file included from c:/devkitPro/libctru/include/3ds.h:20:0,
                 from c:/Users/Rohul/Documents/GitHub/CtrBootManager/source/hb_menu/netloader.c:5:
c:/devkitPro/libctru/include/3ds/gfx.h:165:5: note: previous declaration of 'gfxGetFramebuffer' was here
u8* gfxGetFramebuffer(gfxScreen_t screen, gfx3dSide_t side, u16* width, u16* height);
     ^
make[2]: *** [CMakeFiles/CtrBootManager.dir/source/hb_menu/netloader.c.obj] Error 1
make[1]: *** [CMakeFiles/CtrBootManager.dir/all] Error 2
make: *** [all] Error 2
Any idea which library in portlibs has libconfig?
 
lol I love this thread turned into a puzzle. Big props to whoever solves it first :D
Yeah...lol. Last time i had this much of an issue compiling something it was gromacs with GPU support. Ugh.

--------------------- MERGED ---------------------------

Armv64 or something like that
Which of these?
  • freetype (requires zlib)
  • libexif
  • libjpeg-turbo
  • libpng (requires zlib)
  • sqlite
  • zlib
 
  • Like
Reactions: Madridi
Yeah...lol. Last time i had this much of an issue compiling something it was gromacs with GPU support. Ugh.

--------------------- MERGED ---------------------------


Which of these?
  • freetype (requires zlib)
  • libexif
  • libjpeg-turbo
  • libpng (requires zlib)
  • sqlite
  • zlib

I installed all of them
 
  • Like
Reactions: Madridi
You know, i dont use cmake just to fuck you. Its just that I'm in love with cLion IDE under Linux, for me it's so great and pkeasent to develop on it...
I'll make you a makefile for Windows, but for me it's hell to "work" on Windows. This will take me hours for sure but I'll make you a makefile soon. ...But you should really goes the Linux/,Ubuntu way, it's really not hard, probably fastest than setting toolchain on Windows.
 
  • Like
Reactions: Sev501
Ok, I figured out the issue.

For whatever reason cmake isn't inputting the correct executable call for creating the binary file. Lines 56 and 57 of the build.make for the _a9lh target has no executable accepting this input and therefore it gives a make error.

Code:
CMakeFiles/CtrBootManager_a9lh: CtrBootManager9
     --set-section-flags .bss=alloc,load,contents -O binary C:/CtrBootManager-a9lh/build/CtrBootManager9 C:/CtrBootManager-a9lh/build/CtrBootManager9.bin

Correcting the build.make manually to the following allows for the project to build and yield the .bin file:

Code:
CMakeFiles/CtrBootManager_a9lh: CtrBootManager9
    /c/devkitPro/devkitARM/bin/arm-none-eabi-objcopy.exe --set-section-flags .bss=alloc,load,contents -O binary C:/CtrBootManager-a9lh/build/CtrBootManager9 C:/CtrBootManager-a9lh/build/CtrBootManager9.bin

Intrestingly if you do the following it also corrects the error:

Code:
[100%] Linking C executable CtrBootManager9
[100%] Built target CtrBootManager9
Scanning dependencies of target CtrBootManager_a9lh
make[3]: set-section-flags: Command not found
[100%] Built target CtrBootManager_a9lh

C:\CtrBootManager-a9lh\build>cmake -DCMAKE_TOOLCHAIN_FILE=../DevkitArm3DS.cmake
../ -G "MSYS Makefiles"
-- Looking for 3ds tools...
-- setting CTRULIB to C:/devkitPro/libctru/include/..
-- No smdh file will be generated
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_TOOLCHAIN_FILE


-- Build files have been written to: C:/CtrBootManager-a9lh/build

C:\CtrBootManager-a9lh\build>cmake --build . --target CtrBootManager_a9lh
[ 12%] Built target __CtrBootManager9_embed_stage2.bin
[100%] Built target CtrBootManager9
[100%] Built target CtrBootManager_a9lh

C:\CtrBootManager-a9lh\build>
 
Correcting the build.make manually to the following allows for the project to build and yield the .bin file:

Can you post the path for this "build.make" file? It's not in my CtrBootManager/build directory after running:

Code:
cmake -DCMAKE_TOOLCHAIN_FILE=../DevkitArm3DS.cmake ../

I also posted the same error on this github, but he hasn't replied to it. I was able to compile the .bin file 2 days ago, but the recent commits broke everything.
 
Can you post the path for this "build.make" file? It's not in my CtrBootManager/build directory after running:

Code:
cmake -DCMAKE_TOOLCHAIN_FILE=../DevkitArm3DS.cmake ../

I also posted the same error on this github, but he hasn't replied to it. I was able to compile the .bin file 2 days ago, but the recent commits broke everything.

@Shadowtrance

Alright for those of you who run linux, the build.make file should be located @
PATH/TO/CtrBootManager/build/CMakeFiles/CtrBootManager_a9lh.dir/build.make

Thanks, PetitMagique!
 

Site & Scene News

Popular threads in this forum