Privacy and Security Notice

Archived Messages for CDEV_1996@cebaf.gov: cdev 1.3 on AIX

cdev 1.3 on AIX

Franck DI MAIO (Franck.Di-Maio@cern.ch)
Mon, 30 Sep 1996 13:02:15 +0100

We successfully completed the port of cdev vs 1.3 on top of
the CERN-PS equipment access library (new C++ version).

Details:
- AIX vs 4.1,
- no shared library,
- no collections,
- complete access to PS equipment: any equipment,
all data types, PPM parameters, error handling,
- support the following standard:
verbs = {get, set}
tags:
value - numeric types + char *, simple or 1 dimension array
status - int32 - local error codes, 0 means no error.

These are the problems encountered with AIX,
only the 1st one is severe and not solved by us.

-------------------------------------------------------------
From: Yan.Pujante@cern.ch
Context: AIX vs 4.1, no shared library.

1) We cannot compile ddl files: cddl crashes

(dbx) run ../em/em.ddl -o /tmp/toto.bin
/lib/cpp -P -I../em ../em/em.ddl /tmp/cdevddl.91sNya

Illegal instruction (reserved addressing fault) in . at 0x0
0x0 00000000 Invalid opcode.
(dbx) where
warning: could not locate trace table from starting address 0x0
newPage(int,int,int)(0x20006ec8, 0x1, 0x1), line 641 in "cls.cc"
dumpTree(CDEV_ELLLIST*,int)(0x20006ec8, 0x1), line 2531 in "nametbl.cc"
dump_binary(0x2ff21b81), line 2725 in "nametbl.cc"
main(argc = 4, argv = 0x2ff21a10), line 19 in "cddl.cc"

2) No target AIX in any Makefile. But it's ok...

3) In File common/cdevFdSet.h, we added the include <sys/select.h>
because of the definition of FD_ZERO.

4) In File cdevIO/xdrClass.h, l.402, the function xdr_u_int(...)
requires an u_int, and slen was of type int. The AIX compiler refuse
to compile it. We modified the declaration of slen.

5) In the shell script configSvc, all lines like the following one
are not well interpreted:

echo "$(OBJDIR)/$(OBJTYPE) :" >> $makef

In fact the shell tries to substitute the value of OBJDIR and OBJTYPE,
but of course they are not defined...
The solution is to put a "\" before the "$" :

echo "\$(OBJDIR)/\$(OBJTYPE) :" >> $makef

6) In File nameSvc/ns.y around line 373, the "cpp" command used to
preprocess the ddl file is not in the standard PATH for AIX.
On AIX vs 4.1, "lpp" is "/lib/lpp". This could be an
"#ifdef _AIX"

-----------------------------------------------------

Franck Di Maio, mail: franck.di_maio@cern.ch
PS Division, CERN, tel: (41) 22 767 2592
CH-1211 Geneva 23. fax: (41) 22 767 9145