mupen64plus
mupen64plus copied to clipboard
build.sh cant find mupen64 api headers
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.
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.
+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)
How do I fix this? Like, what do I do?