MIRC6:2011OSUpgradeChat

From Monnier Group Research Wiki
Revision as of 01:23, 15 May 2011 by Monnierast (talk | contribs)
Jump to navigationJump to search

Use this page to update our running list of questions and problems with upgrading MIRC from gentoo/rtai to debian/xenomai.

Please use your initials to write questions and when they are responded to. we should move answered questions to the top.




JDM: Why is new mirc crashing when reading large arrays?


XC: There are two initializations of two pointers in the code, and if I comment them out, the code seems to run smoothly. I have paste the two initializations here:

1. bzero(bkgndBuffer,daq.rows*daq.cols*daq.nreads*daq.numberOfFrames*sizeof(float) );

2.

    for (n1=0;n1<daq.cols/2; n1++) {
      for(k2=0; k2< daq.rows/2; k2++){
        lf = (exc.lambda-(exc.bandwidth/2.0)) + exc.bandwidth*k2/(daq.rows/2-1);
        lf = exc.lambda/lf;
        for (k1=0;k1<daq.cols/2; k1++) {
          *(xtransform+k1+k2*daq.cols/2+n1*(daq.cols/2*daq.rows/2)) =
            (float complex)  (lf*cos(2*PI*lf*k1*n1/(daq.cols/2))) +
            I*(float complex)(lf*sin(2*PI*lf*k1*n1/(daq.cols/2)));
          *(xtransform_re+k1+k2*daq.cols/2+n1*(daq.cols/2*daq.rows/2)) =
            (float)  (lf*cos(2*PI*lf*k1*n1/(daq.cols/2)));
          *(xtransform_im+k1+k2*daq.cols/2+n1*(daq.cols/2*daq.rows/2)) =
            (float)(lf*sin(2*PI*lf*k1*n1/(daq.cols/2)));
        }}}
    for (n2=0;n2<daq.rows/2; n2++){
      for (k2=0; k2< daq.rows/2; k2++){
        *(ytransform+k2+n2*daq.rows/2)=
          (float complex)  (cos(2*PI*k2*n2/(daq.rows/2))) +
          I*(float complex)(sin(2*PI*k2*n2/(daq.rows/2)));
        *(ytransform_re+k2+n2*daq.rows/2)=
          (float)  (cos(2*PI*k2*n2/(daq.rows/2)));
        *(ytransform_im+k2+n2*daq.rows/2)=
          (float)(sin(2*PI*k2*n2/(daq.rows/2)));
      }}



JDM: Assuming we can compile code in our own home accounts, how do we actually execute RTScheduler and spooler with the correct permissions/authority? use sudo? login as root?

EP: I just reminded myself... The CHARA lib and header are in /usr/local, MIRC binaries are installed in /usr/local/bin when you type make install. You just checkout control/MIRC, cd control/MIRC and make. I just tried and it works

To execute you could do this: open a terminal, login as root and execute RTscheduler (if it is installed in /usr/local/bin or ./RTScheduler (60000 may be redundant).

For the spooler login as spooler and type spooler (or ,/spooler from your directory)


JDM: so who can compile and install new libraries in /usr/local? what is the process?

EP: anyone can compile the binaries or libraries in his on directory. Only root can install in /usr/local (or administrator with sudo)

The process?

make

make install

The CHARA libs are more finicky. I just checked out the essential libs. Theo told me to checkout and compile everything, but that is HUGE and half of it does not compile. I just checked out and compiled the minimum necessary.

The other possibility would be to mount the CHARA libs from michelson on /usr/local or somewhere else. This could be done using sshfs instead of NFS.The advantage would be that when Theo changes something in the libs it will be immediately available to us. The disadvantage is that when Theo changes something it will probably break our system.