Archive for January, 2007

Starting over by creating an entirely new project.

mkdir ~/fdaq/v3mary
cp -r /fnal/ups/prd/cdfvme_teststand/v1_1/NULL/* .
./newTestStand fdaq pfred pfredsumet

Edit ups/fdaq.table and remove any -native flags

ups declare -f NULL -r $PWD -M ups -m fdaq.table fdaq v3mary
setup fdaq v3mary

In fdaq, run

grep swing *

In all the files that come up, edit them so that any line that reads:
import com.sun.java.swing…
reads as
import javax.swing…

Back in $FDAQ_DIR, run gmake.

Now it’s complaining about the pfred package not being here. So go back to your home area and do the setup for pfred.

mkdir pfred
mkdir pfred/v3mary
cd pfred/v3mary
cp -r /fnal/ups/prd/cdfvme_template/v1.1/* .
./newPackage pfred pfredsumet
ups declare -f NULL -r $PWD -M ups -m pfred.table pfred v3mary
setup pfred v3mary

Edit the pfred/*java files for com.sun.java.swing and change to javax.swing

gmake

We’re back to this error of getting:

g -I/fnal/ups/prd/cdfvme_common/Linux+2/v3.0/server/crate -I/fnal/ups/prd/robin/v2_4_10/NULL/include -I/fnal/ups/prd/fision/v2_16/include                                                  pfredsumet_able.c -o ../lib///pfredsumet_able.o
gmake[1]: g: Command not found

I’m sure this should be gcc commands running, but I don’t know why they’re not.

I edited the file make.rules and changed:

[maryh@blue server]$ diff make.rules make.rules.ORIG 
8c8
< CFLAGS = gcc -g -I$(CDFVME_COMMON_DIR)/server/crate \
---
> CFLAGS = -g -I$(CDFVME_COMMON_DIR)/server/crate \

Now I get an error about vxWorks.h: No such file or directory

I’d like to just setup vxworks, but it hasn’t been declared.

I tried a bunch of different ways of declaring vxworks, but I always get errors when I try to run setup vxworks (and I tried a bunch of different parameters after this). So, my main problem is that gmake can’t find vxWorks.h when compiling. This file is in /fnal/ups/prd/vxworks/v5_3b/target/h. I should be able to manually add this directory and all will be good.

Tried manually setting CFLAGS and CPPFLAGS to the h directory above, but it didn’t matter.

Got desperate. In /fnal/ups/prd/vxworks/v5_3c/ups/vxworks-powerpc.table, commented out this line:

# setupRequired(“-H VxWorks+5.3.1 vxworks_powerpc ${UPS_PROD_VERSION}”)

ups declare -f NULL -H VxWorks+5.3 -q ppc -r $PWD -M ups -m vxworks-powerpc.table vxworks v5_3c -c
setup vxworks -q ppc

Ok, now we’re getting somewhere. UNMAKE the change to make.rules because got some other weirdness with the gcc commands.

Now things ran for a bit before we got errors. Here is the part of the output that concerns me:

cd ../..; ridl -repository=server/interface_rep -language=Java-client -JavaPrefix=pfred server/pfredsumet/pfredsumetVme.idl
../extendBoard pfredsumet
../extendBoard pfredsumetClient
../addDummyConstructor pfredsumetClient
javac pfredsumet.java
javac pfredsumetClient.java
pfredsumetClient.java:86: cannot find symbol
symbol  : method _get_implementation()
location: interface org.omg.CORBA.Object
    return( ourObject._get_implementation() );
                     ^
pfredsumetClient.java:90: cannot find symbol
symbol  : method _get_interface()
location: interface org.omg.CORBA.Object
    return( ourObject._get_interface() );
                     ^
pfredsumetClient.java:105: cannot find symbol
symbol  : method _create_request(org.omg.CORBA.Context,java.lang.String,org.omg.CORBA.NamedValue,org.omg.CORBA.ExceptionList,org.omg.CORBA.ContextList)
location: interface org.omg.CORBA.Object
    return( ourObject._create_request( ctx, operation, result, exclist, ctxlist ) );
                     ^
3 errors

This CORBA stuff is all from the robin package. I did set up the latest version of robin v2_4_10. So, I’m not sure what to do next.

We are trying to resurrect our teststand to use for testing boards, without having to take them to Fermilab to be tested. These are the notes I’m taking while attempting to get this working.

In my home directory, I am trying to compile admem. First problem is that the version of java has changed. We get lots of errors about com/sun/java/swing not being found. This is fixed by editing the java file and changing:

import com.sun.java.swing.*;
import com.sun.java.swing.text.*;

to

import javax.swing.*;
import javax.swing.text.*;

cd $ADMEM_DIR and gmake gives errors about ridl: command not found.

ridl is a robin command, so need to add setup robin to our setup_vme file. This adds /fnal/ups/prd/robin/v2_4_10/NULL/Linux-2.6-2.3.4/i686 to our path. Alas, this is not a directory, so in $ROBIN_DIR, I’m making it a link to Linux-2.0.35 which is what all the linux versions link to.

ln -s Linux-2.0.35 Linux-2.6-2.3.4

Now, in $ADMEM_DIR, we get lots of new errors.

Most of the form:

g -I/fnal/ups/prd/cdfvme_common/Linux+2/v3.0/server/crate -I/fnal/ups/prd/robin/v2_4_10/NULL/include -I/fnal/ups/prd/fision/v2_16/include                                             admem_able.c -o ../lib///admem_able.o
gmake[1]: g: Command not found

This looks to me like it’s trying to run gcc, but is only using g on the command line. This appears to be coming from the GNUmakefile in server/admem.

All the mosis files are usually installed in /net/sw/mosis/IBM_PDK. So, for version 7WL, the files are in /net/sw/mosis/IBM_PDK/bicmos7wl. In that directory, there is a directory called:

V1.5.0.4DM/cdslib/examples

I made a tarfile of these example files, called new_workarea.tar and put in here:

/net/sw/mosis/IBM_PDK/bicmos7wl/V1.5.0.4DM/new_workarea.tar

Extract this file to whatever the working directory should be. Also, copy the display.drf file from /net/sw/mosis/IBM_PDK/bicmos7wl/V1.5.0.4DM/cdslib/bicmos7wl to the working directory.

Printers [A-D]_file on HP were readded (due to upgrade of Mentor software) in basically the same manner as on linux.

Printing Home: /net/sw/mgc_hpux/printer

Config files: configs/hostname
Fis files: fis/hostname
Model files: model/hostname

lpshut
lpadmin -pA_file -i/net/sw/mgc_hpux/printer/model/amp/A_file -v/dev/null
lpsched
enable A_file
accept A_file

I’m using a kickstart file to install all proper packages and set up the shop environment on each new node. I have a script called make_ksfile in my work directory that will modify an existing ks file (ks.RHEL3.GENERIC) to work for a new node. Basically, the only items that are changing are:

ip address
hostname
drives
disk to install to

Once the kickstart file has been created, put it on a usb drive. Hook the usb drive up to one of the BACK usb ports (not sure why but front ones rarely work for kickstart files) and run the following at the linux: prompt.

linux ks=hd:sdb1:/name.ks –if using a computer with a sata drive

linux ks=hd:sda1:/name.ks –if using a computer with an ide drive

Linux will name the usb drive as a scsi drive. But it will name any hard disks first, starting with sda. So, the first drive (if have sata) is sda and the usb will be sdb. But if the computer has an ide drive, that will be named hda and the usb drive will be named sda. The 1 after sda or sdb refers to the partition number. On my usb drive, I have only one partition, so this will always be a 1.

After the installation, need to copy the following files from the server to the new node. That will complete the installation.

/etc/passwd
/etc/shadow
/etc/group
/etc/csh.cshrc

Edit /etc/cups/cupsd.conf. At the end of the file, make it look like this:

Browsing Off
Listen 127.0.0.1:631

Add the printers with:

/usr/sbin/lpadmin -p edg1 -E -v socket://edg1:9100 -o Duplex=DuplexNoTumble -P /usr/share/cups/model/postscript.ppd.gz

# phaser (edg4)
/usr/sbin/lpadmin -p phaser -E -v socket://edg4:9100 -o Duplex=DuplexNoTumble -P /usr/share/cups/model/postscript.ppd.gz

# plotter (edg3)
/usr/sbin/lpadmin -p plotter -E -v socket://edg3:9100 -P /usr/share/cups/model/postscript.ppd.gz

# Make edg1 the default
/usr/sbin/lpadmin -d edg1

Restart cups: /etc/rc.d/init.d/cups restart

# Install Adobe Reader
rpm -i /net/sw/edg/kickstart/install-RHEL3/AdobeReader_enu-7.0.1-1.i386.rpm

I tried doing this in the kickstart file, but it didn’t work.

filter_setup — for Mentor printers
For print to file, make new files for new node in /net/sw/mgc/printer/fis,config,model and run:

lpadmin -pA_file -E -i/net/sw/mgc/printer/model/ic/A_file -v/dev/null

for each printer

Also, create /net/designs/psfiles/new_node

Edit /etc/cups/mime.conv and mime.types and uncomment the octet-stream lines. Restart cups.

Install video drivers, instructions here. But, basically, run:

/net/sw/edg/kickstart/display/ati-driver-installer-8.29.6.run
aticonfig --initial
aticonfig --resolution=0,1920x1200,1600x1200,1024x768
init 3
init 5
up2date --nox -u

That’s two dashes in front of nox and one dash in front of u. The u means to upgrade all relevant packages.