Difference between revisions of "Desktop Setup"

From Vlsiwiki
Jump to: navigation, search
(CentOS 5.2)
 
(120 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
==Distribution Setup==
 
==Distribution Setup==
  
We support three main Linux distributions (CentOS, Fedora, ubuntu), but you need to maintain some
+
We support Red Hat compatible Linux distributions (CentOS, Fedora), but you need to maintain some
security configuration and packages.
+
security configuration and packages. Each distribution has its own problems, check the issues before
 +
deciding what distribution to install. The distributions should:
  
#
+
* Compile and run SESC and SESCTherm (with CUDA support)
  
===CentOS 5.2===
+
  
Install the 64bit packages selecting development and latex packages.
+
* Run synos rake command
 +
 +
  svn co svn+ssh://mada0.cse.ucsc.edu/mada/server/svn/synos
 +
  cd synos/scoore/fpu
 +
  rake
  
* Update the yum repository (EPEL packages)
+
* Execute vcs
  
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
+
  cd synos/scoore/fpu
 +
  rake test:softfloat_tb
  
* Update distribution
+
* Execute synplicity_pro
  
yum update -y
+
  cd synos/scoore/fpu
 +
  rake fpga:fpu v=1
 +
  ./synplify_fpu.sh
  
* Editing packages
+
* Execute dc_shell-t
  
yum install -y aspell-en emacs openoffice firefox
+
  cd synos/scoore/fpu
 +
  rake asic:fpu v=1
 +
  ./dc_fpu.sh
  
* Mathemathics packages
+
* Run opencv applications (cd mthd/mgesture)
 +
* Run gosu examples (cd mthd/hdui)
  
yum install -y R blas-devel gnuplot
+
==Ubuntu 10.04==
 +
===Preferred===
 +
Installation instructions at: [[Desktop Setup - Ubuntu 10.04]]
  
* Version control and cmake
+
===Configure LDAP caching===
  
  yum install -y cvs cmake git-all
+
  sudo apt-get install nss-updatedb
 +
# Use your own username
 +
sudo scp username@mada0.cse.ucsc.edu:/etc/cron.hourly/* /etc/cron.hourly/
  
* SESC Development packages
 
  
  yum install -y bison ctags cscope doxygen gcc gcc-c++ gcc-gfortran gcc-java m4 flex bison
+
* update database cache
 +
  sudo /etc/cron.hourly/nss_updatedb-ldap.sh
  
* Miscellaneous Development
+
* edit lines passwd and group in /etc/nsswitch.conf so that they are as follows (involves adding db before ldap)
 +
sudo vi /etc/nsswitch.conf
 +
passwd:        files db ldap
 +
group:          files db ldap
  
yum install -y ant antlr boost-devel  fftw-devel vim-enhanced valgrind python-devel  qt4
+
==CentOS 5.4==
  
* Compatiblity packages
+
===WORKS===
  
  yum install -y compat-db compat-db compat-gcc-34 compat-gcc-34-c++ compat-gcc-34-g77 compat-glibc compat-glibc compat-glibc-headers compat-libf2c-34 compat-libgcc-296 compat-libstdc++-296 compat-libstdc++-33 compat-libstdc++-33 compat-readline43
+
  sesc,sesctherm, synos, vcs, synplify_pro, dc_shell, opencv
  
* Ruby packages
+
===FAILS===
  
 +
* gosu (gem rmagic and ruby-opengl package fail to install)
 +
* sshfs (userspace ssh filesystem mount utility)
 +
* Most modern linux kde related apps
 +
 +
===Installation===
 +
 +
Install the 64bit packages selecting development and latex packages.
 +
 +
# Update the yum repository (EPEL packages)
 +
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
 +
 +
# Update distribution
 +
yum update -y
 +
 +
# Editing packages
 +
yum install -y aspell-en emacs openoffice firefox vim-X11
 +
 +
# Various fonts
 +
yum install xorg-x11-fonts-100dpi-7.1-2.1.el5  xorg-x11-fonts-75dpi-7.1-2.1.el5 xorg-x11-fonts-ISO8859-1-100dpi-7.1-2.1.el5  xorg-x11-fonts-misc-7.1-2.1.el5  xorg-x11-fonts-truetype-7.1-2.1.el5
 +
 +
# Mathemathics packages
 +
yum install -y R blas-devel gnuplot gsl-devel
 +
 +
# Version control and cmake
 +
yum install -y cvs cmake git-all subversion
 +
 +
# SESC Development packages
 +
yum install -y bison ctags cscope doxygen gcc gcc-c++ gcc-gfortran gcc-java m4 flex ncurses-devel
 +
 +
# Miscellaneous Development
 +
yum install -y ant antlr boost-devel  fftw-devel vim-enhanced valgrind python-devel  qt4
 +
 +
# Compatiblity packages
 +
yum install -y compat-db compat-db compat-gcc-34 compat-gcc-34-c++ compat-gcc-34-g77 compat-glibc
 +
yum install -y compat-glibc compat-glibc-headers compat-libf2c-34 compat-libgcc-296 compat-libstdc++-296
 +
yum install -y compat-libstdc++-33 compat-libstdc++-33 compat-readline43 openmotif
 +
 +
# Ruby packages
 
  yum install -y eruby-devel eruby-libs ruby-devel ruby-docs ruby-mode ruby-racc ruby-rdoc ruby-ri ruby-tcltk rubygem-rake rubygems
 
  yum install -y eruby-devel eruby-libs ruby-devel ruby-docs ruby-mode ruby-racc ruby-rdoc ruby-ri ruby-tcltk rubygem-rake rubygems
  
Line 49: Line 105:
 
  gem install rake rcov ruby-prof gecoder-with-gecode
 
  gem install rake rcov ruby-prof gecoder-with-gecode
  
* MT development
+
# MT development
 +
wget http://packages.sw.be/opencv/opencv-1.0.0-1.el5.rf.x86_64.rpm
 +
wget http://packages.sw.be/opencv/opencv-devel-1.0.0-1.el5.rf.x86_64.rpm
 +
rpm -i opencv*.rpm
  
  yum install SDL_Pango-devel SDL_mixer-devel opencv-devel ImageMagick
+
  yum install -y SDL_Pango-devel SDL_mixer-devel ImageMagick
 
  gem install gosu
 
  gem install gosu
  
* Setup IP tables
+
# Setup IP tables
 
+
  Note: The iptables config file is only readable by root. 
  scp mada0:/mada/server/setup/setup/iptables /etc/sysconfig/iptables
+
  
* Setup services correctly
+
# If you have root access a mascd machine:
 +
    sudo scp mada0:/mada/server/setup/setup/iptables /etc/sysconfig/iptables
 +
 +
# If you only have sudo access on some mascdX machine:
 +
#  ssh into that mascd machine, where X is the machine with the iptables file
 +
    sudo cp /etc/sysconfig/iptables /tmp
 +
    sudo chmod 777 /tmp/iptables
 +
# Copy the file to your machine and restore correct permissions
 +
    sudo scp madaX:/tmp/iptables /etc/sysconfig/iptables
 +
    sudo chmod 600 /etc/sysconfig/iptables
 +
# Lastly, erase the /tmp file on the mascdX machine, and restart iptables
 +
#  ssh into it, rm /tmp/iptables
 +
    sudo /etc/rc.d/init.d/iptables restart
  
 +
# Setup services correctly
 
  yum install -y chkconfig
 
  yum install -y chkconfig
 
  scp mada0:/mada/server/setup/setup/setup.serv /root/setup.serv
 
  scp mada0:/mada/server/setup/setup/setup.serv /root/setup.serv
Line 69: Line 140:
 
  for a in `grep "5:off" setup.serv | cut -d0 -f1`; do chkconfig --level 5 $a off; done
 
  for a in `grep "5:off" setup.serv | cut -d0 -f1`; do chkconfig --level 5 $a off; done
  
* Setup automount
+
# Setup automount
 
+
yum install -y autofs
 
  mkdir /mada
 
  mkdir /mada
 
  unalias cp
 
  unalias cp
  scp -f mascd1:/etc/auto.master mascd1:/etc/auto.mada /etc/
+
  scp mada1:/etc/auto.master /etc/
 +
scp mada1:/etc/auto.mada /etc
 
  service autofs restart
 
  service autofs restart
  
* LDAP setup
+
# LDAP setup
 
+
yum install -y openldap-clients
 +
scp mada1:/etc/sysconfig/authconfig /etc/sysconfig/
 
  scp mada1:/etc/ldap.conf /etc/
 
  scp mada1:/etc/ldap.conf /etc/
 
  scp mada1:/etc/nsswitch.conf /etc
 
  scp mada1:/etc/nsswitch.conf /etc
Line 83: Line 156:
 
  scp -r mada1:/etc/openldap/cacerts/cert8.pem /etc/openldap/cacerts/
 
  scp -r mada1:/etc/openldap/cacerts/cert8.pem /etc/openldap/cacerts/
  
===Ubuntu===
 
  
===Fedora===
 
  
==Minimum Packages Required==
+
==Fedora==
 +
 
 +
===WORKS===
 +
Fedora 10 x64
 +
NOTE: most software is 64 bit, so make sure the x64 arch type is installed
 +
 
 +
** Synplify Pro 9.62 is 32-bit. It needs:
 +
a compatible libstdc++, tcl, qt
 +
To diagnose dependency problems: ldd /mada/software/synopsys/fpga_c200906/linux/mbin/synplify
 +
install by:
 +
    sudo yum install -y compat-libstdc++-33-3.2.3-64.i386 compat-libstdc++-33-3.2.3-64.x86_64
 +
    sudo yum install -y qt-4.4.3-15.fc10.i386 qt-x11-4.4.3-15.fc10.i386 tcl.i386 tcl.x86_64 nss_ldap-264-1.fc10.i386
 +
   
 +
Fedora 11:
 +
    sudo yum install -y compat-libstdc++-33.i586 compat-libstdc++-33.x86_64 freetype-2.3.9-3.fc11.i586
 +
    sudo yum install -y qt.i586 qt-x11.i586 fontconfig-2.7.1-1.fc11.i586 tcl.i586
 +
 
 +
Need this file, but problematic glib2-2.20.4-1.fc11.i586
 +
 
 +
DONE
 +
 
 +
** VCS 2008-09 needs:
 +
a compatible libstdc++
 +
libtermcap
 +
 
 +
install by:
 +
    sudo yum install -y compat-libstdc++-33-3.2.3-64.i386 compat-libstdc++-33-3.2.3-64.x86_64 libXt.i386
 +
 
 +
  # copy /lib64/libtermcap.so.2* from any mascd machine into your /lib64
 +
  # then rebuild linker database:
 +
  sudo ldconfig
 +
 
 +
  Note:  If using NFS mounted user directory, make sure to wipe out ./csrc directory (under which you invoke VCS)
 +
          you so that VCS rebuilds the design with the new GCC, otherwise it will not work.  This may
 +
          become necessary if switching from Fedora to CentOS machines frequently.
 +
 
 +
DONE
 +
 
 +
* LDAP setup (NEED Root of mascd2 or working FC machine)
 +
  sudo yum install -y openldap-clients
 +
  scp mascd2:/etc/sysconfig/authconfig /etc/sysconfig/
 +
  scp mascd2:/etc/ldap.conf /etc/
 +
  scp mascd2:/etc/nsswitch.conf /etc
 +
  scp -r mascd2:/etc/openldap/ldap.conf /etc/openldap/
 +
  scp -r mascd2:/etc/openldap/cacerts/cert8.pem /etc/openldap/cacerts/
 +
 
 +
  run
 +
  setup -> Authentication Configuration
 +
      User Information:
 +
          Cache Information
 +
          Use LDAP
 +
 
 +
      Authentication:
 +
          Use Shadow Passwords
 +
          Use LDAP
 +
          Local authorization is sufficient
 +
      Next -> Finish
 +
 
 +
  Done
 +
   
 +
* Setup automount
 +
  yum install -y autofs
 +
  mkdir /mada
 +
  unalias cp
 +
  scp mascd1:/etc/auto.master mascd1:/etc/auto.mada /etc/
 +
  service autofs restart
 +
 
 +
* Setup IP tables
 +
Note: The iptables config file is only readable by root. 
 +
 
 +
# If you have root access a mascd machine:
 +
    sudo scp mada0:/mada/server/setup/setup/iptables /etc/sysconfig/iptables
 +
 +
# If you only have sudo access on some mascdX machine:
 +
#  ssh into that mascd machine, where X is the machine with the iptables file
 +
    sudo cp /etc/sysconfig/iptables /tmp
 +
    sudo chmod 777 /tmp/iptables
 +
# Copy the file to your machine and restore correct permissions
 +
    sudo scp madaX:/tmp/iptables /etc/sysconfig/iptables
 +
    sudo chmod 600 /etc/sysconfig/iptables
 +
# Lastly, erase the /tmp file on the mascdX machine, and restart iptables
 +
#  ssh into it, rm /tmp/iptables
 +
    sudo /etc/rc.d/init.d/iptables restart
 +
 
 +
* GOSU (ruby OpenGL lib)
 +
First install Ruby and the like...
 +
 
 +
  sudo yum install -y ruby-1.8.6.287-2.fc10.x86_64 ruby-libs-1.8.6.287-2.fc10.x86_64 rubygem-rake-0.8.3-1.fc10.noarch ruby-devel-1.8.6.287-2.fc10.x86_64
 +
  sudo yum install -y rubygems-1.3.1-1.fc10.noarch ruby-rdoc-1.8.6.287-2.fc10.x86_64  ruby-mode-1.8.6.287-2.fc10.x86_64 ruby-irb-1.8.6.287-2.fc10.x86_64
 +
 
 +
Then Install SDL audio related stuff
 +
 
 +
  sudo yum install -y SDL-1.2.13-7.fc10.i386  SDL-1.2.13-7.fc10.x86_64  SDL-devel-1.2.13-7.fc10.x86_64
 +
  sudo yum install -y SDL_mixer-1.2.8-9.fc10.x86_64 SDL_mixer-devel-1.2.8-9.fc10.x86_64 SDL_mixer-1.2.8-9.fc10.i386 SDL_mixer-devel-1.2.8-9.fc10.i386
 +
     
 +
Finally Gosu itself
 +
  cd /tmp
 +
  sudo gem install gosu
 +
 
 +
 
 +
DONE
 +
 
 +
 
 +
Other important Libraries
 +
# Xilinx USB JTAG Cable 64 bit version
 +
  We will need to install fxload, libusb-devel, libusb, libusb-driver and to run the Xilinx setup script
 +
    sudo yum install fxload libusb libusb-devel
 +
 +
    cd ~
 +
    wget "http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver?a=snapshot;h=HEAD;sf=tgz"
 +
    tar -zxvf usb-driver*
 +
    cd usb-driver
 +
    make
 +
    sudo cp *so /usr/lib64
 +
 
 +
    sudo sh /mada/software/xilinx/ISE/bin/lin64/install_script/install_drivers/install_drivers
 +
 
 +
 
 +
    Plug in jtag cable and the amber or green light should turn on
 +
 
 +
    For further reference: http://www.rmdir.de/~michael/xilinx/
 +
 
 +
# grmon (LEON3 JTAG Debug console)
 +
  sudo yum install -y zlib.i686
 +
  then run grmon-eval -xilusb -u (For Xilinx jtag)
 +
 
 +
# PDF Printer
 +
  This will create a pdf file in ~/, with spaces translated to underscores.
 +
    sudo yum install cups-pdf
 +
 
 +
# Cadence Virtuoso
 +
  Install some libraries...
 +
  FC 10:
 +
    sudo yum install csh ksh elfutils-libelf.i386 libXp.i386 libXt.i386
 +
 
 +
  FC11:
 +
    sudo yum install csh ksh elfutils-libelf.i586 libXp.i586 libXt.i586
 +
 
 +
  * Note: font errors and locking assertions are warnings and are non-fatal.
 +
 
 +
# Matlab
 +
    sudo yum install libXp.x86_64
 +
 
 +
# DrawTiming
 +
    sudo yum install ImageMagick-c++-devel
 +
 
 +
  then download DrawTiming and we have to add an include into src/timing.cc
 +
    wget http://downloads.sourceforge.net/project/drawtiming/drawtiming/0.7.1/drawtiming-0.7.1.tar.gz?use_mirror=kent
 +
 +
    cd /tmp
 +
    tar -zxvf drawtiming-0.7.1.tar.gz
 +
    cd src
 +
    vi timing.cc
 +
    #insert #include "strings.h" into top of file
 +
    cd ..
 +
    make install
 +
 
 +
    or install as root:
 +
    sudo make install
 +
 
 +
    Note: that is a direct download link to drawtiming 0.7.1, a new version may be available.
 +
    goto http://drawtiming.sourceforge.net/samples.html for instructions and samples
 +
 
 +
# CUDA:
 +
  Install nvidia driver, download 64 bit from nvidia.com
 +
    sudo bash ./NVIDIA-Linux-x86_64-185.18.14-pkg2.run --no-x-check
 +
  * Restart X server by logging out and back into X
 +
 
 +
  Install toolkit then SDK, download from nvidia.com
 +
    sudo sh cudatoolkit_2.2_linux_64_fedora10.run
 +
 
 +
  * The SDK installs to your local home directory, so install as root
 +
    sh cudasdk_2.21_linux.run
 +
 
 +
# nxserver: (VNC like service)
 +
  Install freenx, then copy ssh certificates
 +
    sudo yum install freenx
 +
    sudo scp YOUR_USER_NAME@mada0:/etc/openldap/cacerts/*dsa* /etc/nxserver/
 +
    sudo /etc/rc.d/init.d/freenx-server restart
 +
 
 +
# nxclient - Linux:
 +
  Install noMachine's nxClient, it's more refined then qtnx
 +
    sudo rpm -i http://64.34.161.181/download/3.4.0/Linux/nxclient-3.4.0-5.x86_64.rpm
 +
 
 +
    Launch NX:
 +
    /usr/NX/bin/nxclient
 +
 
 +
    Import the client key after copying it to your desktop
 +
    sudo cp /etc/nxserver/client.id_dsa.key ~/Desktop
 +
    configure Key -> import -> Desktop/client.id_dsa.key
 +
 
 +
  Note: If the client displays the host's screen for 1 sec and quits, select gnome as the window manager in nxclient instead of kde.
 +
 
 +
# nxclient - Windows
 +
    Install noMachine's nxClient
 +
    http://www.nomachine.com/download-package.php?Prod_Id=1411
 +
 
 +
    ssh into host machine:
 +
    sudo cat /etc/openldap/cacerts/client.id_dsa.key
 +
    copy the contents of that file COMPLETELY, from --BEGIN to --END
 +
    create a new file using textpad named client.id_dsa.key.txt
 +
    paste contents into file.
 +
    NxClient -> configure Key -> import -> Desktop/client.id_dsa.key.txt
 +
 
 +
  Note: If the client displays the host's screen for 1 sec and quits, select gnome as the window manager in nxclient instead of kde.
 +
 
 +
Shortcuts
 +
Keystrokes available in NX 3.x
 +
CTRL+Alt+Shift+Esc to get rid of a not responding session
 +
Ctrl + Alt + T to terminate a session
 +
Ctrl + Alt + F to switch to fullscreen/windowed
 +
Ctrl + Alt + M to minimize or maximize fullscreen window
 +
Ctrl + Alt + arrow keys to viewport navigation
 +
Ctrl + Alt + keypad arrow keys to viewport navigation
 +
Ctrl + Alt + R to switch auto-resize/viewport mode.
 +
Ctrl + Alt + E to toggle the lazy encoding
 +
Ctrl + Alt + J to fix a visualization problem
 +
Alt + F4 when the window manager is present, suspend or terminate a session
 +
Ctrl + Alt + K  enable/disable the catching of Alt+Tab and Print Screen keys
 +
 +
DONE
 +
 
 +
# nxclient - Mac
 +
Download the program from: http://www.nomachine.com/download-client-macosx.php
 +
Copy the server certificate just like the PC or Linux version.
 +
 
 +
# Editing packages
 +
    yum install -y aspell-en emacs openoffice firefox
 +
 
 +
# Matlab Specific packages
 +
    yum install -y libXp
 +
# Mathemathics packages
 +
    yum install -y R blas-devel gnuplot gsl-devel
 +
 
 +
# Version control and cmake
 +
    yum install -y cvs cmake git-all
 +
 
 +
# SESC Development packages
 +
    yum install -y bison ctags cscope doxygen gcc gcc-c++ gcc-gfortran gcc-java m4 flex
 +
 
 +
# Miscellaneous Development
 +
    yum install -y ant antlr boost-devel  fftw-devel vim-enhanced valgrind
 +
    python-devel  qt4
 +
 
 +
# Ruby / QtRuby / Korundum
 +
    yum install -y ImageMagick-devel QtRuby QtRuby-devel korundum korundum-devel pdftk
 +
    gem install pdf-toolkit rmagick gettext memcache-client  tzinfo  i18n builder  fast_xs json  (From /tmp directory)
 +
 
 +
===KDE Unique settings on each Desktop / Server===
  
By default, install the development packages.  
+
*We are going to create as many kde directories (settings only) as we want.
 +
  If we have mascd1, mascd7, mada1  we want to have 3 unique kde directories
 +
 
 +
  Copy your original .kde directory into the new 'unique' ones
 +
    cp -fR ~/.kde ~/.kde_mascd1
 +
    cp -fR ~/.kde ~/.kde_mascd7
 +
    cp -fR ~/.kde ~/.kde_mada1
  
In addition, for fedora,centos,RHEL use "yum install <packages>" (for ubuntu use apt-get <packages>)
+
*Now that we have all the directories, add this to the bottom of your ~/.bashrc file
to install the following packages:
+
  
====Editing====
+
export hostn=`hostname |cut -f1 -d"."`
  aspell-en emacs openoffice firefox
+
# If session is not NX, then normal kdehome for that client.
 +
#  otherwise, use the nx desktop kde directory
 +
if [ -z "$NXSESSIONID" ]
 +
then
 +
        export KDEHOME=~/.kde_$hostn
 +
else
 +
  export KDEHOME=~/.kde_`hostname |cut -f1 -d"."`nx
 +
  fi
 +
#check if kde home directory exists, otherwise, set to default
 +
if [ -f $KDEHOME ]
 +
then
 +
        export KDEHOME=~/.kde
 +
fi
  
====Mathematics====
 
R blas-devel gnuplot
 
  
====Development====
+
This script mainly works for use with NX sessions, it does not currently address being physically on multiple machines at once using KDE.
PyQt ant bison boost-devel ctags cscope cvs doxygen
+
eruby-devel gcc gcc-c++ gcc-gfortran gcc-java fftw-devel ruby ruby-devel rubygems
+
vim-enhanced valgrind python-devel m4 flex bison cmake qt4
+
  
====Graphics====
+
===FAILS===
opencv SDL-devel cairo-devel
+
  
====Compatiblity (Install most of the compatibility libraries)====
+
== Sun Grid Setup ==
compat-db compat-gcc-34 compat-gcc-34-c++ compat-gcc-34-g77
+
compat-glibc compat-glibc compat-glibc-headers compat-libf2c-34
+
compat-libf2c-34 compat-libgcc-296 compat-libstdc++-296
+
compat-libstdc++-33 compat-libstdc++-33
+
  
====IO====
+
# Check if the machine is listed
  usbutils
+
  qconf -sh
 +
# Otherwise add it to the list
 +
qconf -ah ????
 +
# ssh to client (as root)
 +
source /mada/software/setup.sh
 +
cd /mada/users/sge
 +
# add this to services
 +
sge_qmaster    536/tcp
 +
sge_execd      537/tcp
 +
# Run installation (use default parameters)
 +
./install_execd

Latest revision as of 17:57, 27 April 2012

Distribution Setup

We support Red Hat compatible Linux distributions (CentOS, Fedora), but you need to maintain some security configuration and packages. Each distribution has its own problems, check the issues before deciding what distribution to install. The distributions should:

  • Compile and run SESC and SESCTherm (with CUDA support)


  • Run synos rake command
 svn co svn+ssh://mada0.cse.ucsc.edu/mada/server/svn/synos
 cd synos/scoore/fpu
 rake
  • Execute vcs
 cd synos/scoore/fpu
 rake test:softfloat_tb
  • Execute synplicity_pro
 cd synos/scoore/fpu
 rake fpga:fpu v=1
 ./synplify_fpu.sh
  • Execute dc_shell-t
 cd synos/scoore/fpu
 rake asic:fpu v=1
 ./dc_fpu.sh
  • Run opencv applications (cd mthd/mgesture)
  • Run gosu examples (cd mthd/hdui)

Ubuntu 10.04

Preferred

Installation instructions at: Desktop Setup - Ubuntu 10.04

Configure LDAP caching

sudo apt-get install nss-updatedb
# Use your own username 
sudo scp username@mada0.cse.ucsc.edu:/etc/cron.hourly/* /etc/cron.hourly/


  • update database cache
sudo /etc/cron.hourly/nss_updatedb-ldap.sh
  • edit lines passwd and group in /etc/nsswitch.conf so that they are as follows (involves adding db before ldap)
sudo vi /etc/nsswitch.conf
passwd:         files db ldap
group:          files db ldap

CentOS 5.4

WORKS

sesc,sesctherm, synos, vcs, synplify_pro, dc_shell, opencv

FAILS

* gosu (gem rmagic and ruby-opengl package fail to install)
* sshfs (userspace ssh filesystem mount utility)
* Most modern linux kde related apps

Installation

Install the 64bit packages selecting development and latex packages.

# Update the yum repository (EPEL packages)
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
# Update distribution
yum update -y
# Editing packages
yum install -y aspell-en emacs openoffice firefox vim-X11
# Various fonts
yum install xorg-x11-fonts-100dpi-7.1-2.1.el5  xorg-x11-fonts-75dpi-7.1-2.1.el5 xorg-x11-fonts-ISO8859-1-100dpi-7.1-2.1.el5  xorg-x11-fonts-misc-7.1-2.1.el5  xorg-x11-fonts-truetype-7.1-2.1.el5
# Mathemathics packages
yum install -y R blas-devel gnuplot gsl-devel
# Version control and cmake
yum install -y cvs cmake git-all subversion
# SESC Development packages
yum install -y bison ctags cscope doxygen gcc gcc-c++ gcc-gfortran gcc-java m4 flex ncurses-devel
# Miscellaneous Development
yum install -y ant antlr boost-devel  fftw-devel vim-enhanced valgrind python-devel  qt4
# Compatiblity packages
yum install -y compat-db compat-db compat-gcc-34 compat-gcc-34-c++ compat-gcc-34-g77 compat-glibc
yum install -y compat-glibc compat-glibc-headers compat-libf2c-34 compat-libgcc-296 compat-libstdc++-296 
yum install -y compat-libstdc++-33 compat-libstdc++-33 compat-readline43 openmotif
# Ruby packages
yum install -y eruby-devel eruby-libs ruby-devel ruby-docs ruby-mode ruby-racc ruby-rdoc ruby-ri ruby-tcltk rubygem-rake rubygems
gem install --remote rspec
gem install rake rcov ruby-prof gecoder-with-gecode
# MT development
wget http://packages.sw.be/opencv/opencv-1.0.0-1.el5.rf.x86_64.rpm
wget http://packages.sw.be/opencv/opencv-devel-1.0.0-1.el5.rf.x86_64.rpm
rpm -i opencv*.rpm
yum install -y SDL_Pango-devel SDL_mixer-devel ImageMagick
gem install gosu
# Setup IP tables
Note: The iptables config file is only readable by root.  
# If you have root access a mascd machine:
   sudo scp mada0:/mada/server/setup/setup/iptables /etc/sysconfig/iptables

# If you only have sudo access on some mascdX machine:
#  ssh into that mascd machine, where X is the machine with the iptables file
   sudo cp /etc/sysconfig/iptables /tmp
   sudo chmod 777 /tmp/iptables
# Copy the file to your machine and restore correct permissions
   sudo scp madaX:/tmp/iptables /etc/sysconfig/iptables
   sudo chmod 600 /etc/sysconfig/iptables
# Lastly, erase the /tmp file on the mascdX machine, and restart iptables
#  ssh into it, rm /tmp/iptables
   sudo /etc/rc.d/init.d/iptables restart
# Setup services correctly
yum install -y chkconfig
scp mada0:/mada/server/setup/setup/setup.serv /root/setup.serv
for a in `grep "3:on" setup.serv  | cut -d0 -f1`; do chkconfig --level 3 $a on;  done
for a in `grep "3:off" setup.serv | cut -d0 -f1`; do chkconfig --level 3 $a off; done
for a in `grep "4:on" setup.serv  | cut -d0 -f1`; do chkconfig --level 4 $a on;  done
for a in `grep "4:off" setup.serv | cut -d0 -f1`; do chkconfig --level 4 $a off; done
for a in `grep "5:on" setup.serv  | cut -d0 -f1`; do chkconfig --level 5 $a on;  done
for a in `grep "5:off" setup.serv | cut -d0 -f1`; do chkconfig --level 5 $a off; done
# Setup automount
yum install -y autofs
mkdir /mada
unalias cp
scp mada1:/etc/auto.master /etc/
scp mada1:/etc/auto.mada /etc
service autofs restart
# LDAP setup
yum install -y openldap-clients
scp mada1:/etc/sysconfig/authconfig /etc/sysconfig/
scp mada1:/etc/ldap.conf /etc/
scp mada1:/etc/nsswitch.conf /etc
scp -r mada1:/etc/openldap/ldap.conf /etc/openldap/
scp -r mada1:/etc/openldap/cacerts/cert8.pem /etc/openldap/cacerts/


Fedora

WORKS

Fedora 10 x64 NOTE: most software is 64 bit, so make sure the x64 arch type is installed

    • Synplify Pro 9.62 is 32-bit. It needs:

a compatible libstdc++, tcl, qt To diagnose dependency problems: ldd /mada/software/synopsys/fpga_c200906/linux/mbin/synplify install by:

   sudo yum install -y compat-libstdc++-33-3.2.3-64.i386 compat-libstdc++-33-3.2.3-64.x86_64
   sudo yum install -y qt-4.4.3-15.fc10.i386 qt-x11-4.4.3-15.fc10.i386 tcl.i386 tcl.x86_64 nss_ldap-264-1.fc10.i386
   

Fedora 11:

   sudo yum install -y compat-libstdc++-33.i586 compat-libstdc++-33.x86_64 freetype-2.3.9-3.fc11.i586
   sudo yum install -y qt.i586 qt-x11.i586 fontconfig-2.7.1-1.fc11.i586 tcl.i586

Need this file, but problematic glib2-2.20.4-1.fc11.i586

DONE

    • VCS 2008-09 needs:

a compatible libstdc++ libtermcap

install by:

   sudo yum install -y compat-libstdc++-33-3.2.3-64.i386 compat-libstdc++-33-3.2.3-64.x86_64 libXt.i386
  # copy /lib64/libtermcap.so.2* from any mascd machine into your /lib64
  # then rebuild linker database:
  sudo ldconfig
  Note:  If using NFS mounted user directory, make sure to wipe out ./csrc directory (under which you invoke VCS) 
         you so that VCS rebuilds the design with the new GCC, otherwise it will not work.  This may
         become necessary if switching from Fedora to CentOS machines frequently.

DONE

  • LDAP setup (NEED Root of mascd2 or working FC machine)
  sudo yum install -y openldap-clients
  scp mascd2:/etc/sysconfig/authconfig /etc/sysconfig/
  scp mascd2:/etc/ldap.conf /etc/
  scp mascd2:/etc/nsswitch.conf /etc
  scp -r mascd2:/etc/openldap/ldap.conf /etc/openldap/
  scp -r mascd2:/etc/openldap/cacerts/cert8.pem /etc/openldap/cacerts/
 
  run
  setup -> Authentication Configuration 
      User Information: 
          Cache Information
          Use LDAP
 
      Authentication:
          Use Shadow Passwords
          Use LDAP
          Local authorization is sufficient
      Next -> Finish
 
  Done
    
  • Setup automount
  yum install -y autofs
  mkdir /mada
  unalias cp
  scp mascd1:/etc/auto.master mascd1:/etc/auto.mada /etc/
  service autofs restart
  • Setup IP tables
Note: The iptables config file is only readable by root.  
# If you have root access a mascd machine:
   sudo scp mada0:/mada/server/setup/setup/iptables /etc/sysconfig/iptables

# If you only have sudo access on some mascdX machine:
#  ssh into that mascd machine, where X is the machine with the iptables file
   sudo cp /etc/sysconfig/iptables /tmp
   sudo chmod 777 /tmp/iptables
# Copy the file to your machine and restore correct permissions
   sudo scp madaX:/tmp/iptables /etc/sysconfig/iptables
   sudo chmod 600 /etc/sysconfig/iptables
# Lastly, erase the /tmp file on the mascdX machine, and restart iptables
#  ssh into it, rm /tmp/iptables
   sudo /etc/rc.d/init.d/iptables restart
  • GOSU (ruby OpenGL lib)

First install Ruby and the like...

  sudo yum install -y ruby-1.8.6.287-2.fc10.x86_64 ruby-libs-1.8.6.287-2.fc10.x86_64 rubygem-rake-0.8.3-1.fc10.noarch ruby-devel-1.8.6.287-2.fc10.x86_64
  sudo yum install -y rubygems-1.3.1-1.fc10.noarch ruby-rdoc-1.8.6.287-2.fc10.x86_64  ruby-mode-1.8.6.287-2.fc10.x86_64 ruby-irb-1.8.6.287-2.fc10.x86_64

Then Install SDL audio related stuff

  sudo yum install -y SDL-1.2.13-7.fc10.i386  SDL-1.2.13-7.fc10.x86_64  SDL-devel-1.2.13-7.fc10.x86_64 
  sudo yum install -y SDL_mixer-1.2.8-9.fc10.x86_64 SDL_mixer-devel-1.2.8-9.fc10.x86_64 SDL_mixer-1.2.8-9.fc10.i386 SDL_mixer-devel-1.2.8-9.fc10.i386
     

Finally Gosu itself

  cd /tmp 
  sudo gem install gosu


DONE


Other important Libraries

  1. Xilinx USB JTAG Cable 64 bit version
  We will need to install fxload, libusb-devel, libusb, libusb-driver and to run the Xilinx setup script
   sudo yum install fxload libusb libusb-devel

   cd ~
   wget "http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver?a=snapshot;h=HEAD;sf=tgz"
   tar -zxvf usb-driver*
   cd usb-driver
   make
   sudo cp *so /usr/lib64
   sudo sh /mada/software/xilinx/ISE/bin/lin64/install_script/install_drivers/install_drivers 


   Plug in jtag cable and the amber or green light should turn on
   For further reference: http://www.rmdir.de/~michael/xilinx/
  1. grmon (LEON3 JTAG Debug console)
  sudo yum install -y zlib.i686
  then run grmon-eval -xilusb -u (For Xilinx jtag)
  1. PDF Printer
  This will create a pdf file in ~/, with spaces translated to underscores.
   sudo yum install cups-pdf
  1. Cadence Virtuoso
  Install some libraries...
  FC 10:
   sudo yum install csh ksh elfutils-libelf.i386 libXp.i386 libXt.i386
  FC11:
   sudo yum install csh ksh elfutils-libelf.i586 libXp.i586 libXt.i586
 * Note: font errors and locking assertions are warnings and are non-fatal.
  1. Matlab
   sudo yum install libXp.x86_64
  1. DrawTiming
   sudo yum install ImageMagick-c++-devel
 then download DrawTiming and we have to add an include into src/timing.cc
   wget http://downloads.sourceforge.net/project/drawtiming/drawtiming/0.7.1/drawtiming-0.7.1.tar.gz?use_mirror=kent

   cd /tmp
   tar -zxvf drawtiming-0.7.1.tar.gz
   cd src
   vi timing.cc
   #insert #include "strings.h" into top of file
   cd ..
   make install
   or install as root: 
   sudo make install
  
   Note: that is a direct download link to drawtiming 0.7.1, a new version may be available.
   goto http://drawtiming.sourceforge.net/samples.html for instructions and samples
  1. CUDA:
  Install nvidia driver, download 64 bit from nvidia.com
   sudo bash ./NVIDIA-Linux-x86_64-185.18.14-pkg2.run --no-x-check
 * Restart X server by logging out and back into X
  Install toolkit then SDK, download from nvidia.com
   sudo sh cudatoolkit_2.2_linux_64_fedora10.run
  
 * The SDK installs to your local home directory, so install as root 
   sh cudasdk_2.21_linux.run
  1. nxserver: (VNC like service)
  Install freenx, then copy ssh certificates
   sudo yum install freenx
   sudo scp YOUR_USER_NAME@mada0:/etc/openldap/cacerts/*dsa* /etc/nxserver/
   sudo /etc/rc.d/init.d/freenx-server restart
  1. nxclient - Linux:
  Install noMachine's nxClient, it's more refined then qtnx
   sudo rpm -i http://64.34.161.181/download/3.4.0/Linux/nxclient-3.4.0-5.x86_64.rpm
   Launch NX: 
    /usr/NX/bin/nxclient
   Import the client key after copying it to your desktop
    sudo cp /etc/nxserver/client.id_dsa.key ~/Desktop
    configure Key -> import -> Desktop/client.id_dsa.key
 Note: If the client displays the host's screen for 1 sec and quits, select gnome as the window manager in nxclient instead of kde.
  1. nxclient - Windows
   Install noMachine's nxClient
    http://www.nomachine.com/download-package.php?Prod_Id=1411
    ssh into host machine: 
    sudo cat /etc/openldap/cacerts/client.id_dsa.key
    copy the contents of that file COMPLETELY, from --BEGIN to --END
    create a new file using textpad named client.id_dsa.key.txt
    paste contents into file.
    NxClient -> configure Key -> import -> Desktop/client.id_dsa.key.txt
 Note: If the client displays the host's screen for 1 sec and quits, select gnome as the window manager in nxclient instead of kde.
Shortcuts
Keystrokes available in NX 3.x
CTRL+Alt+Shift+Esc to get rid of a not responding session
Ctrl + Alt + T to terminate a session
Ctrl + Alt + F to switch to fullscreen/windowed
Ctrl + Alt + M to minimize or maximize fullscreen window
Ctrl + Alt + arrow keys to viewport navigation
Ctrl + Alt + keypad arrow keys to viewport navigation
Ctrl + Alt + R to switch auto-resize/viewport mode.
Ctrl + Alt + E to toggle the lazy encoding
Ctrl + Alt + J to fix a visualization problem
Alt + F4 when the window manager is present, suspend or terminate a session
Ctrl + Alt + K  enable/disable the catching of Alt+Tab and Print Screen keys 

DONE

  1. nxclient - Mac
Download the program from: http://www.nomachine.com/download-client-macosx.php
Copy the server certificate just like the PC or Linux version.
  1. Editing packages
   yum install -y aspell-en emacs openoffice firefox
  1. Matlab Specific packages
   yum install -y libXp
  1. Mathemathics packages
   yum install -y R blas-devel gnuplot gsl-devel
  1. Version control and cmake
   yum install -y cvs cmake git-all
  1. SESC Development packages
   yum install -y bison ctags cscope doxygen gcc gcc-c++ gcc-gfortran gcc-java m4 flex
  1. Miscellaneous Development
   yum install -y ant antlr boost-devel  fftw-devel vim-enhanced valgrind 
   python-devel  qt4
  1. Ruby / QtRuby / Korundum
   yum install -y ImageMagick-devel QtRuby QtRuby-devel korundum korundum-devel pdftk
   gem install pdf-toolkit rmagick gettext memcache-client  tzinfo  i18n builder  fast_xs json   (From /tmp directory)

KDE Unique settings on each Desktop / Server

  • We are going to create as many kde directories (settings only) as we want.
 If we have mascd1, mascd7, mada1  we want to have 3 unique kde directories
 
 Copy your original .kde directory into the new 'unique' ones
   cp -fR ~/.kde ~/.kde_mascd1
   cp -fR ~/.kde ~/.kde_mascd7
   cp -fR ~/.kde ~/.kde_mada1
  • Now that we have all the directories, add this to the bottom of your ~/.bashrc file
export hostn=`hostname |cut -f1 -d"."`
# If session is not NX, then normal kdehome for that client.
#  otherwise, use the nx desktop kde directory
if [ -z "$NXSESSIONID" ]
then
       export KDEHOME=~/.kde_$hostn
else
  export KDEHOME=~/.kde_`hostname |cut -f1 -d"."`nx
fi
#check if kde home directory exists, otherwise, set to default
if [ -f $KDEHOME ]
then
       export KDEHOME=~/.kde
fi


This script mainly works for use with NX sessions, it does not currently address being physically on multiple machines at once using KDE.

FAILS

Sun Grid Setup

  1. Check if the machine is listed
qconf -sh
  1. Otherwise add it to the list
qconf -ah ????
  1. ssh to client (as root)
source /mada/software/setup.sh
cd /mada/users/sge
  1. add this to services
sge_qmaster     536/tcp
sge_execd       537/tcp
  1. Run installation (use default parameters)
./install_execd