Porting Unciv to Haiku

Hi,

It is possible to port unciv to Haiku.

I see that needs android sdk and somethink more.
Perhaps, someone has startet to port needed tools/software?

Regards lorglas

I see almost no chance for this getting ported, the Android SDK dependency is not available for Haiku and it is not trivial to get it running on Haiku.

No it doesn’t.
Unciv runs fine on linux, iirc you need the java opengl stuff for it.

edit: you can try running it with this.
java -jar Unciv.jar

https://github.com/yairm210/Unciv/releases/download/4.2.13/Unciv.jar

2 Likes

Here Building Locally - Unciv it says that you don’t necessarily need Android Studio, take a look at the section “Without Android Studio”. You need JDK11, which is available on Haiku (OpenJDK). So, theoretically it should work.

I’ve played it on Non-Android Linux. So I can confirm that it doesn’t need Android.

Fails with unknown platform: Haiku
I’ll see how hard it is to port libGDX to add Haiku support. It appears to need Ant and Mesa, which we have. We’ll see what else.

what makes you think libgdx is responsible for the error?
in any case, i think i ran unciv on haiku but I am not sure. I can check when I am home unless you got it to run by then : )

I’m running a newer version of Unciv than earlier. LibGDX is the wrapper for the system APIs that is used in 4.3.4 of Unciv and provides the graphics and sound. The reason I think libGDX is responsible for this error is that it was in the stacktrace of the .JAR file.

Edit

Exception in thread "main" java.lang.LinkageError: Unknown platform: Haiku
        at org.lwjgl.system.Platform.<clinit>(Platform.java:91)
        at org.lwjgl.system.Library.<clinit>(Library.java:33)
        at org.lwjgl.system.MemoryUtil.<clinit>(MemoryUtil.java:100)
        at org.lwjgl.system.Pointer$Default.<clinit>(Pointer.java:67)
        at org.lwjgl.system.Callback.<clinit>(Callback.java:40)
        at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.initializeGlfw(Lwjgl3Application.java:84)
        at com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lwjgl3Application.java:138)
        at com.unciv.app.desktop.DesktopLauncher.main(DesktopLauncher.kt:84)

Maybe it’s not GDX but if it isn’t it’s lwjgl3 instead.

1 Like