1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
|
1) Building XEphem v3.1 executable:
Explode xephem-3.1.tar.gz:
$ tar xfz xephem-3.1.tar.gz
Build the libastro.a library first:
$ cd xephem-3.1/libastro
$ xmkmf
$ make
(If xmkmf did not work, start with Makefile.smple and proceed manually.)
Move up and over to the XEphem source and build it next:
$ cd ../GUI/xephem
$ xmkmf
$ make
(If xmkmf did not work, start with Makefile.smple and proceed manually.
See below for some additional hints I have collected over the years.)
2) For the impatient, try it now; then File->Quit and go to the next step:
$ ./xephem
If you get a message "X Resources out of date" you must locate and
remove the old resource file.
3) Installing XEphem:
Copy the executable where you wish:
$ cp xephem /usr/local/bin # or where ever
Make a directory off your HOME called XEphem for all per-user files:
$ mkdir $HOME/XEphem
Copy XEphem.ad there renamed to XEphem and edit for your site preferences:
$ cp XEphem.ad $HOME/XEphem/XEphem # note the name change
$ vi $HOME/XEphem/XEphem # use your favorite editor
While editing, note well that XEphem needs stuff in the two
directories named "auxil" and "catalogs". These in turn should be in a
directory whose X resource name is XEphem.BaseDir... be sure to set this
resource to point to where ever you end up putting these on your system.
They can be made read-only and shared by all XEphem users.
4) Fetch some more catalogs:
A few catalogs were included with the tar kit. There are lots more.
In fact, the default X resources are set assuming you have the ppm.xe
and Hubble GSC catalogs online, even though these were not included.
Check the XEphem web page for full details:
http://iraf.noao.edu/~ecdowney/xephem.html
5) That should do it. There is lots of help built-in. Enjoy!
Elwood Downey
ecdowney@ClearSkyInstitute.com
========================= Miscellaneous Build hints ==========================
You must have Motif! The first clue of trouble is when compiling calmenu.c
you will see messages about not finding many include files of the form
"Xm/??". If you are sure you have Motif, then the compiler is not looking in
the right places. Once you know where they are located, add the include
directory with a -I argument in CFLAGS and the libXm* library with a -L
argument in LDFLAGS in the makefile.
On systems without ANSI C compilers add -D_NO_PROTO to CFLAGS.
On older USL/AT&T systems (such as SVR3.2) add -DSYSV to CFLAGS.
If you get regcmp or regex undefined from libXm on SVR4.2 add "-lgen"
to LIBS. Or try the crude replacement, below, for these functions in
terms of re_comp and re_exec.
Remember, timezone support from the operating system is only supported if
your compiler #defines __STDC__. Try to do this, as it is very useful.
For example on AIX you should use the xlc compiler; on Digital UNIX,
use the -std1 compiler option; on HPUX use the -Aa compiler option.
If running a Linux executable under FreeBSD in Linux emulation mode, be
sure to set up a symbolic link to your locatime timezone file in
/usr/share/timezone from /emul/linux/var/lib/zoneinfo. In general, if you
are sure you have an ANSI C compiler and you still do not get a timezone
name and offset when you start xephem, make sure you have either the TZ
environment variable or the current timezone links set up.
If you get undefines that begin with Xm add "-lXIM" to LIBS right after
"-lXm".
On SunOS systems, if your get dlopen/dlsym/dlclose undefined, try
fiddling with whether you use static or dynamic libs; best luck seems
to be with using all dynamic libs. It appears these three functions are
never called, however, since I can `chmod +x xephem' and it seems to
run ok.
On one HP 9000 I found that the X and Motif include files and libs were
in /usr/{include,lib}/{X11R4,Motif1.1}. There was no xmkmf or imake so I
used the "Stock" entry in Makefile.smple with the following flags:
CFLAGS = $(CLDFLAGS) -O -D_NO_PROTO -I/usr/include/X11R4 -I/usr/include/Motif1.1
LDFLAGS = $(CLDFLAGS) -L/usr/lib/X11R4 -L/usr/lib/Motif1.1
HP9000/300 systems (68030 CPU) running HP-UX 9.00 and gcc can run into
unexpected bugs within gcc. For example, the Sky View will not display
any Fixed objects! Ron Murray <ron@merlin.ece.curtin.edu.au> has some
workarounds and has graciously volunteered to assist people with these
systems.
If you are behind a Socks firewall, xephem will try using the following
environment variables if they are set. The code has only been tested with
Socks version 4, but I am told version 5 should work too.
SOCKS_NS the name of the socks firewall host, or its IP address.
SOCKS_PORT the socks port to use; the default is 1080.
On OSF/1, be sure to use the -std1 compiler switch to turn on the ANSI C
compiler.
On AIX, be sure to invoke the ANSI C compiler, xlc.
I have searched carefully through the output of running all of xephem
through lint and gcc on UnixWare, Linux and SunOS and can rationalize
all the warnings, so don not let these bother you too much.
Avoid Motif 1.2.0; I start trusting Motif 1.2 around 1.2.4.
The left and right scales in the Sky View do not display their numeric
values under Solaris 5.4 -- I have no idea why.
If xephem does not work well on your color display, or the colormap is
out of entries, xephem can be operated using mostly black and white by
running it as: xephem -fg black -bg white. Let me know if you would like
an option to use a private colormap.
The BackSpace and Delete keys do not work correctly on many Linux systems.
The following commands should correct the problem (I have them in my
.xinitrc):
xmodmap -e "keycode 22 = BackSpace"
xmodmap -e "keycode 107 = Delete"
If running under UnixWare 2.0 with mwm, you will get traditional Motif
dialog behavior if you set Mwm*secondariesOnTop: True.
If you are having trouble using the Hubble GSC CDROMs on a Sun workstation,
you can find useful tips at http://www.stsci.edu/ftp/software/cdrom.sun.
As of 1.3.87, Linux could not read the Hubble GSC CDROM from the Sony
CDU31a drive, but I know it does work OK with an IDE or SCSI CD drive. I
will continue to work this issue (since I own the Sony drive :-( ) so
contact me for the latest status. UPDATE: I just tried kernal 2.0.23 and
it works fine -- so if you have been looking for a reason to move to the
2.0 kernal series this might be it :-)
If you wish to avoid building the executable altogether, such as if you do
not have Motif, check on iraf.noao.edu in contrib/xephem/xephem_2.9 for
contributed statically-linked binary executables.
If running under the Afterstep window manager, it may help if you add
DecorateTransients to the .steprc file.
If you are using a monochrome display, the resources in XEphem.bw.ad
will get you started, but I have not tried these in years.
Finally, check the xephem home page for the latest build tips:
http://iraf.noao.edu/~ecdowney/xephem.html#hints
|