home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.isis
- Path: sparky!uunet!gatech!europa.asd.contel.com!howland.reston.ans.net!wupost!usc!rpi!batcomputer!cornell!honir!rcbc
- From: rcbc@honir.cs.cornell.edu (Robert Cooper)
- Subject: Re: ISIS++
- In-Reply-To: ibashir@cat.syr.edu's message of Fri, 4 Dec 92 10:38:25 EST
- Message-ID: <RCBC.92Dec13232755@honir.cs.cornell.edu>
- Sender: rcbc@cs.cornell.edu (Robert Cooper)
- Reply-To: rcbc@cs.cornell.edu
- Organization: Cornell Univ. CS Dept, Ithaca NY 14853
- References: <1992Dec4.103826.23779@newstand.syr.edu>
- Date: Mon, 14 Dec 1992 04:27:55 GMT
- Lines: 90
-
- In article <1992Dec4.103826.23779@newstand.syr.edu> ibashir@cat.syr.edu (Imran Bashir) writes:
-
- I am trying to compile the demo programs provided with ISIS++ and
- have encountered the following errors.
-
- ISIS++ is the result of a research project at Cornell that finished about a
- year ago. No-one involved in the implementation remains at Cornell. Imran
- and I have looked at the errors he got and here's the summary. Two of them
- appear to be Isis errors.
-
- (I am using a sparcstation, SUN's c-compiler and ISIS3.0 library)
-
- Imran is also running ISISV3.0.5 and gcc 2.3.1.
-
- -------------------------------------------------------------------------
-
- compiling dbserver.C
- rm -f dbserver.o
- isis++gen ../../demos/dbserver.C -o /usr/tmp/dbserver.C
- CC -c -g -I/usr/local/include/CC -I../../include -I/vol/isis/include -I/usr/local/lib/g++-include /usr/tmp/dbserver.C
- In file included from /vol/isis/include/isis.h:228, from ../../include/isis++.h:49, from /usr/tmp/dbserver.C:29:
- /vol/isis/include/cl_task.h:184: `rtn' undeclared, outside of functions
- /vol/isis/include/cl_task.h:184: parse error before `*'
-
- The particular line in question in cl_task.h is:
-
- int ISISCALL1RET1( int (*rtn)(), VOID *arg);
-
- Removing the (strictly unnecessary) parameter names fixes the problem:
-
- int ISISCALL1RET1( int (*)(VOID *), VOID *);
-
- Now to the next problem:
-
- ../../demos/dbserver.C: In method Serv::Serv ():
- ../../demos/dbserver.C:90: `v_routine_msgs' undeclared (first use this function)
- ../../demos/dbserver.C:90: (Each undeclared identifier is reported only once
- ../../demos/dbserver.C:90: for each function it appears in.)
- ../../demos/dbserver.C:90: parse error before `MessDispIFID_UPDATE'
- ../../demos/dbserver.C:90: parse error before `MessDispIFID_QUERY'
- *** Error code 1
- make: Fatal error: Command failed for target `dbserver.o'
-
- This is an error in ISISV3.0.5-V3.0.7 for C++ programmers, and has been
- reported by one other user too. The following define should be added to
- isis.h just after the definition of v_routine_vs (around line 118 in the
- V3.0.7 release):
-
- typedef void (*v_routine_msgs)(message*);
-
- At the same time you can edit the following definition of isis_entry, also
- in isis.h (line 664 in V3.0.7):
-
- int isis_entry (int entry, v_routine_vs, char *rname);
-
- changing it to:
-
- int isis_entry (int entry, v_routine_msgs, char *rname);
-
- Both these fixes will appear in V3.0.8 when it is released sometime in the
- new year. Back to Imran's posting:
-
- Here I would like to mention that if I use the include files from the
- old ISIS2.1 library, then it compiles ok but gives errors at link time.
- The error that it gives at link time is as follows
-
- -------------------------------------------------------------------------
- linking dbserver
- CC -o dbserver dbserver.o libclass.a -lm /usr/local/ISIS/clib/libisis1.a /usr/local/ISIS/clib/libisis2.a /usr/local/ISIS/mlib/libisism.a
- ../../src/isis++.C:280: Undefined symbol pl_create(address *, address *) referenced from text segment
- ../../src/isis++.C:297: Undefined symbol pl_create(address *, address *) referenced from text segment
- *** Error code 1
- make: Fatal error: Command failed for target `dbserver'
- -
- Compilation exited abnormally with code 1 at Fri Dec 4 10:24:46
- -------------------------------------------------------------------------
-
- Imran Bashir..
-
- We don't really support V2.1 anymore, although of course its still freely
- available from Cornell by FTP. However the above problem, if I remember
- correctly is caused by a missing
-
- extern "C" { ..... }
-
- construct surrounding the pl_create declarations in the V2.1 include files.
-
- -- Robert Cooper
- --
- --
-