mupen64plus icon indicating copy to clipboard operation
mupen64plus copied to clipboard

build.sh cant find mupen64 api headers

Open parkersikand opened this issue 10 years ago • 3 comments

When running build.sh I get to this error after about 20 minutes:

        ...(output omitted)...
    LD  libmupen64plus.so.2.0.0
if [ "libmupen64plus.so.2" != "" ]; then ln -sf libmupen64plus.so.2.0.0 libmupen64plus.so.2; fi
make: Leaving directory `/home/pi/mupen64plus/ricrpi/mupen64plus-core/projects/unix'
************************************ Building ui-console front-end
make: Entering directory `/home/pi/mupen64plus/mupen64plus/mupen64plus-ui-console/projects/unix'
Makefile:159: *** Mupen64Plus API header files not found! Use makefile parameter APIDIR to force a location..  Stop.
make: Leaving directory `/home/pi/mupen64plus/mupen64plus/mupen64plus-ui-console/projects/unix'

I think the source is not being downloaded into the correct folders. In the mupen64plus-rpi repository, each component sits in the same folder, called 'source'. After attempting to run build.sh, I have two folders:

ricrpi/
  |-- mupen64plus-audio-omx/
  |-- mupen64plus-core/
  |-- mupen64plus-rsp-hle/
  |-- mupen64plus-video-gles2n64/
  |-- mupen64plus-video-gles2rice/

and

mupen64plus/
  |-- mupen54plus-audio-sdl
  |-- mupen54plus-input-sdl
  |-- mupen54plus-rom
  |-- mupen54plus-ui-console

The error suggests that the build is currently in the folder /home/pi/mupen64plus/mupen64plus/mupen64plus-ui-console/projects/unix. According to the make file, at this point, it will look for the api header files in a relative location of ../../../mupen64plus-core/src/api. However, given how the files were laid out for me, it will look for mupen64plus-core in /home/pi/mupen64plus/mupen64plus/, but it is not there. It is in /home/pi/mupen64plus/ricrpi/.

This seems like a bug, probably caused by using a relative path somewhere.

parkersikand avatar Feb 12 '15 00:02 parkersikand

I think I possibly found the bug... the error says to "Use makefile parameter APIDIR"... near the beginning of build.sh, the variable APIDIR gets set, but never gets used again. I think you need to change lines 534 and 536 to include APIDIR. I will test this myself and report back.

For the time being, I simply copied the contents of the ricrpi folder into the mupen64plus folder, ran build.sh (again), it built everything, then did sudo ./install.sh, and it installed everything.

parkersikand avatar Feb 12 '15 02:02 parkersikand

+1 verified this issue & workaround.

After this, running "sudo ./install.sh" also fails with many errors about "-m" and "-d" files not found (flags passed to "install")

Inspecting, it seems the top level 'install' script is overriding the systemwide '/usr/bin/install' bin. Updating the makefiles to reflect the full path to this, resolved the issue (the emulator installed, started, etc)

movitto avatar May 03 '17 23:05 movitto

How do I fix this? Like, what do I do?

gingershaped avatar Apr 02 '21 20:04 gingershaped