Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unclear how to compile and get the .nds #148

Open
speck1234 opened this issue Mar 17, 2024 · 14 comments
Open

Unclear how to compile and get the .nds #148

speck1234 opened this issue Mar 17, 2024 · 14 comments

Comments

@speck1234
Copy link

Instuctions on TwilightMenu++ page tell you to compile GBARunner3 and get the resulting .nds but there is no makefile and ZERO documentation on how to compile and what are the steps to do it

@VeaNika
Copy link
Contributor

VeaNika commented Mar 17, 2024

From the Discord server pinned messages:

How to compile GBARunner3:

  • Install the latest version of DevKitPRO from their official repo: https://github.com/devkitPro/installer/releases
  • Clone GBARunner3 repo with submodules in your workspace:
    git clone --recursive https://github.com/Gericom/GBARunner3.git
  • Run make inside the /code folder, you should get GBARunner3.nds inside /code/bootstrap.
    NOTE: Currently only Windows is able to compile, Linux/macOS users may get a fix in the future.

To run it, you need:

  • TwilightMenu++ 26.1.1 or higher already installed in your SD card/flashcard.
  • Move your previously compiled GBARunner3.nds inside /_nds/TWiLightMenu/emulators folder in your SD card.
  • Get (on your own) retail GBA bios, rename it as bios.bin and put it inside the /_gba folder in your SD card.
  • Get the configs folder from the repository you cloned, copy it inside of the /_gba folder, it should be /_gba/configs.
  • Write GBARUNNER3_TEST = 1 text line under the [SRLOADER] section in /_nds/TWiLightMenu/settings.ini
  • If you're using a flashcard, compatibility has been fixed, so will be able to run this as well.

You can check the current status on the compatibility list here (contributors are welcome):
https://docs.google.com/spreadsheets/d/1PTf9kW7L3MTIUU5WXvOnvSLTmgNG4K-CzDNe2U8Rd6Y/edit?usp=sharing

@speck1234
Copy link
Author

speck1234 commented Mar 17, 2024

All was going well until the last part. The errors:

C:/devkitPro/devkitARM/arm-none-eabi/include/regex.h:99:45: error: expected primary-expression befor
e '__restrict'
99 | size_t, regmatch_t [__restrict], int);
| ^~~~~~~~~~
C:/devkitPro/devkitARM/arm-none-eabi/include/regex.h:99:45: error: expected ']' before '__restrict'
99 | size_t, regmatch_t [__restrict], int);
| ^~~~~~~~~~
| ]
C:/devkitPro/devkitARM/arm-none-eabi/include/regex.h:99:45: error: expected ')' before '__restrict'
99 | size_t, regmatch_t [__restrict], int);
| ^~~~~~~~~~
| )
C:/devkitPro/devkitARM/arm-none-eabi/include/regex.h:98:16: note: to match this '('
98 | int regexec(const regex_t __restrict, const char __restrict,
| ^
C:/devkitPro/devkitARM/arm-none-eabi/include/regex.h:99:55: error: expected initializer before ']' t
oken
99 | size_t, regmatch_t [__restrict], int);
| ^
C:/Users/jorda/GBARunner3/code/test/arm9/source/main.cpp: In function 'void testMain(int, char
)':
C:/Users/jorda/GBARunner3/code/test/arm9/source/main.cpp:43:18: warning: ignoring return value of 'i
nt RUN_ALL_TESTS()' declared with attribute 'warn_unused_result' [-Wunused-result]
43 | RUN_ALL_TESTS();
| ~~~~~~~~~~~~~^~
make[3]: *** [/opt/devkitpro/devkitARM/base_rules:34: main.o] Error 1
make[2]: *** [Makefile:129: build] Error 2
make[2]: Leaving directory '/home/jorda/GBARunner3/code/test/arm9'
make[1]: *** [Makefile:35: checkarm9] Error 2
make[1]: Leaving directory '/home/jorda/GBARunner3/code/test'
make: *** [Makefile:30: checktest] Error 2

I continued to move on despite the errors. I followed the directions and went to start a GBA ROM and it worked.

@speck1234
Copy link
Author

Matter of fact, games run a lot better than before. I like it but it would have been easier to release a .nds for those that don't have any experience with a command line.

@thanone2
Copy link

thanone2 commented May 27, 2024

hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
684 | memset(dst, val, cnt);
| ^~~~~~
can anyone help?
or @speck1234 could you send your nds file?

@reminon
Copy link

reminon commented Jun 2, 2024

hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?

Add "#include <string.h>" without quotes to the includes section in GBARunner3\code\core\arm9\source\Fat\ff.c

@Dartz150
Copy link
Contributor

Dartz150 commented Jun 3, 2024

hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?

Is this only appearing as a warning? If so you can just ignore it for now and let the compiler to continue.

@thanone2
Copy link

thanone2 commented Jun 3, 2024

hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?

Is this only appearing as a warning? If so you can just ignore it for now and let the compiler to continue.

No, i couldn't skip it. It just had the option to close the terminal

@Dartz150
Copy link
Contributor

Dartz150 commented Jun 3, 2024

hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?

Is this only appearing as a warning? If so you can just ignore it for now and let the compiler to continue.

No, i couldn't skip it. It just had the option to close the terminal

Did you install the latest DKP version? on what platform are you trying to build GBARunner3?

@thanone2
Copy link

thanone2 commented Jun 3, 2024

hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?

Is this only appearing as a warning? If so you can just ignore it for now and let the compiler to continue.

No, i couldn't skip it. It just had the option to close the terminal

Did you install the latest DKP version? on what platform are you trying to build GBARunner3?

Dpk? Windows 11.

@DonBrant
Copy link

DonBrant commented Jun 3, 2024

hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?

Add "#include <string.h>" without quotes to the includes section in GBARunner3\code\core\arm9\source\Fat\ff.c

This was the fix for me for this same issue. Thanks!

@Dartz150
Copy link
Contributor

Dartz150 commented Jun 4, 2024

hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?

Is this only appearing as a warning? If so you can just ignore it for now and let the compiler to continue.

No, i couldn't skip it. It just had the option to close the terminal

Did you install the latest DKP version? on what platform are you trying to build GBARunner3?

Dpk? Windows 11.

DevKitPro. Just tested on my side and I'm able to fully compile without any issues though.

@thanone2
Copy link

thanone2 commented Jun 4, 2024

hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?

Is this only appearing as a warning? If so you can just ignore it for now and let the compiler to continue.

No, i couldn't skip it. It just had the option to close the terminal

Did you install the latest DKP version? on what platform are you trying to build GBARunner3?

Dpk? Windows 11.

DevKitPro. Just tested on my side and I'm able to fully compile without any issues though.

Oh, ok i had that installed (i had given up yesterday)

@DanP02
Copy link

DanP02 commented Nov 24, 2024

Hi. When I try to compile the code with devKitPro, the compiler send to me this:

C:/Users/polan/GBARunner3/code/libs/libtwl/common/source/rtos/rtosIrq.c:43:5: error: implicit declaration of function 'setVectorBase' [-Wimplicit-function-declaration]
43 | setVectorBase(0);
| ^~~~~~~~~~~~~
make[3]: *** [/opt/devkitpro/devkitARM/base_rules:40: rtosIrq.o] Error 1
make[2]: *** [Makefile:109: build] Error 2
make[2]: Leaving directory '/c/Users/polan/GBARunner3/code/libs/libtwl/libtwl9'
make[1]: *** [Makefile:22: check9] Error 2
make[1]: Leaving directory '/c/Users/polan/GBARunner3/code/libs/libtwl'
make: *** [Makefile:24: checklibtwl] Error 2

Anyone can help me with it? Thanks

@Dartz150
Copy link
Contributor

Dartz150 commented Nov 28, 2024

Hi. When I try to compile the code with devKitPro, the compiler send to me this:

C:/Users/polan/GBARunner3/code/libs/libtwl/common/source/rtos/rtosIrq.c:43:5: error: implicit declaration of function 'setVectorBase' [-Wimplicit-function-declaration] 43 | setVectorBase(0); | ^~~~~~~~~~~~~ make[3]: *** [/opt/devkitpro/devkitARM/base_rules:40: rtosIrq.o] Error 1 make[2]: *** [Makefile:109: build] Error 2 make[2]: Leaving directory '/c/Users/polan/GBARunner3/code/libs/libtwl/libtwl9' make[1]: *** [Makefile:22: check9] Error 2 make[1]: Leaving directory '/c/Users/polan/GBARunner3/code/libs/libtwl' make: *** [Makefile:24: checklibtwl] Error 2

Anyone can help me with it? Thanks

Are you using libnds 2.0? IF that's the case, then you won't be able to compile it for now, since the new DevKitPro update and the addition of the new Calico library is currently incompatible with this project. This will be fixed later by migrating GBARunner3 to completely use libtwl and Wonderful Toolchain, so for now you need to use a previous 2.0 DevKitPro package to compile it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants