is freeciv a 32-bit app? will it run on macOS 10.15+?

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
zippydan
Posts: 1
Joined: Sat Mar 28, 2020 3:00 am

is freeciv a 32-bit app? will it run on macOS 10.15+?

Post by zippydan »

1. Is freeciv a 32-bit-only app? Judging by the Windows binary file names that all contain "win32", I assume the answer is "yes"?
2. Will freeciv run on macOS 10.15 and above? macOS Catalina has removed all support for 32bit apps, and assuming that freeciv is 32-bit, then I assume the answer is "no"?
3. Is there any way to compile freeciv as a 64-bit app? If not, is there any plan to "upgrade" freeciv to support 64-bit-only OS?
User avatar
Alien Valkyrie
Elite
Posts: 513
Joined: Sun Feb 10, 2013 10:21 pm
Location: Stuttgart, Germany

Re: is freeciv a 32-bit app? will it run on macOS 10.15+?

Post by Alien Valkyrie »

Currently (i.e. up to Freeciv 2.6, the current stable release), Windows builds are made against msys1, and only 32-bit binaries are available. There are (somewhat experimental) 64-bit Windows binaries occasionally being built and uploaded by cazfi over here (more info in this thread). The plan is that, starting from Freeciv 3.0, all windows builds will be made against msys2, which allows 64-bit builds.

For macOS, I can't offer any personal experience, but you can try the different possibilities described on the Install-MacOSX wiki page; if the installer package and homebrew version are both 32-bit only, I'm afraid you'll have to build it yourself. The Freeciv source code fully supports building 64-bit binaries. For building on mac, you'll want to check out the corresponsing wiki article. Note that it might be a bit outdated in some places, so there'll likely be a bit of trial and error involved. Zekoz also got some things to work; he hasn't been active in a while though.
~ AVL
cazfi
Elite
Posts: 3077
Joined: Tue Jan 29, 2013 6:54 pm

Re: is freeciv a 32-bit app? will it run on macOS 10.15+?

Post by cazfi »

In Windows world, win32 builds work both on 32bit and 64bit OS. Win64 builds work only on 64bit OS. So most projects still release win32 builds to support both 32bit and 64bit OS. Like Caedo said, as of freeciv-2.6 our official Windows build environment only support win32 builds. New Windows build system supporting win64 builds is experimental in freeciv-2.6 and will be the official one in freeciv-3.0.

On Linux side freeciv has been available in 64bit version from, what.... 2006? (that's when I bought my first 64bit PC and fixed the couple of issues with it in freeciv). I'd be surprised to find out that anyone has done 32bit setups in unixy environments (such as OSX) in recent years.
sc0ttj
Posts: 10
Joined: Wed Dec 09, 2020 3:56 pm

Re: is freeciv a 32-bit app? will it run on macOS 10.15+?

Post by sc0ttj »

Jut an FYI to anyone building on Macs:

I was able to get the latest Freeciv to compile in Mac OS Mojave (10.14.6)..

Here's the instructions I saved for myself:

# ON MAC:
#
# (note, change the package ICU and SDL version numbers for
# what you have on your system..)

# Requirements:

icu4c
sdl2
sdl2_image
sdl2_ttf
sdl2_gfx

# Run these commands:

Code: Select all

brew link gettext --force
sudo rm -rf /usr/local/Cellar/harfbuzz/*
brew reinstall --build-from-source icu4c
brew link icu4c --force
brew reinstall sdl2
brew reinstall sdl2_image
brew reinstall sdl2_ttf
brew reinstall sdl2_gfx

pkg-config icu4c
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH /usr/local/opt/icu4c/lib/pkgconfig"
export ICU_VERSION=67.1

ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize

export CFLAGS="$CLFLAGS -I/usr/local/opt/icu4c/include \
                        -I/usr/local/Cellar/sdl2/2.0.12_1/include \
                        -I/usr/local/Cellar/sdl2_image/2.0.5/include \
                        -I/usr/local/Cellar/sdl2_ttf/2.0.15/include \
                        -I/usr/local/Cellar/sdl2_gfx/1.0.4/include"

export LDFLAGS="$LDFLAGS -L/usr/local/opt/icu4c/lib \
                         -L/usr/local/Cellar/sdl2/2.0.12_1/lib \
                         -L/usr/local/Cellar/sdl2_image/2.0.5/lib \
                         -L/usr/local/Cellar/sdl2_ttf/2.0.15/lib \
                         -L/usr/local/Cellar/sdl2_gfx/1.0.4/lib"

LDFLAGS="$LDFLAGS" \
  CPPFLAGS="$CPPFLAGS" \
  CC="gcc -no-cpp-precomp" \
  CFLAGS="$CFLAGS -O3 -I/usr/local/opt/icu4c/include" \
  ICU_FLAGS="-I/usr/local/opt/icu4c/include" \
  ./autogen.sh --disable-nls \
               --enable-client=sdl2 \
               --enable-fcmp=no

make -j3
# then run it:
# (run server as background process, then client)

Code: Select all

./ser &
./civ
# NOTE: once client is running, choose Join Local Network Game
Post Reply