ngdevkit icon indicating copy to clipboard operation
ngdevkit copied to clipboard

Help me with this error please!

Open NeoGeoFreak2004 opened this issue 4 years ago • 16 comments

Hey, so i am trying to install ngdevkit on ubuntu and i am getting a error that is not letting me install the examples for ngdevkit. It says "No Package ngdevkit Found" or something like that so can you help me please!

NeoGeoFreak2004 avatar Aug 22 '21 18:08 NeoGeoFreak2004

Which Ubuntu version are you using? There are nightly builds available for 20.4 (Focal), 21.04 (Hirsute) and 21.10 (Impish).

dciabrin avatar Aug 22 '21 21:08 dciabrin

I am using Ubuntu 21.04 (Hirsute)

NeoGeoFreak2004 avatar Aug 22 '21 21:08 NeoGeoFreak2004

OK maybe I misunderstood the question. Are you trying to install ngdevkit-examples with a pre-built ngdevkit, or did you build ngdevkit and now the examples won't compile because running ./configure will fail?

dciabrin avatar Aug 23 '21 07:08 dciabrin

im trying to install ngdevkit-examples with a pre-built ngdevkit.

NeoGeoFreak2004 avatar Aug 23 '21 11:08 NeoGeoFreak2004

Could you try to go back to the top directory and configure all the shell variables with:

eval $(make shellinit)

Then go back to examples and try to compile them:

autoreconf -iv
./configure
make

dciabrin avatar Aug 23 '21 11:08 dciabrin

Thank you it worked! also how do i make my own makefile for the c++ compiler on ngdevkit since i installed the devkit on ubuntu and idk how to make my own programs and run them on gngeo?

NeoGeoFreak2004 avatar Aug 23 '21 13:08 NeoGeoFreak2004

Although g++ ships with ngdevkit, I'm not sure the current linkscript links all the necessary segments for the c++ runtime to work. If especially true if you make use of runtime features like exception. That being said, have a look at examples/Makefile.common to see how to change the build command to run g++ instead of gcc.

dciabrin avatar Aug 23 '21 19:08 dciabrin

but here's the thing, where does it say on makefile.common on how to change the build command from gcc to g++?

NeoGeoFreak2004 avatar Aug 23 '21 23:08 NeoGeoFreak2004

So in a nutshell:

examples/Makefile.config contains all the path to the 68k and z80 compilers. you'd need to adapt it to use m68k-neogeo-elf-g++. In this file you'll find the CFLAGS and LDFLAGS to use come from pkg-config. Keep them in your Makefile as they set up the necessary bits to use the proper link script for neo geo ROMs.

examples/Makefile.common is just boilerplate to create things like directories, zip files, file truncation...

If you want to rebuild a simpler Makefile for your ROM, you can see the output of the compilation of example 01-helloworld on your terminal. It's fairly straightforward: one 68k file compiled as an elf, elf transformed into ROM format, and everything zipped into puzzledp.zip.

dciabrin avatar Aug 24 '21 06:08 dciabrin

But here is the problem, like say i have a c++ file and i copy one of the makefile from the example of the helllo world program, but when i run the make gngeo command it does not work so what do i do with this?

NeoGeoFreak2004 avatar Aug 24 '21 13:08 NeoGeoFreak2004

Hmmm, after looking at it, the current version of ngdevkit doesn't ship a C++ compiler, I'm not sure when this one got lost, but that surely was a long time ago, probably when I split ngdevkit-toolchain out of ngdevkit...

Thinking more about it adding back g++ will need some time to validate the compilation and whatnot, as well as making sure that the runtime helpers (libngdevkit) link with c++.

For now this is going to be a longer term feature, your best bet is to stick to C for the time being.

dciabrin avatar Aug 24 '21 16:08 dciabrin

Thanks for the answer!

NeoGeoFreak2004 avatar Aug 24 '21 17:08 NeoGeoFreak2004

Hey, also so when i type in The make command it says this Makefile:22: ../Makefile.common: No such file or directory make: *** No rule to make target '../Makefile.common'. Stop or something, so can you help me please!

NeoGeoFreak2004 avatar Aug 27 '21 16:08 NeoGeoFreak2004

I'm not sure whether you're trying to build in the ./examples subdirectory or if you're trying to build something in a separate directory of your own, the issue description lacks details.

I committed an example of standalone directory in https://github.com/dciabrin/ngdevkit-examples/tree/standalone/00-standalone, it contains all the generic Makefiles needed to build an example from a single directory. You only need two things:

  1. the assets directory from ngdevkit-examples This is to build some character and sprite ROMs

  2. you need to set up ngdevkit in your PATH go in ngdevkit base directory and run:

eval $(make shellinit)

You should now be able to go into the new directory 00-standalone from above and build the example in an isolated way.

dciabrin avatar Aug 27 '21 17:08 dciabrin

I am trying to build something in a separate directory of my own, so how do i make and compile my own c file by using make in a separate directory of my own!

NeoGeoFreak2004 avatar Aug 27 '21 17:08 NeoGeoFreak2004

but then when i do what you say it gives me the same error so can you help me!

NeoGeoFreak2004 avatar Aug 28 '21 00:08 NeoGeoFreak2004