Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
Golgotha on Linux?
gbudny Nov 9, 2023
Hi

Do you think that Golgotha can be built on Linux?

https://github.com/pgrawehr/golgotha
Grogan Nov 10, 2023
Probably not as such, it would have to be fixed up. It likely hasn't compiled on *nix for some time. The last updates were to make it compile with the MS Visual Studio 2022 toolchain, last year.

There's a Makefile.in template from.... 20 years ago :-)

P.S. It would need more than just project files fixed up... our APIs have changed a lot since.

Last edited by Grogan on 10 November 2023 at 7:35 am UTC
Grogan Nov 10, 2023
Actually, I was able to easily generate a configure script and Makefile with "autoreconf -vif". Some of it compiles, but it fails. I can get past the first failure passing -fpermissive, but after that it fails for real further on in the build.

obj3d.h: At global scope:
obj3d.h:67:44: warning: conversion from ‘g1_quad_class::<unnamed enum>’ to ‘w8’ {aka ‘unsigned char’} changes value from ‘g1_quad_class::ON’ to ‘255’ [-Woverflow]
   67 |         void set_flags(w8 mask, w8 value = ON)
      |                                            ^~
map.h:216:27: error: ‘g1_object_controller_class’ has not been declared
  216 |         void calc_map_lod(g1_object_controller_class *);
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:360: linux-gnu_release/editor__critical_graph.o] Error 1


I got past those by declaring g1_object_controller_class (I took it from controller.h) in a few headers but then ran into more failures further in, unrelated to that. Sorry, I tried, but it's non-trivial.

Not as dire as I thought at first glance, anyway. At least the build will set up to the point that someone can take a look at it, if they want to fix it. (some code is going to have to be written differently)

Last edited by Grogan on 10 November 2023 at 8:25 am UTC
gbudny Nov 10, 2023
Quoting: GroganActually, I was able to easily generate a configure script and Makefile with "autoreconf -vif". Some of it compiles, but it fails. I can get past the first failure passing -fpermissive, but after that it fails for real further on in the build.

obj3d.h: At global scope:
obj3d.h:67:44: warning: conversion from ‘g1_quad_class::<unnamed enum>’ to ‘w8’ {aka ‘unsigned char’} changes value from ‘g1_quad_class::ON’ to ‘255’ [-Woverflow]
   67 |         void set_flags(w8 mask, w8 value = ON)
      |                                            ^~
map.h:216:27: error: ‘g1_object_controller_class’ has not been declared
  216 |         void calc_map_lod(g1_object_controller_class *);
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~
make: *** [Makefile:360: linux-gnu_release/editor__critical_graph.o] Error 1


I got past those by declaring g1_object_controller_class (I took it from controller.h) in a few headers but then ran into more failures further in, unrelated to that. Sorry, I tried, but it's non-trivial.

Thank you.

Can you add it as the pull request to this project?
Grogan Nov 10, 2023
Well no, that would only be appropriate if I'd have fixed it. The problems are too extensive for my knowledge, sorry.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.