Very old version revival...

You can get help here if Freeciv doesn't start on your computer, or if you keep getting fatal errors while playing etc.
Post Reply
neuschgu
Posts: 2
Joined: Sun Feb 11, 2024 4:56 pm

Very old version revival...

Post by neuschgu »

Hello,
I am a very old Freeciv enthousiastic, and I loved the very old versions (ie : 1.14), which I played for hours. So my challenge is now to compile a fresh "new" 1.12 or 1.14 distribution, but there are problems I can't solve for... years.
Here are the rule :
- Platforms used : CentOS 7.1 or Raspberry Pi 400 or Raspberry Pi zero 2W
- Distribution : Source code Freeciv 1.12.0 or 1.14.x
Main issues : It requires gtk+ version 1.2.5 and NOT gtk2 or gtk3... which requires Glib 1.2.8 and NOT Glib2...
I tried many, many, many workaround, the only which work was install a Solaris 10 on a virtual machine... I tried also to downgrade gcc (gcc-5), but still the same : it doesn't compile.
If anyone has an idea, I would be very grateful. Anyone interested in a old geek challenge :lol: :lol: :lol:
Thanks for your advices.
Guy
toothsome
Posts: 2
Joined: Mon Sep 23, 2024 3:23 am

Re: Very old version revival...

Post by toothsome »

Hey Guy,

Wow, this is a real old-school challenge, and I love the dedication you're showing here! Digging into something like Freeciv 1.12 or 1.14 feels like bringing a piece of history back to life. I can totally see how the GTK+ 1.2.5 and GLib 1.2.8 requirements are a major stumbling block—it’s like trying to fit a square peg into a round hole with today’s systems.

My first thought is to try using a VM or Docker container with an older Linux distro that matches the era of Freeciv 1.14. Something like Debian Woody or Red Hat 7.2 might have all those legacy dependencies baked in already, which could save you from compiling everything manually. Docker especially might give you a clean way to experiment without risking your main setup.

Alternatively, have you tried downloading and compiling the older GTK+ and Glib versions separately? I’ve had some luck with that approach on similar retro projects. The trick is to keep them isolated from the system libraries (like installing them into /opt or using environment variables like LD_LIBRARY_PATH). It can be tedious, but it might just get you over the hump.

I’ve also heard of people having success using emulators like QEMU to recreate an environment from that time. It might be worth a shot if nothing else works.

Big respect for keeping the retro Freeciv magic alive—it’s always awesome to see someone passionate about preserving old games. If you find a solution, I’d love to hear how you cracked it! Good luck! 🙌



Edited by level devil 1 day ago - 12:20AM
meterleek
Posts: 1
Joined: Thu Nov 28, 2024 4:05 pm

Re: Very old version revival...

Post by meterleek »

Hello,

To compile Freeciv versions 1.12 or 1.14 on older platforms, you can follow these steps. First, set up a dedicated build environment using Docker or a chroot environment with an older Linux distribution to isolate the library versions. Next, download the source code for GTK 1.2.5 and GLib 1.2.8 from legacy archives. Then, compile and install these libraries with appropriate prefix paths to avoid conflicts.

After that, modify the Freeciv configuration files if necessary and specify the library paths when configuring Freeciv using the command. If you need to downgrade GCC, consider using a version-specific installation method (like `devtoolset` on CentOS). You may also look for pre-built packages of the old libraries that are compatible with your architecture. Finally, engage with the Freeciv community through forums and mailing lists for support and shared resources. If you’re working on Raspberry Pi devices, ensure the libraries are compiled for ARM architecture.

Good luck with your project!

Edited by moto x3m 2 days ago - 8:15 PM
cazfi
Elite
Posts: 3258
Joined: Tue Jan 29, 2013 6:54 pm

Re: Very old version revival...

Post by cazfi »

I would start by compiling some other client than gtk that requires gtk+ and its dependencies, to at least see that server and other components do build and work.

For glib & gtk+ I used to have some shell scripts to build old library stacks for freeciv in a custom installation prefix, but I'm afraid I don't have those scripts any more. But such a setup might still be doable. Just be prepared to that the list of recursive dependencies and tools you need to build easily grows very big.

Docker or VM approach likely would give results quicker, but have their downsides.
cazfi
Elite
Posts: 3258
Joined: Tue Jan 29, 2013 6:54 pm

Re: Very old version revival...

Post by cazfi »

cazfi wrote: Thu Nov 28, 2024 4:38 pmFor glib & gtk+ I used to have some shell scripts to build old library stacks for freeciv in a custom installation prefix, but I'm afraid I don't have those scripts any more. But such a setup might still be doable. Just be prepared to that the list of recursive dependencies and tools you need to build easily grows very big.
I hacked some test scripts up (on Debian Testing)

Learnings so far:
- Running on a 64bit system might turn out to be an issue; some of those ancient components seem to understand only 32bit OS.
- Modern glibc headers seem to be incompatible with those ancient components, and one needs to be really careful when including old versions of glibc to the mix
cazfi
Elite
Posts: 3258
Joined: Tue Jan 29, 2013 6:54 pm

Re: Very old version revival...

Post by cazfi »

neuschgu wrote: Sun Feb 11, 2024 6:37 pm- Distribution : Source code Freeciv 1.12.0 or 1.14.x
Main issues : It requires gtk+ version 1.2.5 and NOT gtk2 or gtk3
freeciv-1.14.2 DOES have gtk2-client, and it was almost trivial to compile on a modern system. Only hurdle is that one has to set LIBS="-lm" before configure.
cazfi
Elite
Posts: 3258
Joined: Tue Jan 29, 2013 6:54 pm

Re: Very old version revival...

Post by cazfi »

fc1.14.2-gtk2.png
fc1.14.2-gtk2.png (212.01 KiB) Viewed 360 times
Post Reply