Page 1 of 1

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

Posted: Sat Mar 28, 2020 3:06 am
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?

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

Posted: Sat Mar 28, 2020 8:11 am
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.

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

Posted: Wed Apr 22, 2020 5:36 am
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.

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

Posted: Wed Dec 09, 2020 5:45 pm
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