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

build.sh cant find mupen64 api headers #15

Open
parkersikand opened this issue Feb 12, 2015 · 3 comments
Open

build.sh cant find mupen64 api headers #15

parkersikand opened this issue Feb 12, 2015 · 3 comments

Comments

@parkersikand
Copy link

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
Copy link
Author

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.

@movitto
Copy link

movitto commented May 3, 2017

+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)

@gingershaped
Copy link

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

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

3 participants