URI:
       Directory listing for: someodd/opensource/gophervr
   DIR Parent directory (..)
       
  TEXT README.txt (4.1KB, 2026-05-14):
       gophervr on modern Linux
       ========================
       
       Cameron Kaiser's 2015 Motif port of UMN's 1995 GopherVR — a 3D
       "walk around gopherspace" client — has bitrotted on modern gcc.
       This bundle includes one small patch + a build script so anyone
       on a current Debian/Ubuntu can have it running in about 5 minutes.
       
       Tested on:  Debian forky/sid, gcc 15.2, libmotif-dev 2.3.8, May 2026
       Should work on: any glibc Linux with X11 + Motif + gcc 12+
       
       Files in this directory
       -----------------------
         README.txt                  this file
         gophervr-modern-gcc.patch   the diff (~50 lines, two files touched)
         gophervr-modern-build.zip   one-shot bundle: README + patch + build.sh
       
       
       The lazy way: one-shot install
       ------------------------------
         curl -O <this directory>/gophervr-modern-build.zip
         unzip gophervr-modern-build.zip
         cd gophervr-modern-build
         ./build.sh                  # installs apt deps, builds in ~/src/gophervr
         cd ~/src/gophervr/gophervr/gophervr && ./gophervr
       
       build.sh will sudo-apt-install the deps it needs. Read it first if
       you don't trust strangers' shell scripts (you shouldn't).
       
       
       The hand-rolled way
       -------------------
       1. Install build dependencies (Debian/Ubuntu):
       
            sudo apt-get install -y \
              build-essential libmotif-dev xutils-dev \
              libxt-dev libxmu-dev libasound2-dev unzip curl
       
       2. Fetch the source from Floodgap (it's a .zip mislabelled .tar.gz):
       
            curl -o gophervr-src.zip \
              "gopher://gopher.floodgap.com/9/gophervr/gophervr-src.tar.gz"
            unzip gophervr-src.zip
            rm -rf __MACOSX
            find gophervr -name .DS_Store -delete
       
       3. Apply the patch:
       
            patch -p1 < gophervr-modern-gcc.patch
       
       4. Build:
       
            cd gophervr
            make linux
       
       5. Run (needs X11; doesn't work under Wayland-only sessions
          without XWayland):
       
            cd gophervr           # yes, gophervr/gophervr — nested
            DISPLAY=:0 ./gophervr
       
          Try gopher.floodgap.com from the File menu. Hit F1 for the help
          topics.
       
       
       What the patch actually does
       ----------------------------
       Two files, one root cause. gcc 14+ changed the default C standard
       to gnu23, where `f()` in a declaration finally means `f(void)`
       instead of "unspecified args (K&R)". 1995 C code is full of
       empty-parens prototypes that the linker is expected to reconcile
       later. gcc 14 also promoted several long-standing warnings into
       errors (implicit declarations, int<->pointer conversions, mismatched
       pointer types).
       
       The fix is to tell gcc to behave like it's 2014 again:
       
         -std=gnu89
         -Wno-error=implicit-function-declaration
         -Wno-error=int-conversion
         -Wno-error=incompatible-pointer-types
         -fcommon
       
       The patch threads these flags into:
       
         - gophervr/Makefile         (top-level `linux:` target — passes
                                      them to libgopher's ./configure and
                                      libtracker's make)
         - gophervr/gophervr/Imakefile.linux  (the main binary's CFLAGS)
       
       libvogl needs no changes; it was written carefully enough that
       its own prototypes survive gcc 15 untouched.
       
       
       Credits
       -------
         Mark McCahill et al.   original UMN GopherVR (1995, ~0.2 alpha)
         Paul Lindner            Motif port + Unix gopher client base
         Cameron Kaiser          2010s revival, OS X launcher, Floodgap
                                 maintenance (this is from his 0.5.1 of
                                 24 October 2015)
         regarding_someodd       modern-gcc build patch + this bundle (2026)
       
       Original source remains GPL. So is this patch. Floodgap canonical:
       
         gopher://gopher.floodgap.com/1/gophervr
       
       
       Troubleshooting
       ---------------
       * "xmkmf: command not found" — apt-get install xutils-dev
       * "Xm/Xm.h: No such file" — apt-get install libmotif-dev
       * "configure: error: ..." in gopher/ — try `cd gopher; make clean;
         rm -f config.status config.cache` then rerun `make linux` from
         the top
       * Window opens but is all black / no text — Hershey fonts can't
         load; either symlink the font file:
           sudo mkdir -p /usr/local/lib/hershey
           sudo cp gophervr/gophervr/futura.hfont /usr/local/lib/hershey/
         or just run from gophervr/gophervr/ where futura.hfont sits
         alongside the binary
       * `tempnam` linker warning — cosmetic, ignore
       
   BIN gophervr-modern-build.zip                    4.5KB  2026-05-14
   BIN gophervr-modern-gcc.patch                    1.8KB  2026-05-14