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

Trouble building on Gentoo #98

Open
metafarion opened this issue Feb 19, 2021 · 6 comments
Open

Trouble building on Gentoo #98

metafarion opened this issue Feb 19, 2021 · 6 comments

Comments

@metafarion
Copy link

I'm currently getting stuck on the following when doing make all, and I'm not sure where to investigate. Are there build dependencies I should know about?
Using GCC 9.3.0, glibc 2.32, and kernel 5.9.11

CXX _obj/Blender.o
In file included from ../../src/RenderBase.h:26,
from ../../src/Render.h:30,
from ../../src/Blender.cpp:23:
../../src/Video.h:168:8: error: ‘ptr_ConfigSetParameterHelp’ does not name a type; did you mean ‘ptr_ConfigGetParameterHelp’?
168 | extern ptr_ConfigSetParameterHelp ConfigSetParameterHelp;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| ptr_ConfigGetParameterHelp
../../src/Video.h:192:8: error: ‘ptr_VidExt_ResizeWindow’ does not name a type
192 | extern ptr_VidExt_ResizeWindow CoreVideo_ResizeWindow;
| ^~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:417: _obj/Blender.o] Error 1
CXX _obj/Blender.o
In file included from ../../src/RenderBase.h:26,
from ../../src/Render.h:30,
from ../../src/Blender.cpp:23:
../../src/Video.h:168:8: error: ‘ptr_ConfigSetParameterHelp’ does not name a type; did you mean ‘ptr_ConfigGetParameterHelp’?
168 | extern ptr_ConfigSetParameterHelp ConfigSetParameterHelp;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
| ptr_ConfigGetParameterHelp
../../src/Video.h:192:8: error: ‘ptr_VidExt_ResizeWindow’ does not name a type
192 | extern ptr_VidExt_ResizeWindow CoreVideo_ResizeWindow;
| ^~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:417: _obj/Blender.o] Error 1

@richard42
Copy link
Member

it looks like you're trying to build a newer plugin against an older core or something like that. it's complaining about not finding a function pointer which should be there. can you run the m64p_update.sh script to update all of the modules?

@metafarion
Copy link
Author

Perhaps this betrays my lack of understanding of how this package is built in the first place. I've just downloaded the latest release source from https://github.com/mupen64plus/mupen64plus-video-rice/releases/download/2.5.9/mupen64plus-video-rice-src-2.5.9.tar.gz. Is there more that I need? The INSTALL doc indicates the possibility of installing as part of the "Mupen64Plus source code bundle" or via a "standalone source code release".

@richard42
Copy link
Member

richard42 commented Feb 19, 2021 via email

@metafarion
Copy link
Author

Well, I was able to build the latest sources without issue using the scripts m64p scripts, but does that mean the various components can't be built independently? I ask because it'd be nice to be able to integrate them with the package manager. This requires an fixed release rather than a clone of "the newest code". What exactly is needed to build, for example, mupen64plus-video-rice on its own? Does it depend on code from the core package, or something else?

@richard42
Copy link
Member

They can be built independently, but the plugins rely on API headers from the core module. Gentoo previously had an ebuild for mupen64plus; I would assume that it's still available. I think that ebuild just builds all of the modules together so it avoids that issue. You can look at the makefile in the projects/unix folder of the plugin to see how it searches for the core api header files. It looks in several different places. In general, the version numbers don't have to match perfectly and you can build a plugin against headers for a slightly newer or older version of the core, but I imagine if they are wildly different then there will be problems.

@metafarion
Copy link
Author

metafarion commented Feb 20, 2021

Ok, that's a good place to start. There are Gentoo ebuilds available but when I've tried to emerge them recently, they show many of the same compile errors I saw when trying to build by hand, so I thought I'd investigate. Maybe the individual package ebuilds aren't correctly pulling in the headers from the core.

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

2 participants