Organizers:
Karl Jansen
(DESY Zeuthen)
karl.jansen@desy.de

Kostas Orginos
(College of William and Mary / JLab)
kostas@wm.edu

Steve Sharpe
(University of Washington)
sharpe@phys.washington.edu

Program Coordinator:
Laura Lee
lee@phys.washington.edu
(206) 685-3509

:: Calendar

:: Schedule of Talks

:: Participant List

:: Poster Presenters

:: Software Installation Instructions

:: Travel Information

:: Seattle Activities

:: Final Information Letter

:: Program page

INT Summer School on "Lattice QCD and its applications"

Seattle, August 8 - 28, 2007

Dear Summer School Attendees,

Please find below some instructions on the software to preinstall for the summer school. In this first email, I'd like to set up software so that you can subsequently compile the QDP++ library. This requires a basic set of software modules that you should be able to install in a straightforward manner for most linux and mac setups. On linux, most of this software should be available as RPMs or Debian packages, that can be set up with yum (RPMs) or with synaptic/apt-get on linux machines. I am afraid I haven't a Mac at hand, however, I do have installation instructions for Cygwin. I attach the steps I took to install Cygwin on my home PC along with the modules. Where I can, I will also point you to the sources in case you need to install using the "configure ; make; make" install chain.

I will send out instructions as to how to install QDP++ itself in the next email.

OK here goes. Please respond to bjoo@jlab.org if you have difficulties.

First I give a list of the needed modules. If you are running MS XP you can skip directly to the section on Cygwin below, since these modules can be selected as part of the Cygwin installation.

-------------------------Modules needed----------------------------

List of modules and their source locations - but bear in mind that there may be pre built versions of these you don't need to compile - see the later sections.

GNU m4-1.4.1 (from http://ftp.gnu.org/gnu/m4 )
autoconf-2.59 (from http://ftp.gnu.org/gnu/autoconf)
automake-1.9.6 (from http://ftp.gnu.org/gnu/automake)
GNU make-3.81 (from http://ftp.gnu.org/gnu/make)

GNU gcc/g++ v3.4.6 (from http://gcc.gnu.org - you will need to go to a mirror site eg
ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-3.4.6) get the tarfile for the whole package eg: gcc-3.4.6.tar.gz)

Libxml2 & Its development libraries
eg from: http://xmlsoft.org/downloads.html
a good recent version > 2.6.11 is desirable.

cvs (eg: from http://ftp.gnu.org/non-gnu/cvs )
There are sources and binaries there apparently.

A command line SSH client (open SSH?) - most of you should have this already. If not get it from http://directory.fsf.org/OpenSSH.html

For RHMC work it would be useful to have the GNU Multiple Precision (gmp) libraries. You can get them from www.swox.com

wget - a command line utility for downloading files via http. You can get it from: http://directory.fsf.org/wget.html

Apart from this you need a good editor (emacs/vi) and a good shell (I prefer bash)

Useful also are
flex (from http://directory.fsf.org/flex.html)
bison (from http://directory.fsf.org/bison.html)

And for scripting: PERL, Python
http://directory.fsf.org/perl.html
http://www.python.org

And for plotting: Grace at http://plasma-gate.weizmann.ac.il/Grace
or gnuplot: http://directory.fsf.org/gnuplot.html

-----------Instructions for setting up Cygwin--------------------

Cygwin gives you a unix window under XP.

(NB This is being done under Windows XP. Your mileage may vary.)

Go to http://www.cygwin.com

Click on the main window that says "Install or update now! (using setup.exe) "

A dialog will come up entitled "Opening setup.exe. You have chosen to open setup.exe which is an Application from http://www.cygwin.com. Would you like to save this file?"

Click on "Save File"

This will download setup.exe. Your download manager will offer to let you "Open or Remove" this file. Click "Open"

My browser then asks me if I really want to open the file. I click "OK"

The Cygwin Setup window pops up (It says "Cygwin Net Release Setup Program". I click Next

Then a dialogue pops up offering me to

Install from Internet

Download without Installing

Install from Local Directory.

I select "Install from Internet ( downloaded files will be kept for future re-use". Then I click "Next"

In the next dialogue, I select "C:\cygwin" as the "Root directory". I select Install for "All Users (RECOMMENDED) and "Default Text File Type" as "Unix/binary (RECOMMENDED)". Then I click "Next"

The next dialogue asks me to select a "Local Package Directory". I type in "C:\Cygwin_Local". Then I click "Next"

On the next dialogue I am asked about my internet connection. I select "Direct Connection" and click "Next"

The next dialogue offers me a choice of mirror sites to download from. I select "http://mirror.mcs.anl.gov" as a site that is close to me and then click "Next"

After a brief download I get a window where I can select packages.

I open up the Devel tree
Now to select apackage I click the little circular arrow icon. If I want the package I put an "x" in the box in the column "Bin?" by clicking the box. In this way I select:

(Note that when you select, say, automake-1.9, some earlier versions, 1.5, 1.6,..., will automatically be selected too. This is correct.)

autoconf-2.5
automake-1.9
cvs
doxygen
flex
gcc (version 3.4.4-3) This automatically selects gcc-core and gcc-g++
gdb
libxml2
libxml2-devel
make

From the Editors Tree I select
emacs
vim

From the Libs tree I select
gmp

From Math tree I select

bc
gnuplot
libgmp-devel
libgmp3

From the Net tree I select
openssh

From the Perl tree I select perl (default)

From the Shells tree I select
bash
bash-completion

From the System tree I select
util-linux

From the Utils tree I select
bc
diffutils

From the Web tree I select
wget

I do not select any X-Windows stuff

I click "Next"

At this point Cygwin downloads all my packages, and installs them. At the end of the installation, I get an option to create an icon on my desktop and to add an icon to the start menu. I select both and click "Finish"

Some Linux Notes
================

- Ubuntu/Debian

Here are the names of packages for Ubuntu (and presumably Debian) You can use the synaptic manager for this or apt-get

autoconf
automake1.9
make
m4
cvs
g++-3.4, gcc-3.4, gcc-3.4-base
libxml2, libxml2-dev
libgmp3c2, libgmp3-dev, libgmp3-doc
ssh
wget
bash
emacs21, emacs21-bin-common, emacs21-common
vim, vim-common
flex
bison

This is a bare minimum, also useful are perl, python, gnuplot, grace (for scripting/plotting)

- Fedora Core/Red Hat Enterprise/CentOS and likes (I am quoting from Fedora Core 6)

The RPM package names are (version numbers may vary) you may also find non RedHat exclusive RPMs at rpmfind.net for your own brand of linux.

m4-1.4.5-3
autoconf-2.59-12
automake-1.9.6-2.1
make-3.81-1.1
cvs-1.11.22-4
compat-gcc-34-c++-3.4.6-4
compat-gcc-34-3.4.6-4
(and their dependencies)
libxml2-2.6.26-2.1.1
libxml2-devel-2.6.26-2.1.1
gmp-4.1.4-7
gmp-devel-4.1.4-7
openssh-clients-4.3p2-10
openssh-4.3p2-10
wget-1.10.2-7
bash-3.1-16.1
emacs-leim-21.4-17
emacs-common-21.4-17
emacs-21.4-17
vim-minimal-7.0.109-3
vim-common-7.0.109-3
vim-enhanced-7.0.109-3
flex-2.5.4a-41
bison-2.3-2.1
perl-5.8.8-10 (and other perl packages)
python packages (too many to list here)
gnuplot-4.0.0-12

Grace may not be so easy to find for Red Hat Derivatives.

Other distros may need to do their own digging. I am afraid I don't have access to opensuse/gentoo and others. However, the names will be similar. Important are the case of development libraries for libxml2 and gmp (or libgmp) ie: libgmp-devel or gmp-devel and libxml2-devel or xml2-devel since they contain libraries we need.

Mac users, Kostas tells me that it is easy to install these things on Macs. PowerPC based Macs can also use gcc-4.1.x rather than just plain gcc-3.4

OK. So this may look daunting but hopefully it is not going to turn out to be daunting. Most of these packages can be installed already when you install the machine. Typically I only need to install the Libxml2 and libgmp libraries on unix systems. Also GCC-3.4 is not critical. I will produce instructions tomorrow for QDP++ that will turn off flags, that would make gcc-4.x misbehave with our code.

With best wishes,
Balint
(with a few edits from Steve)