Build Recipe for XEphem

From Jay's Cafe' Wiki

dpkg --add-architecture i386
apt update
apt install build-essential git libxext-dev x11proto-xext-dev libxau-dev x11proto-print-dev xutils-dev libtool libtool-bin gfortran-multilib libmotif-dev libx11-dev libxmu-dev libxt-dev x11proto-print-dev libxm4:i386 libuil4:i386 libmrm4:i386 libxm4 libuil4 libmrm4 libmotif-common libmotif-dev libxmu-dev autoconf tcsh libssl-dev -y

For 20.04 LTS

wget https://launchpad.net/~zeehio/+archive/ubuntu/libxp/+build/19192661/+files/x11proto-print-dev_1.0.5-2ubuntu1~20.04_all.deb
dpkg -i x11proto-print-dev_1.0.5-2ubuntu1~20.04_all.deb
apt install -f
apt install build-essential git libxext-dev x11proto-xext-dev libxau-dev xutils-dev libtool libtool-bin gfortran-multilib libmotif-dev libx11-dev libxmu-dev libxt-dev x11proto-print-dev libxm4 libuil4 libmrm4 libmotif-common libmotif-dev libxmu-dev autoconf tcsh libssl-dev libxm4  -y

git clone git://anongit.freedesktop.org/git/xorg/lib/libXp
cd libXp
./autogen.sh
./configure
make
sudo make install
sudo ln -s /usr/local/lib/libXp.so.6.2.0 /usr/lib/libXp.so.6.2.0
sudo ln -s /usr/local/lib/libXp.so.6 /usr/lib/libXp.so.6 


18.04 LTS and before

apt install build-essential git libxext-dev x11proto-xext-dev libxau-dev xutils-dev libtool libtool-bin gfortran-multilib libmotif-dev libx11-dev libxmu-dev libxt-dev x11proto-print-dev libxm4 libuil4 libmrm4 libmotif-common libmotif-dev libxmu-dev autoconf tcsh libssl-dev libxm4 libuil libmrm -y

git clone git://anongit.freedesktop.org/git/xorg/lib/libXp
cd libXp
./autogen.sh
./configure
make
sudo make install
sudo ln -s /usr/local/lib/libXp.so.6.2.0 /usr/lib/libXp.so.6.2.0
sudo ln -s /usr/local/lib/libXp.so.6 /usr/lib/libXp.so.6

  1. ln -s /usr/share/aclocal /usr/local/share/aclocal #not needed

Extract XEphem CDs/Archives

download patches
patches listed at http://www.clearskyinstitute.com/xephem/contrib/contrib.html

  • Open SSL patch from Lutz Mändle < lmaendle at gmx dot net > available here. This is a new version dated Jan 2018 and replaces the previous one from Oct 2016. Many thanks for Lutz continued interest in XEphem.
  • Here is another patch from Mr. Mändel dated 2018 September. This one fixes the weather map in the Earth view which also now requires https.
  • Here is another patch is another patch from Mr. Mändel dated 020 September. This one makes the refraction algorithm more robust when handed an indeterminate altitude.

See https://groups.io/g/xephem/message/3561 patch -p0 < {path to patch} "make" xephem follow install instructions from INSTALL


How to install XEphem Version 3.7.7, either for just yourself or system-wide:

1) Build the executable:

    Explode xephem-3.7.7.tar.gz and change to the build directory:

	$ tar xfz xephem-3.7.7.tar.gz
	$ cd xephem-3.7.7/GUI/xephem

    On Intel x86_32 linux just do this:

	$ make MOTIF=../../libXm/linux86

    On Mac OS X just do this:

	$ make MOTIF=../../libXm/osx

    On OpenVMS just do this (from this directory):

	$@build
	$set def [.GUI.XEPHEM]
	$run xephem

    Otherwise edit Makefile to set the MOTIFI and MOTIFL macros for
    your system then make. If you can not find Motif on your system try
    using your package manager to search for it, for exampe:
        $ yum search openmotif
        $ zypper search openmotif
	$ apt-file search openmotif
    or look for binary kits at http://motif.ics.com/motif or build from
    source from http://sourceforge.net/projects/motif. You'll also need
    a bunch of supporting X11 Windows stuff too, but decent package
    managers will bring those dependencies in for you also automatically.

    In all cases, you'll want the development versions so you can use them
    to build new programs, not just run existing ones.

2) For a sneak peek, run it now; then click File->Quit and go to the next step:

	$ ./xephem

	If you get a message "X Resources out of date" you have installed
	XEphem before and must locate and remove the old resource file.

Next do either 3a or 3b, not both:

3a) Installing XEphem for just yourself without root permission (see
    next step for system-wide multiuser installation):

    3a.1 Copy the executable where you keep your private programs:

	$ cp xephem $HOME/bin			# or where ever

    3a.2 Create a directory off your HOME called .xephem for all per-user files

	$ mkdir $HOME/.xephem

    3a.3 Create an initial resource file called $HOME/.xephem/XEphem with
    just one line in it as follows:

	XEphem.ShareDir: <dir>
    
    where <dir> is the full path of the directory containing the directories
    auxil, catalogs, fifos, fits, gallery, help, and lo. These are in the
    source directory of the original tar kit which is where you are now, if
    you have been following along. You can leave them here if you like or move
    them, just set <dir> to where ever they end up.

3b) Installing XEphem for multiple users (requires root permission) (skip if
    installing just for yourself):

    3b.1 Copy the executable where everyone can find it:

	$ cp xephem /usr/bin			# or elsewhere in your PATH

    3b.2 Create a directory for system-wide read-only files to be shared by all
    XEphem users and fill with the defaults included in this kit:

	$ mkdir /usr/local/xephem		# or where ever
	$ cp -R auxil /usr/local/xephem		# copy auxil dir and contents
	$ cp -R catalogs /usr/local/xephem	# copy catalogs dir and contents
	$ cp -R fifos /usr/local/xephem		# copy fifos dir and contents
	$ cp -R fits /usr/local/xephem		# copy fits dir and contents
	$ cp -R gallery /usr/local/xephem	# copy gallery images
	$ cp -R help /usr/local/xephem		# copy help files
	$ cp -R lo /usr/local/xephem		# copy lunar db
    
    3b.3 Do the same as step 3a.3 above but create the new file in a place
    where XEphem can find it from anywhere:

	/etc/XEphem

    3b.4 Copy the man page:

	$ cp xephem.1 /usr/local/man/man1	# or where ever

4) XEphem uses your browser to display Help. Open Help->Configure and select
   your browser of choice. Use %s where ever the real URL should go. If your
   browser is not listed, figure out the command line to tell it to display a
   local URL, add it to the list and send it to me so I can add it to the FAQ.

5) Done at least, now just run and go:

	$ xephem


Thanks for using XEphem!


Elwood Downey
ecdowney@ClearSkyInstitute.com
http://www.ClearSkyInstitute.com