Installation problems

From CARMA
(Difference between revisions)
Jump to: navigation, search
(hkmiriad problems)
(PGPLOT problems)
Line 20: Line 20:
 
* another common problem is that the X development files (include files such as Xos.h etc.) were not installed. This is covered elsewhere on this page. You will most likely see that MIRIAD programs do not compile and complain about a missing -lpgplot
 
* another common problem is that the X development files (include files such as Xos.h etc.) were not installed. This is covered elsewhere on this page. You will most likely see that MIRIAD programs do not compile and complain about a missing -lpgplot
  
 +
* on 64bit machines some drivers (notably the GIF driver) does not work. If you installation produces a seg fault, do the following:
 +
  cd $MIR/borrow/pgplot/drivers
 +
  ./fix64bit.csh
 +
  mirboss
 +
  mir.install pgplot
 +
and your shared library is updated, all binaries should be fine.
  
 
=== hkmiriad problems ===
 
=== hkmiriad problems ===

Revision as of 14:35, 27 November 2008

Contents

Installation Problems

If you have installed from source and have seen a line such as

  installed 304/344 programs

something really bad has happened. Most likely during building or linking a common error occured for each problem. You can look in the logfiles in $MIR/tmp or try and compile a program to see it directly on the screen:

  mirboss
  mir.subs fitsio
  mir.prog itemize

and see if any of the common problems below fit the description:

PGPLOT problems

  • A common problem is a missing driver. Here is a recipe to enable a driver that you know will work:
 edit $MIRLIB/drivers.list                <--- (un)comment the drivers you want to include/exclude
 mirboss
 mir.install pgplot

When shared libraries are used, this is usually enough, all problems that use PGPLOT should now know about the new driver set. Use device=\? to view the active list.

  • another common problem is that the X development files (include files such as Xos.h etc.) were not installed. This is covered elsewhere on this page. You will most likely see that MIRIAD programs do not compile and complain about a missing -lpgplot
  • on 64bit machines some drivers (notably the GIF driver) does not work. If you installation produces a seg fault, do the following:
 cd $MIR/borrow/pgplot/drivers
 ./fix64bit.csh
 mirboss 
 mir.install pgplot

and your shared library is updated, all binaries should be fine.

hkmiriad problems

hkmiriad is a hacked mostly-C based set of miriad programs that you can find in $MIR/src/spec/hkmiriad. It has been written by Jin Koda (caltech).

The old style install essentially uses this:

 cd $MIR/borrow/zeno
 make miriad_install
 cd $MIR/src/spec/hkmiriad
 cp Makefile.hk  Makefile
 make miriad_install

A common problem is the linking of fortran and C. If you have used the old-style install, there will be a Makefile in $MIR/install that contains the FLIBS= macro. Edit the Makefile in $MIR/src/spec/hkmiriad and replace the simple value for FLIBS (-lg2c) to be the more complex one. An example could be something like

  FLIBS = -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../.. -L/lib/../lib64 -L/usr/lib/../lib64 -lfrtbegin -lg2c -lm -lgcc_s

Currently there is no support to install this in the new build system.

Common Problems

If you install from source, two of the most common problems for failure are:

  • a missing or wrong fortran compiler. As of this writing g77 is still the default, but newer versions of gfortran now know how to build pgplot and no patching is needed anymore (except the keyword gfortran=1 to the install.miriad script).
  • missing (X11) development packages. On linux your package manager should be queried for these. Unfortunately not each linux distribution (or version) will use the exact same name for this. A common example is the X11 development package. For example pgplot will need a file /usr/include/X11/Xos.h (it could also live somewhere else).
    • fedora 7: xorg-x11-proto-devel-7.2-9.fc7
    • ubuntu 8.04: x11proto-core-dev, libx11-dev
    • mandrive 2008: libxorg-x11-devel
    • mandrake 10.1: libxorg-x11-devel-6.8.2-0.5mdk
  • on 64bit ubuntu8.04 here's a report on how to fix the system, where the libXaw library was 'missing', and also includes an example of installing some missing system tools.
  cd /usr/lib  ;  ln -s libXaw7.so.7 libXaw.so
  apt-get install gfortran
  apt-get install g++
  cd /usr/local/miriad_cvs
  ./autogen.sh
  ./configure --prefix=`pwd`/build F77=gfortran
  make
  make install
  • the new build system has not been thoroughly tested. A common problem is with autogen.sh that results in a make that ends disappointingly as follows:
 make[1]: *** No rule to make target `install'.  Stop.
 make[1]: Leaving directory `/algol1/teuben/miriad/auto/miriad/borrow/pgplot'
 make: *** [install-recursive] Error 1
  • the new build system may fail on latex building the manuals. If so, use 'make -i' instead.
  • if you try to compile a program and you see some error message like this:
  /usr/bin/ld: cannot find -lpgplot

most likely you have missing components on your system. Missing header file you might see. It means you did not install the development software for X11 on your system. It's one of the requirements. If this happens on a mac, go install Xcode. On linux you'll need to install the X develpment packages, as describe earlier on this page.

Unsolved problems

  • some linker issue on Ubuntu 7?
  % mir.prog itemize
  ...
  /usr/bin/ld: /home/ijlee/miriad/bin/linux/itemize: hidden symbol `__stack_chk_fail_local' in /usr/lib/libc_nonshared.a(stack_chk_fail_local.oS) is referenced by DSO
  /usr/bin/ld: final link failed: Nonrepresentable section on output
  collect2: ld returned 1 exit status
  • the new build cannot be easily relocated using the install/make_miriad_starts script

If you are activating the new build, i.e.

  ln -s build_new build
  install/make_miriad_starts
  source miriad_start.csh

there are variables in automiriad.csh that have an absolute path and are not derived from $MIR. You will have to fix these manually. That includes a reference to PGPLOT variables in the pgplot-config.csh file.

Personal tools