Old XTide installation instructions for alternative platforms

Android

Linux environments for Android now include Termux, UserLAnd and GNURoot.  I have not explored these yet, but in 2018-10, Paul Poffenberger reported that XTide built "almost" out of the box using the tools available from Termux.  (Linux software is expected to need patching when it is built for Termux.)

The XTide distribution does not provide a complete native Android app, but the basis for such an app, libxtide, can be built using the NDK.  An example script for cross-compiling libpng, libtcd, libxtide, tide, and xttpd for Android on x86 or x86_64 Linux is in the XTide distribution as scripts/Android/build.sh.  App developers can follow the example of MX Tides to add a JNI layer and GUI.

The tide and xttpd binaries produced by build.sh can be run from a shell prompt on a rooted device.  Pointing a web browser at xttpd on the loopback address (http://127.0.0.1/) is a quick and dirty way to get a GUI.  (Change for XTide 2.15:  Android's xttpd now runs in the terminal instead of forking into the background, but otherwise works normally.)

Cygwin

XTide can be compiled and run using Cygwin, which is an emulated Unix environment for Windows that is free for typical non-commercial users.  The Cygwin distribution and its full license terms are available from http://www.cygwin.com/.

Cygwin packages are all versioned separately, so there is no baseline "Cygwin version" against which to test XTide.  Testing was most recently performed with XTide 2.15 using the collection of packages that was current as of 2016-01-23.  As of then, the quirks apparent after brief testing were as follows:

  1. Had to specify LDFLAGS="-L/usr/local/lib" explicitly.
  2. If only building certain of the programs, you must type (e.g.) 'make tide.exe' instead of 'make tide'.  'make tide' causes the automake-generated makefile to do something silly.

Windows + Visual Studio

[A prebuilt Windows binary for the command-line client is available in https://flaterco.com/xtide/files.html#contrib.  It still runs in a DOS box, but is compatible with 64-bit Windows.]

When built with Visual Studio, XTide has to use an undesirable workaround for the absence of the Time Zone Database, and the resulting binary might not run on a different version of Windows.  On 32-bit Windows, the DOS+DJGPP build is simply better.  On 32- or 64-bit Windows, best results are obtained using Cygwin or a Linux VM.

The following instructions were last validated on 2016-01-25 with XTide 2.15 and Visual Studio Community 2015 with Update 1 under Windows 10 64-bit.

For Windows and Visual Studio, a script that builds zlib, libpng, libtcd, libxtide, and finally tide is available in the XTide distribution as scripts\VS\build.bat.

  1. Do [Windows Logo Thingy Formerly Known as Start Menu] → All Apps → Visual Studio 2015 (folder) → VS2015 x64 Native Tools Command Prompt.  To prevent inexplicable file system permissions problems, right click it and run as Administrator.  (Ha ha... That was a little Windows in-joke.  Now that we have UAC, the only way to prevent inexplicable file system permissions problems is to use a FAT32 file system.)
  2. Unpack the zlib, libpng, libtcd, and XTide distributions under the current working directory.
  3. Copy xtide...\scripts\VS\build.bat to the working directory and edit it so that the version numbers specified at the top agree with what you have.
  4. build

As configured, the following behaviors will differ from the default Unix behaviors:

For example, you could put the following in an xtide.conf file in the current working directory:

C:\Documents and Settings\Mumble\Foo\harmonics-free.tcd;C:\Documents and Settings\Mumble\Foo\harmonics-nonfree.tcd