The easiest install is on Ubuntu - feel free to follow the quickstart script
I posted. I do not know of anyone who has gotten the software to work
properly in cygwin.

I have since moved on to CentOS since that is what is used on our network.
Running meep on multiple cores on one machine using the ctl interface works
well. In running meep on a cluster of CentOS machines using the C++
interface I currently have 2 problems.

1. I am having mpd connection issues between machines when running meep and
when running other programs the decision of where to send processes on a
heterogeneous network are not sensical.

2. Though I have spent time learning about the makefiles I still cannot
compile C++ files in a directory of my choosing instead of in
meep-1.0.3/tests/

I will start by giving some information about our install process (0) and
then follow up on the specifics of the above 2 problems. I have decided to
post a response sooner rather than later since it may have information that
may help others. This post is also prior to trying some solutions to number
1 in hopes that someone may have some solutions for number 2. I will post a
follow-up regarding number 1.

0. Install process: when installing on a network with multiple users there
are considerations of where to install the program, where to put the source,
etc. The main concern is that the directories will not be writeable to by
anybody but the sysadmin and the sysadmin is not the user of the program.
For testing purposes after having read through the files mentioned here:

http://www.linuxquestions.org/questions/linux-general-1/what-is-the-meaning-
of-makefilemakefile.ammakefile.in-390380/

if I was starting again I would try installing differently (our network
install is indeed modified) but what I did for testing is described by the
following script:

#!/bin/bash

# \begin(README)

# centosmeepinstaller version 0.3k (should be moved to a repository)

# (prior to that please ++0.1 the version number prior to saving any changes
#  and append your initial to the version number, then save&email it to me)

# 0.3k
# This script helps install meep in the CentOS environment and
# successfully opens a graphical simulation result on the below systems:

# Computer used:
# ASUS A7V333 1.6GHz 512 Mb 40Gb with XP on it

# Ubuntu 9.04 Destop i386 install CD used to edit XP partition such
# that it is 20Gb then CentOS 5.3 i386 DVD used to set up the following:
# /dev/hda
# hda1 19077 Mb ntfs (XP half of drive)
# hda2 196 Mb ext3 (boot partition)
# hda3 18889 Mb LVM
# LVM 1024 Mb swap (double the physical memory)
# LVM ~17000 Mb / (remaining space)

# Computer used:
# Acer Aspire E700 Intel Core 2 Q6600 Quad 64 Architecture 2.4GHz
# Desktop Computer (ASE700-EQ662A) PSU 300W Lite-On
# DDR2, PC2-5300 (333 MHz), 2048 MB memory
# ATI X1650SE 256MB video card and a 500GB HDD

# Booted existing Vista
# Moved data from D: partition to a directory on C:
# Booted CentOS 5.3 x86_64 DVD
# Selected "Create Custom Layout"
# Deleted /dev/sda3
# clicked "Back", selected "Review and modify partitioning layout" and "Use
free space on selected drives and 

create default layout".
# Doubled /boot providing:
# /dev/sda
# sda1 9993 Mb ntfs (Vista recovery?)
# sda2 233609 Mb ntfs (Vista half of drive)
# sda3 196 Mb ext3 (boot partition)
# sda4 233138 Mb LVM
# LVM 4000 Mb swap (double the physical memory)
# LVM 229120 Mb / (remaining space)

# Install "All" of CentOS, tedious task under custom install to
# select all optional packages, except for all languages and KDE
# Suggest making use of a kickstart file
# There is an opportunity to modify the default: localhost.localdomain

# After obtaining this file use the terminal to run
# chmod +rx centosmeepinstaller

# Switch to root user by typing:
# su root
# Run this file by typing
# ./centosmeepinstaller

# Exit root user by typing:
# exit
# Run this file again by typing
# ./centosmeepinstaller

# CURRENTLY DOES NOT ASK FOR CONFIRMATION, note for a future version:
# If an unattended install is desired comment out the user feedback e.g.
# read -n 1 yorn

# \end(README)

ROOT_UID=0     # Only users with $UID 0 have root privileges.
yornroot="n"
if [ ! "$UID" -ne "$ROOT_UID" ]; then
  yornroot="y"
fi
if [ $yornroot == y ]; then
  echo -n -e "Run Meep make check and related tests? (y/n) "
  yorntests="y"
  read -n 1 yorntests
  cd /opt
  #Extra repository like Ubuntu's universe with hdf5-1.6.9-2.el5
  #consider configuring hdf5 with --enable-parallel
  #rpm -Uvh
http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rp
m
  rpm -Uvh
http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.
rpm
  if [ "$(uname -m)" = "x86_64" ] ; then
    yum install -y guile-devel.x86_64 mpich2-devel.x86_64 \
                mpich2-libs.x86_64
  else
    yum install -y guile-devel mpich2-devel \
                mpich2-libs
  fi
  yum install -y mpich2
  #check bad links to mp32
  #find . -type l | (while read FN ; do test -e "$FN" || ls -ld "$FN" \
  #     || ls -ld "$FN"; done)
  if [! -e /etc/alternatives/mpif90 ] ; then
    if [ -e /usr/bin/mp64-mpif90 ] ; then
      rm /etc/alternatives/mpif90
      ln -s /usr/bin/mp64-mpif90 /etc/alternatives/mpif90
    fi
  fi
  if [! -e /etc/alternatives/mpicc ] ; then
    if [ -e /usr/bin/mp64-mpicc ] ; then
      rm  /etc/alternatives/mpicc
      ln -s /usr/bin/mp64-mpicc /etc/alternatives/mpicc
    fi
  fi
  if [! -e /etc/alternatives/mpif77 ] ; then
    if [ -e /usr/bin/mp64-mpif77 ] ; then
      rm /etc/alternatives/mpif77
      ln -s /usr/bin/mp64-mpif77 /etc/alternatives/mpif77
    fi
  fi
  if [! -e /etc/alternatives/mpicxx ] ; then
    if [ -e /usr/bin/mp64-mpicxx ] ; then
      rm /etc/alternatives/mpicxx
      ln -s /usr/bin/mp64-mpicxx /etc/alternatives/mpicxx
    fi
  fi
  if [ "$(uname -m)" = "x86_64" ] ; then
    yum install -y hdf5.x86_64 hdf5-devel.x86_64 \
                blas-devel.x86_64 lapack-devel.x86_64
  else
    yum install -y hdf5 hdf5-devel \
                blas-devel lapack-devel
  fi

  cd /opt
  if [ ! -e harminv-1.3.1 ] ; then
    wget http://ab-initio.mit.edu/harminv/harminv-1.3.1.tar.gz
    tar xfz harminv-1.3.1.tar.gz
  fi
  cd harminv-1.3.1
  ./configure
  make
  make install

  cd /opt
  if [ ! -e libctl-3.1 ] ; then
    wget http://ab-initio.mit.edu/libctl/libctl-3.1.tar.gz
    tar xfz libctl-3.1.tar.gz
  fi
  cd libctl-3.1
  ./configure
  make
  make install

  cd /opt
  if [ ! -e h5utils-1.12.1 ] ; then
    wget http://ab-initio.mit.edu/h5utils/h5utils-1.12.1.tar.gz
    tar xfz h5utils-1.12.1.tar.gz
  fi
  cd h5utils-1.12.1
  ./configure
  make
  make install

  cd /opt
  if [ ! -e meep-1.0.3 ] ; then
    wget http://ab-initio.mit.edu/meep/meep-1.0.3.tar.gz
    tar xfz meep-1.0.3.tar.gz
  fi
  cd meep-1.0.3
  ./configure
  #"make" takes a while
  make
  make install
  if [ $yorntests == y ]; then
    #"make check" takes a while
    make check
  fi
  ./configure --with-mpi
  #"make" takes a while
  make
  make install
  if [ $yorntests == y ]; then
    #"make check" takes a while
    make check
  fi
fi

if [ $yornroot == n ]; then
  cd $HOME
  if [ ! -e .mpd.conf ] ; then
    touch .mpd.conf
    #echo "MPD_SECRETWORD=mr45-j9z" > .mpd.conf
    chmod 600 .mpd.conf
  fi
  if [ ! -e meep-mpi ] ; then
    mkdir meep-mpi
  fi
  cd meep-mpi
  #if [ ! -e /tmp/mpd2.console_lab ] ; then
  if [ $(ps | grep -c python2.4) = 0 ] ; then
    mpd &
  fi
  mpirun -np 1 meep-mpi fcen=0.118 df=0.01 \
  /opt/meep-1.0.3/examples/ring.ctl
  h5topng -RZc /opt/h5utils-1.12.1/colormaps/dkbluered -C \
  ring-eps-000000.00.h5 ring-ez-*.h5
  convert ring-ez-*.png ring-ez-0.118.gif
  firefox file:///home/lab/meep-mpi/ring-ez-0.118.gif
fi

exit

1. As far as mpd is concerned I will follow up on this. In the meantime I
can note that it helps to set up the machine's IP as whatever was chosen as
localhost.localdomain in a dns entry.

2. In order to make flux.dac in a user's work directory of choosing the
following attempt at recreating the meep-1.0.3/tests/ environment was made
by iteratively resolving errors reported at the command line produced by the
below script.

#cd
#mkdir meep-mpi
cd ~/meep-mpi
#wget http://ab-initio.mit.edu/~meep/meep/Makefile
#wget http://ab-initio.mit.edu/~meep/meep/Makefile.am
#wget http://ab-initio.mit.edu/~meep/meep/Makefile.in
#wget http://ab-initio.mit.edu/~meep/meep/configure.ac
#mkdir tests
cd tests
#wget http://ab-initio.mit.edu/~meep/meep/tests/Makefile
#wget http://ab-initio.mit.edu/~meep/meep/tests/Makefile.am
#wget http://ab-initio.mit.edu/~meep/meep/tests/Makefile.in
#wget http://ab-initio.mit.edu/~meep/meep/tests/flux.cpp
#mkdir .deps
#for network install the content was temporarily here:
#cp /tmp/meep/meep-1.0.3/tests/.deps/* .deps/
#for above script install
#cp /opt/meep-1.0.3/tests/.deps/* .deps/
make flux.dac
#on network install results in:
#make: *** No rule to make target `../configure.ac', needed by 
#`Makefile.in'.  Stop.
#on above script install results in:
#cd .. && \
#          /bin/sh /home/meep/meep/missing --run automake-1.7 --gnu  
#tests/Makefile
#/bin/sh: /home/meep/meep/missing: No such file or directory
#make: *** [Makefile.in] Error 127
#./flux.dac

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Flyhigher
Sent: September 4, 2009 4:15 AM
To: [email protected]
Subject: [Meep-discuss] About installation

Dear Steven and Meep users,

I have a 64-bit and 8 processors machine. Does anyone know if 
meep is compatible with this machine. Which linux system is the 
best choice? Ubuntu or Debian? What is problem that I should 
know in the processing of meep installation ?
Thanks.


best,
Flyhigher


_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss


_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to