Tatsh / tatsh-overlay

Personal Gentoo Portage overlay.
https://tatsh.github.io/tatsh-overlay/
GNU General Public License v2.0
35 stars 10 forks source link

CEMU ebuild not working with wxGTK 3.2.1 or stefantalpalaru 3.2.2.1-r300 #178

Closed kzdixon closed 1 year ago

kzdixon commented 1 year ago

Original post: https://github.com/cemu-project/Cemu/issues/107#issuecomment-1433715494 Moving here for relevancy as requested. Attempting to emerge cemu:

[ebuild  N     ] games-emulation/cemu-2.0_p20230208::tatsh-overlay  USE="cubeb sdl vulkan -discord" 0 KiB

results in:

-- Could NOT find wxWidgets (missing: wxWidgets_DIR)
^[[31mCMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES) (Required is at
  least version "3.2")
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake/Modules/FindwxWidgets.cmake:977 (find_package_handle_standard_args)
  cmake/FindwxWidgets.cmake:17 (find_package)
  CMakeLists.txt:143 (find_package)

^[[0m
-- Configuring incomplete, errors occurred!
$ eselect wxwidgets show
Current wxWidgets profile:
  gtk3-unicode-3.2-gtk3
$ eqy wxGTK
Keywords for x11-libs/wxGTK:
                |                               |   u                |
                | a   a     p s     l r   a     |   n                |
                | m   r h   p p   i o i s l m m | e u s              | r
                | d a m p p c a x a o s 3 p 6 i | a s l              | e
                | 6 r 6 p p 6 r 8 6 n c 9 h 8 p | p e o              | p
                | 4 m 4 a c 4 c 6 4 g v 0 a k s | i d t              | o
----------------+-------------------------------+--------------------+----------------
     3.0.4-r5   | + + + ~ + + + + ~ o ~ o ~ o ~ | 8 o 3.0            | gentoo
----------------+-------------------------------+--------------------+----------------
[I]3.0.5.1-r1   | + + + ~ + + + + ~ ~ ~ o ~ o ~ | 7 o 3.0-gtk3       | gentoo
----------------+-------------------------------+--------------------+----------------
     3.2.1      | ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ o ~ o ~ | 8 o 3.2-gtk3       | gentoo
----------------+-------------------------------+--------------------+----------------
[I]3.2.2.1-r300 | ~ ~ ~ ~ ~ ~ ~ ~ ~ o ~ o ~ o ~ | 8 o 3.2-gtk3/3.2.2 | stefantalpalaru

Neither the suggested overlay's wxGTK nor 3.2.1 in the gentoo repository seem to satisfy the ebuild's search.

Tatsh commented 1 year ago

You do not have to change the selected wxwidgets to get this to merge. I do not know if it will be detrimental to keep on 3.2 so I leave it to 3.0. Only Cemu needs 3.2 but eselect does not help to make it find it.

Does the file /usr/lib64/wx/config/gtk3-unicode-3.2-gtk3 exist on your machine? Is it executable?

Also, please attach the full log.

Tatsh commented 1 year ago

What it should look like:

 $ ls -la /usr/lib64/wx/config/gtk3-unicode-3.2-gtk3
-rwxr-xr-x 1 root root 49106 Feb 11 22:46 /usr/lib64/wx/config/gtk3-unicode-3.2-gtk3
kzdixon commented 1 year ago
$ ls -la /usr/lib64/wx/config/gtk3-unicode-3.2-gtk3
-rwxr-xr-x 1 root root 48823 Feb 16 23:39 /usr/lib64/wx/config/gtk3-unicode-3.2-gtk3

build.log

Tatsh commented 1 year ago

Try the following commands and attach the logs:

cmake --debug-find-pkg=wxWidgets --find-package -DNAME=wxWidgets 3.2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST > cmake-debug.log
cmake --debug-find-pkg=wxWidgets --find-package -DNAME=wxWidgets -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST > cmake-debug-no-version.log
kzdixon commented 1 year ago

Try the following commands and attach the logs:

cmake --debug-find-pkg=wxWidgets --find-package -DNAME=wxWidgets 3.2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST > cmake-debug.log
cmake --debug-find-pkg=wxWidgets --find-package -DNAME=wxWidgets -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST > cmake-debug-no-version.log

cmake-debug.log cmake-debug-no-version.log

Tatsh commented 1 year ago

Are you using wxGTK from Gentoo or stefan? If the latter, switch to the Gentoo one as the overlay is no longer needed.

kzdixon commented 1 year ago

I get the same behavior on both; had originally tried the gentoo one and then tried the other one when it was initially suggested. gentoo's wxGTK is installed currently.

Tatsh commented 1 year ago

Need to re-run those commands and attach output, this time saving stderr.

cmake --debug-find-pkg=wxWidgets --find-package -DNAME=wxWidgets 3.2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST > cmake-debug.log 2>&1
cmake --debug-find-pkg=wxWidgets --find-package -DNAME=wxWidgets -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST > cmake-debug-no-version.log 2>&1
kzdixon commented 1 year ago

Need to re-run those commands and attach output, this time saving stderr.

cmake --debug-find-pkg=wxWidgets --find-package -DNAME=wxWidgets 3.2 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST > cmake-debug.log 2>&1
cmake --debug-find-pkg=wxWidgets --find-package -DNAME=wxWidgets -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST > cmake-debug-no-version.log 2>&1

cmake-debug.log cmake-debug-no-version.log

Tatsh commented 1 year ago

Need you to do something a little more complicated:

  1. cd /var/db/repos/tatsh/games-emulation/cemu (or where it is)
  2. edit the ebuild so it has the same debug argument passed to CMake:
diff --git a/games-emulation/cemu/cemu-2.0_p20230218.ebuild b/games-emulation/cemu/cemu-2.0_p20230218.ebuild
index 352573e..92c5701 100644
--- a/games-emulation/cemu/cemu-2.0_p20230218.ebuild
+++ b/games-emulation/cemu/cemu-2.0_p20230218.ebuild
@@ -66,6 +66,7 @@ src_configure() {
                -DPORTABLE=OFF
                -DwxWidgets_CONFIG_EXECUTABLE=/usr/$(get_libdir)/wx/config/gtk3-unicode-3.2-gtk3
                -Wno-dev
+               --debug-find-pkg=wxWidgets
        )
        cmake_src_configure
 }
  1. Run ebuild cemu-2.0_p20230218.ebuild manifest clean configure
  2. Post the build log.
  3. git checkout . to reset the repository.
kzdixon commented 1 year ago

Sorry for the delay, nearly forgot to do this when I had time. build.log

Tatsh commented 1 year ago

Run eselect wxwidgets set gtk3-unicode-3.2-gtk3 and post the log again.

kzdixon commented 1 year ago

Run eselect wxwidgets set gtk3-unicode-3.2-gtk3 and post the log again.

build.log

Tatsh commented 1 year ago

I do not know what to do next here. You have a fairly customised setup and I think something in the environment is incorrect but it would be pointless to take more stabs at it I think. I cannot reproduce this issue and I have 2 systems detecting wxWidgets 3.2 (Gentoo's ebuild) without an issue.

You should grab the Cemu source and try building without Portage and see what the results are.

ghost commented 1 year ago

I'm not sure if this is the same issue as his one, but it seems at least similar : https://gist.github.com/520fa64ffb4f13afd097c9f860a7c904 My wxGTK version is : x11-libs/wxGTK-3.2.2.1-r300:3.2-gtk3/3.2.2::stefantalpalaru

I'm not sure why I'm using this wxGTK version instead of the one in ::gentoo. It seems to me it is also causing issue with other packages.

ghost commented 1 year ago

I finally replaced x11-libs/wxGTK-3.2.2.1-r300::stefantalpalaru by x11-libs/wxGTK-3.2.2.1::gentoo. It fixed sci-eletronics/kicad-7.0.0-r1::gentoo but not games-emulator/cemu::tatsh-overlay.

Here's my current build failure logs : https://gist.github.com/fbd60cf13cea3b1760c692c48c537709

Tatsh commented 1 year ago

I finally replaced x11-libs/wxGTK-3.2.2.1-r300::stefantalpalaru by x11-libs/wxGTK-3.2.2.1::gentoo. It fixed sci-eletronics/kicad-7.0.0-r1::gentoo but not games-emulator/cemu::tatsh-overlay.

Here's my current build failure logs : https://gist.github.com/fbd60cf13cea3b1760c692c48c537709

No this is not the same problem. Your wxWidgets 3.2 is getting found and you are getting past the configure phase. The issue you have is being resolved shortly.

Tatsh commented 1 year ago

@kzdixon I think I may have found the issue. Please update and try building again. Make sure you see the line x11-libs/wxGTK:3.2-gtk3[opengl] in the ebuild.

You can check with qgrep 'x11-libs/wxGTK:3.2-gtk3[opengl]' cemu.

ghost commented 1 year ago

@Tatsh ok I see. Thanks a lot.

kzdixon commented 1 year ago

@kzdixon I think I may have found the issue. Please update and try building again. Make sure you see the line x11-libs/wxGTK:3.2-gtk3[opengl] in the ebuild.

You can check with qgrep 'x11-libs/wxGTK:3.2-gtk3[opengl]' cemu.

Yep, that did it.

Tatsh commented 1 year ago

Thanks for the report.