Difference between revisions of "Desktop Setup"
Jose Renau (Talk | contribs) (→Minimum Packages Required) |
|||
(119 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
==Distribution Setup== | ==Distribution Setup== | ||
− | We support | + | 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) | |
− | + | ||
− | + | * 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 | 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 | |
+ | 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 | + | yum install -y SDL_Pango-devel SDL_mixer-devel ImageMagick |
gem install gosu | 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 | 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 | |
− | + | yum install -y autofs | |
mkdir /mada | mkdir /mada | ||
unalias cp | unalias cp | ||
− | scp | + | scp mada1:/etc/auto.master /etc/ |
+ | scp mada1:/etc/auto.mada /etc | ||
service autofs restart | 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/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/ | ||
− | |||
− | ===Fedora=== | + | |
+ | ==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=== | ||
+ | |||
+ | *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 == | ||
+ | |||
+ | # Check if the machine is listed | ||
+ | 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
Contents
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
- 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
- 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
- Check if the machine is listed
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