User Tools

Site Tools


correlator:newcorrelatorcontrolcomputers

NewCorrelatorControlComputers

May 2006 - We are getting new machines for running the correlator control software.

This is a list of actions/pro memori/pitfalls that we must keep in mind or fix


directory layout

  Productie omgeving

        /ccs/opt/<3rdparty>-<version>/bin/..
	                             /lib/..
            /bin/<symlinks naar standaard versies van 3rd party>
            /lib/<     ....      id        .....               >
            /rel3009/ ...
            /rel3480/ ...
            /src/<tarballs-van-3rd-party>[/<temp dir for building 3rd party>]

        Developmentomgeving

        /ccs++/tst0102/ ...
              /tst<..>/ ...

Scripts

  • De perl scripts + afhankelijkheden (welke Perl modules hebben we nodig om te draaien?) Ook: uitzoeken/uitvinden welke nodig zijn om te draaien.
  • Niet perl-scripts, shell of evt andere talen die we nodig hebben om te draaien

Externe afhankelijkheden

  • Albert's object file. Nodig: een mount (evt 'auto-mount') naar daw02.nfra.nl:/users en gcc [maar die hebben we zelf ook al nodig]

Albert zal dus ook zijn scripts/aliases aan moeten passen (wellicht).

  • Uitzoeken welke 3rd party packages solaris ondertussen ge-precompileerd heeft.

Van sommige paketten weten we denk ik al dat Sun ze niet zal hebben, zoals

  • CALC
  • VEX
  • PGPLOT

Verder hebben we nodig

  • MySQL → verified (zit bij Solaris 10)
  • GCC + G77 → id (versie 3.4.3)
  • Perl/Python → id
  • Flex (bij solaris 10 zit versie 2.5.4.. hopelijk de goede 'smaak')
  • Qt NIET bij Solaris 10, moeten we zelf doen dus
  • een versie van GNU patch; Solaris 'patch' begrijpt patchfiles niet (as in, patchfiles die gemaakt zijn met 'diff -up')
  • Voordat we operationeel kunnen draaien moeten we mSQL er uit slopen, MySQL er (weer) inpluggen en de persistent Array code ombouwen zodat de arrays niet in files maar in Blobs in de database terecht komen.

Op sunfreeware kunnen we deze vinden volgens mij….

  • cvs [jeeez … ;)]
  • flex 2.5.31 (als dat nodig mocht zijn)
  • qt-3.3.4
  • tk-8.4.9 [voor 't geval de systeem versie niet up to date genoeg is]
  • vim 6.3 [voor sommigen (zeer) noodzakelijk :) ik denk dat ik vim 7 er zelf wel op zet]

HV 01/06/2006

Begonnen met downloaden van extra pakketten.
Besloten om nog geen jops/jive_cc account aan te maken omdat we momenteel alleen local accounts hebben. Ik installeer/bouw alles onder het local account 'verkout' op juw31.nfra.nl
Onze spullen komen terecht onder /ccs en /ccs++ dus met owner 'verkout'. Als we NIS aan de gang hebben kunnen we in een keer deze boom(bomen) omzetten van local owner 'verkout' naar NIS account 'jive_cc'.
Nu kan er in ieder geval geen vergissing bestaan tussen een local account 'jive_cc' en een NIS account 'jive_cc'.
De “ruwe” pakketten heb ik in '/export/home/verkouter/pkg_src/{sunfreeware,sundownloadcenter}' geplaatst, al naar gelang waar ik ze vandaan heb. In die directories unzip ik ze ook
Daarna pkgtrans(1) ik ze naar '/export/home/verkouter/pkgs' waarvandaan je ze als root kunt pkgadd(1)-en

Geinstalleerd/geverifieerd de volgende pakketten. Er zijn verschillende locaties dus je pad moet aardig aangepast worden en voor sommige dingen is de volgorde belangrijk.

  • Onder /bin staat perl 5
  • Onder /usr/sfw/{bin,include,lib} staan o.a. mysql, mozilla, gcc/g++ 3.4.3, gmake, gtar, binutils 2.15 [met 'g' prefix, dus gnm, greadelf, granlib, gar], flex 2.5.4, tcl/tk 8.3, python 2.3.3
  • Qt staat onder /usr/local/qt 3.3.4
  • Onder /usr/local/{bin,include,lib} staat gcc/g++/g77 3.3.2 [hier dus wel g77!], tcl/tk 8.4, top, cvs 1.11.20, rsync 2.6.8 [werkt nog niet; heeft nog een .so nodig: libiconv.so.2]

UPDATE 02/06/2006: HV: libiconv 1.8 geinstalleerd (via sunfreeware).

  • Onder /opt/sfw/{bin,include,lib} staat vim 6.3, binutils 2.15 (sorry) [nog immer met 'g' prefix], xpdf
  • Speciaal voor de sissies onder ons, emacs (21.3) is te vinden onder /opt/sfw/bin

Mijn huidige pad is: .:/bin:/usr/bin:/sbin:/usr/sbin:/opt/sfw/bin:/usr/sfw/bin:/usr/local/bin:/usr/openwin/bin:/usr/X11/bin wat nagenoeg alles geeft wat we nodig hebben. Moet nog wel even kijken naar gcc/g77 enzo want met deze setting krijg je gcc/g++ 3.4.3 en g77 3.3.2 (kwestie van /usr/sfw en /usr/local omdraaien)

Belangrijk!
De g77 die er nu dus op staat kan wel object files bakken maar geen binaries! libg2c is hiervoor noodzakelijk maar die ister dus niet. Zit niet in het installatiepakket.
Ik was begonnen met gcc-3.4.6 zelf te bouwen maar die gaf tijdens de configuratie al aan dat het target ' i386-pc-solaris2.10' (wat ons systeem dus is) voor libg2c (en nog een paar andere) niet ondersteund word. Grrrr..
Niet verder geprobeerd. gcc 3.3.2 gedownload (want die kan blijkbaar wel?)
De tarfile staat in '/ccs/opt/tarfiles', die heb ik gextract in '/ccs/opt/tmp' en ik ben begonnen met configureren/bouwen in '/ccs/opt/tmp/solaris10-intel'
Config commando:

export CC=/usr/local/bin/gcc
../gcc-3.3.2/configure --prefix=/ccs/opt/gcc-3.3.2 --program-suffix=-3.2 --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-threads=posix --enable-languages=c,c++,f77 --disable-nls

Alleen de 'gmake bootstrap' faalt al vrijwel meteen:

/usr/local/bin/gcc -c -DHAVE_CONFIG_H -g -O2 -I. -I../../gcc-3.3.2/libiberty/../include  -W -Wall -Wtraditional -pedantic ../../gcc-3.3.2/libiberty/strsignal.c -o strsignal.o
In file included from /usr/include/sys/signal.h:34,
                 from /usr/include/signal.h:26,
                 from ../../gcc-3.3.2/libiberty/strsignal.c:23:
/usr/include/sys/siginfo.h:259: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:292: error: parse error before '}' token
/usr/include/sys/siginfo.h:292: error: ISO C forbids data definition with no type or storage class
/usr/include/sys/siginfo.h:294: error: parse error before '}' token
/usr/include/sys/siginfo.h:294: error: ISO C forbids data definition with no type or storage class
/usr/include/sys/siginfo.h:390: error: parse error before "ctid_t"
/usr/include/sys/siginfo.h:392: error: conflicting types for `__proc'

en toen was't 17:00 uur en dus vakantie…. Veel plezier er mee!!! ;)


Systeembeheer zaken

IP nummers (+ bijbehorende naam) nodig:

  • 1 fixed per machine (juw31/juw32)
  • 3 pseudo-IP nummers, die verhuizen als de rollen van de machines omdraaien en/of een andere JCCS omgeving operationeel gemaakt wordt
  • productie omgeving
  • development omgeving
  • operationele omgeving
  • NFS - de codetrees moeten in de meeste gevallen ook vanaf andere machines benaderd

kunnen worden:

  • op juw26 draaien cdi en data_handler en consorten, graag wil je daar natuurlijk dezelfde versie (of misschien ook wel niet?) draaien als elders
  • op juw27/pcint_cluster word de vertaling van correlator data → MeasurementSet gedaan en deze software gebruikt (delen van) JCCS.
  • En nog wat: cdi/datahandler moeten PCInt aware gemaakt worden. As such, moet PCInt dus ook op deze systemen geinstalleerd worden.
  • Gebruikersaccounts. In ieder geval nodig:

jive_cc jops szomoru kettenis olnon verkout eldering small bos


HV: 02/06/2006

  • Ik heb een group 'jccseng' gedefinieerd ('JCCS engineers') [jccs{coders|hackers} was te lang *bummer*] en de toplevel directories /DEV /PROD (nog te renamen naar /ccs en /ccs++) ge-change-grouped naar deze group zodat members van de group daar schrijfrechten hebben.
  • Ik heb ook een *symlink* gemaakt, /ccs/ (die dus naar /PROD verwijst). Op het moment dat dat een 'echte' directory wordt, daar dus wel ff rekening mee houden…
  • Ik heb /bin/bash toegevoed als geaccepteerde loginshell. Let wel, als je ssh-ed naar juw31 en je hebt /bin/bash als login shell dan wordt je .bashrc NIET gelezen. Wel wordt .bashrc_profile gelezen. Ik heb een symlink van .bashrc_profile naar .bashrc gemaakt en dat voldoet vooralsnog.

20060621

kettenis:

The GCC 3.4.3 that comes with Solaris 10 doesn't include g77. The Sun Freeware companion disk has GCC 2.95.3 and its g77 should be perfectly usable with GCC 3.4.3, so try using that instead of compiling GCC 3.2.2.

  • Make jccseng the default group for verkouter and kettenis
  • Installed SFWcvs, SFWdb1 and SFWgcc2
  • Installed /ccs/opt/albert with a dummy jive_CD3_incl.o_SunOS_5_i86pc

20060622

kettenis:

  • The package SFWqt contains Qt 3.1.1; unfortunately doesn't build with it.
  • The package SMCqt contains Qt 3.3.4; this one isn't useful either because it is compiled using an older GCC.

20060623

kettenis:

  • Asked Albert Bos to make jive_CD3_incl.o_SunOS_5_i86pc
  • Installed Qt 3.2.3: ./configure -prefix /ccs/opt/qt-3.2.3 -platform solaris-g++; make; make install
  • Installed /ccs/opt/calc-8.1 based on the changes made by anderson
  • Added /bin/tcsh to /etc/shells
  • Added user bos
  • Temporarily mounted daw02:/users/bos on /daw02/users/bos
  • Remove the packages SMCqt and SMCcvs

20060630

kettenis:

  • /usr/sbin/groupadd mysql
  • /usr/sbin/useradd -s /bin/false -g mysql -d /var/mysql -c “MySQL User” mysql
  • DNS, NIS
correlator/newcorrelatorcontrolcomputers.txt · Last modified: 2008/09/29 14:41 by 127.0.0.1