[comp.sys.amiga.tech] Why won't VT100 2.8 compile???

beh@caen.engin.umich.edu (Bob Hruska) (03/28/89)

I've got Manx 3.6a and I'm trying to compile the source to vt100 2.8,
but it chokes every time on vt100.c and init.c with the following error:

init.c:24: ERROR 49: multiply defined symbol: ConsoleDevice

(the same for vt100.c)

Now, this should be a pretty straightforward problem to look for/fix,
but I cannot find it!  All the rest of the files compile fine.  Am I missing
something here?  If someone has the source that will compile by simply
running make and not changing a thing, I'm interested...

By the way, Tony, is 2.9 going to be out soon enough that I am wasting my
time with this?


-- 
Bob Hruska   University of Michigan Computer Aided Engineering Network (CAEN)

INTERNET: beh@caen.engin.umich.edu
    UUCP: {umix|ucbvax|uunet}!caen.engin.umich.edu!beh

lfk@uts.amdahl.com (Lynn Kerby) (03/29/89)

In article <424a49e8.1285f@maize.engin.umich.edu> beh@caen.engin.umich.edu (Bob Hruska) writes:
 >
 >I've got Manx 3.6a and I'm trying to compile the source to vt100 2.8,
 >but it chokes every time on vt100.c and init.c with the following error:
 >
 >init.c:24: ERROR 49: multiply defined symbol: ConsoleDevice
 >
 >(the same for vt100.c)
 >
[other stuff deleted] 
 >Bob Hruska   University of Michigan Computer Aided Engineering Network (CAEN)
 >
 >INTERNET: beh@caen.engin.umich.edu
 >    UUCP: {umix|ucbvax|uunet}!caen.engin.umich.edu!beh

The problem appears to be a bad definition in the MANX 3.6 functions.h file.
I went through all the RKM stuff and the Autodocs and cannot find a function
called ConsoleDevice.  I just commented out that line in functions.h and 
everything worked fine.

-- 
     Lynn Kerby  -  Amdahl Corporation
                    Sunnyvale, CA
                    ...amdahl!lfk
		    lfk@uts.amdahl.com

Disclaimer: Any and all opinions expressed herein are my own and do not
            necessarily represent the views of anyone, especially my
            employer.
 

acs@pccuts.pcc.amdahl.com (Tony Sumrall) (03/29/89)

In article <424a49e8.1285f@maize.engin.umich.edu> beh@caen.engin.umich.edu (Bob Hruska) writes:
>
>I've got Manx 3.6a and I'm trying to compile the source to vt100 2.8,
>but it chokes every time on vt100.c and init.c with the following error:
>
>init.c:24: ERROR 49: multiply defined symbol: ConsoleDevice
>
>(the same for vt100.c)

The problem lies in how Manx chose to define ConsoleDevice.  The way that
they did it makes it unusable but it's required if you wanna use
RawKeyConvert() (I think that's the routine that requires it).  What you
need to do is to edit functions.h and either
1) comment out the definition and use the one that's in vt100
         -- or --
2) fix the definition in functions.h and comment out the one in vt100.

>By the way, Tony, is 2.9 going to be out soon enough that I am wasting my
>time with this?

Nope, it won't be out for a while yet (like, several months).  Sorry for
the delay.  I wanted to get it out around 09/88 but work and all has
gotten in the way.

>Bob Hruska   University of Michigan Computer Aided Engineering Network (CAEN)
>
>INTERNET: beh@caen.engin.umich.edu
>    UUCP: {umix|ucbvax|uunet}!caen.engin.umich.edu!beh
-- 
Tony Sumrall acs@pccuts.pcc.amdahl.com <=> amdahl!pccuts!acs

[ Opinions expressed herein are the author's and should not be construed
  to reflect the views of Amdahl Corp. ]

ddave@pnet02.cts.com (David Donley) (03/31/89)

Just delete all the 2nd references to Console what ever out of the files.  May
be confusing, because I think he has it in a seperate include file, so just
remove it from the main file.

                    Call the Bug Eyes BBS at (213) 372-4494
     ddave@pnet02.CTS.COM ddave@pnet.gryphon.COM killer!gryphon!pnet02!ddave

hull@hao.ucar.edu (Howard Hull) (04/01/89)

In article <11G0Ye8rZ=10101gm52@amdahl.uts.amdahl.com> lfk@tde.uts.amdahl.com (Lynn Kerby) writes:
>In article <424a49e8.1285f@maize.engin.umich.edu> beh@caen.engin.umich.edu (Bob Hruska) writes:
> >
> >I've got Manx 3.6a and I'm trying to compile the source to vt100 2.8,
> >but it chokes every time on vt100.c and init.c with the following error:
> >
> >init.c:24: ERROR 49: multiply defined symbol: ConsoleDevice
> >
> >(the same for vt100.c)
> >
>[other stuff deleted] 
> >Bob Hruska   University of Michigan Computer Aided Engineering Network (CAEN)
> >
> >INTERNET: beh@caen.engin.umich.edu
> >    UUCP: {umix|ucbvax|uunet}!caen.engin.umich.edu!beh
>
>The problem appears to be a bad definition in the MANX 3.6 functions.h file.
>I went through all the RKM stuff and the Autodocs and cannot find a function
>called ConsoleDevice.  I just commented out that line in functions.h and 
>everything worked fine.
>

I sympathize, but I never like to touch the original includes.  For instance,
just because you can't find a referenced function, you cannot necessarily
conclude that there won't be one by that name in some future software release.
Since you have the Autodocs, you also have the CBM Native Developer include
files and library tags in machine readable form; did you check those as well
to see if there was any reference to ConsoleDevice anywhere in there?  I
gather that you did.  However, placing the name of a reserved function in a
type list is a good way to keep people from assigning that name to one of
their globally-linked functions.  Manx may have done this for some reason of
their own making as well.  Some sweet day you may discover the reason...
[In checking some of the subsequent replies to this article, I did see a note
by Tony Sumerall explaining how Manx had used this tag in connection with the
RawKeyConvert implementation they provide with the Aztec C 3.6a release.]  Is
this a reserved item, S. Walton or CATS?   Perhaps a better way to handle this
is to copy the sys:include/functions.h file to your local source directory and
change your #include <functions.h> references to #include "functions.h" in this
program (only) so that you can then edit the local functions.h to your heart's
content...
						Howard Hull
						hull@hao.ucar.edu

acs@pccuts.pcc.amdahl.com (Tony Sumrall) (04/01/89)

Just for clarification:

Manx mis-defines ConsoleDevice as a function.  It is NOT a function it's
(struct Device *) -- at least it comes out of the io_Device field of a
IOStdReq struct and is used by Manx's RawKeyConvert() interface routine as
a base pointer of some sort (probably a DeviceProc).  That's why I suggest
either fixing the definition in your Manx functions.h file or removing its
definition from said file entirely.
-- 
Tony Sumrall acs@pccuts.pcc.amdahl.com <=> amdahl!pccuts!acs

[ Opinions expressed herein are the author's and should not be construed
  to reflect the views of Amdahl Corp. ]