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

Added missing dependency Harfbuzz to GTK3 #21

Open
wants to merge 31 commits into
base: master
Choose a base branch
from

Conversation

XaviDCR92
Copy link

pcsxr did not build on Kubuntu 20.04 LTS since GTK3 could not find hb.h, which is provided by libharfbuzz-dev. Since GTK3 seems to have this new dependency, the following CMake files must be updated accordingly.

@loathingKernel
Copy link

loathingKernel commented May 20, 2020

Does this supersede #16 ?

It is better than the hacky include directive in #16 for sure, but did #16 not fix the problem for you or you didn't test it?

@XaviDCR92
Copy link
Author

I was not aware of #16 to be honest, I'm sorry. Coincidentally, the solution on #16 was the first thing I came up with until I realized other dependencies were using separate .cmake files, yet fortunately it was easy to set it up for harfbuzz.
OTOH, as you can see I did not include the set(OpenGL_GL_PREFERENCE LEGACY) thing since I could compile pcsxr fine without it, but of course I agree with that change.

@loathingKernel
Copy link

loathingKernel commented May 21, 2020

I think this is a better way to handle the HarfBuzz dependency. I will close the other one and create a separate one for the OpenGL directive after I test it on my machine.

@caiotbc
Copy link

caiotbc commented Jul 8, 2020

I'm still unable to compile due to the hb.h not found error. #16 didn't fix it for me, how can I solve this issue? Ubuntu 20.04 here

@XaviDCR92
Copy link
Author

Hi @caiotbc , have you ensured libharfbuzz-dev is installed on your system?

@caiotbc
Copy link

caiotbc commented Jul 8, 2020

Yes, sudo apt install libharfbuzz-dev says libharfbuzz-dev is already the newest version (2.6.4-1ubuntu4).
What other info about my system is relevant to share?

@XaviDCR92
Copy link
Author

@caiotbc have you ensured 90fb1eb is applied? Take into account it has not been merged into upstream yet, so it is only available from my fork.

@caiotbc
Copy link

caiotbc commented Aug 18, 2020

Hi, thanks for replying. I've tried cloning from your fork, but now cmake fails with Cannot find source file:gdbstub/gdbstub.c and Cannot find source file:dynstr/dynstr.c. What are those files and what can I do to find them?

@XaviDCR92
Copy link
Author

@caiotbc Those are new dependencies needed by the fork. dynstr is used to replace a large static buffer used by debug.c, whereas gdbstub is, well, a modified implementation of a GDB stub that allows source-level debugging. The latter is a rather cool feature that can be useful for those still writing homebrew games for PS1 using modern versions of the GNU toolchain e.g.: PSXSDK or PSn00bSDK. It's only currently available for POSIX-compliant operating systems e.g.: GNU/Linux though - a Windows port is still on the way.

Actually, 90fb1eb does not depend on these submodules, so you can move your HEAD to the commit via git checkout 90fb1eb and go ahead without them. Otherwise, run git submodule update --init --recursive on the project root folder and they should download.

@caiotbc
Copy link

caiotbc commented Aug 19, 2020

@XaviDCR92 Thanks for your help and detailed explanation! I ran git submodule update --init --recursive and it compiled successfully. The emulator is working fine, tested with ace combat 2.

@XaviDCR92
Copy link
Author

@iCatButler , could 90fb1eb be finally merged into upstream?

@d33tah
Copy link

d33tah commented Jan 3, 2021

@XaviDCR92 Hi! Are you still working on this patch? I tried to build it and got the following error:

-- Configuring done
CMake Error at dynstr/CMakeLists.txt:5 (add_library):
  Cannot find source file:

    dynstr/dynstr.c

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx


CMake Error at gdbstub/CMakeLists.txt:5 (add_library):
  Cannot find source file:

    gdbstub/gdbstub.c

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx


CMake Error at dynstr/CMakeLists.txt:5 (add_library):
  No SOURCES given to target: dynstr


CMake Error at gdbstub/CMakeLists.txt:5 (add_library):
  No SOURCES given to target: gdbstub


CMake Generate step failed.  Build files cannot be regenerated correctly.

@XaviDCR92
Copy link
Author

Hi @d33tah , did you run git submodule update --init --recursive after cloning the repository? It should download the external dependencies you are currently missing.

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

Successfully merging this pull request may close these issues.

4 participants