Skip to content

Added missing dependency Harfbuzz to GTK3 - #21

Closed
ghost wants to merge 31 commits into
masterfrom
unknown repository
Closed

Added missing dependency Harfbuzz to GTK3#21
ghost wants to merge 31 commits into
masterfrom
unknown repository

Conversation

@ghost

@ghost ghost commented May 20, 2020

Copy link
Copy Markdown

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

loathingKernel commented May 20, 2020

Copy link
Copy Markdown

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?

@ghost

ghost commented May 21, 2020

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

loathingKernel commented May 21, 2020

Copy link
Copy Markdown

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

caiotbc commented Jul 8, 2020

Copy link
Copy Markdown

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

@ghost

ghost commented Jul 8, 2020

Copy link
Copy Markdown
Author

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

@caiotbc

caiotbc commented Jul 8, 2020

Copy link
Copy Markdown

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?

@ghost

ghost commented Aug 18, 2020

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

caiotbc commented Aug 18, 2020

Copy link
Copy Markdown

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?

@ghost

ghost commented Aug 18, 2020

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

caiotbc commented Aug 19, 2020

Copy link
Copy Markdown

@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.

@ghost

ghost commented Aug 19, 2020

Copy link
Copy Markdown
Author

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

@d33tah

d33tah commented Jan 3, 2021

Copy link
Copy Markdown

@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.

@ghost

ghost commented Jan 3, 2021

Copy link
Copy Markdown
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.

@ghost ghost closed this by deleting the head repository Mar 26, 2026
This pull request was closed.
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.

3 participants