• undefined symbol _Rxframeind & _Rxtype

    From Mvan Le@3:800/432 to All on Saturday, January 02, 2010 15:51:26
    Does anybody know why I'm getting undefined reference errors for:

    ===============================================================
    Error! E2028: _Rxframeind is an undefined reference
    Error! E2028: _Rxtype is an undefined reference
    file zm.obj(c:\dv\s3\prot\zm.c): undefined symbol _Rxframeind
    file zm.obj(c:\dv\s3\prot\zm.c): undefined symbol _Rxtype
    dmaken.exe: Error code 129, while making '..\exe\max\maxd.exe'
    dmaken.exe: Error code 255, while making 'maxd.exe'
    dmaken.exe: Error code 255, while making 'max' ===============================================================

    when "_Rxframeind" & "_Rxtype" isn't even in the source file (c:\dv\s3\prot\zm.c) ??


    --- Maximus 3.01
    * Origin: Xaragmata / Adelaide SA telnet://xaragmata.mooo.com (3:800/432)
  • From Marc Lewis@1:396/45 to Mvan Le on Saturday, January 02, 2010 16:20:28
    Greets.

    In your message you said:

    Does anybody know why I'm getting undefined reference errors for: [snip] when "_Rxframeind" & "_Rxtype" isn't even in the
    source file (c:\dv\s3\prot\zm.c) ??

    Not being a programmer, these questions may seem stupid, but could it be something in one of the libraries? Or some other file in the source directory that the compiler may have opened without your knowledge? Broken compiler?

    Like I said, I'm not a programmer by any stretch of the imagination, but I find
    it implausible that random reference types would be generated by the compiler -
    unless it's broken or picking them up from some undisclosed location. I don't suppose the program pointed you to any line number in the source, did it?

    Best regards,
    Marc
    telnet://bbs.sursum-corda.com. >Celebrating 14 years on-line

    -+- QuikEdit 2.41R+

    --- Maximus/2 3.01
    * Origin: Sursum Corda! BBS-Meridian, MS-bbs.sursum-corda.com (1:396/45)
  • From Mvan Le@1:343/41 to Marc Lewis on Saturday, January 02, 2010 20:32:12
    Not being a programmer, these questions may seem
    stupid, but could it be something in one of the
    libraries? Or some other file in the source directory
    that the compiler may have opened without your
    knowledge? Broken compiler?

    That's what I thought but I checked all the header & include files in Watcom and Maximus source. There were undeclared "Rxframeind" & "Rxtype" (ie. without the "_" prefix) which I fixed, but now it's complaining about _Rxframeind and _Rxtype (ie. with "_" prefix) and I have no idea where it got those prefixes from ... my best guess is a constructor somewhere generated them ...

    Maybe I should just axe it out of the source and compile Maximus without the internal Zmodem.

    I'm waiting for a reply from Bo Simonsen.

    Like I said, I'm not a programmer by any stretch of the
    imagination, but I find it implausible that random
    reference types would be generated by the compiler -
    unless it's broken or picking them up from some
    undisclosed location. I don't suppose the program
    pointed you to any line number in the source, did it?

    I took a look at some of the Watcom linker's .map and .err files but they didn't give me any useful details.

    --- Maximus/2 3.01
    * Origin: Top Hat 2 BBS (1:343/41)
  • From Scott Dudley@1:382/61 to Mvan Le on Monday, January 18, 2010 09:38:50
    I am pretty sure that all of the final Max 3.x builds were done under OS/2, so your mileage with Win XP may vary.

    The "_" prefix comes from the standard convention used by WATCOM C: variables with external scope automatically have a "_" prefix added. In other words, don't worry about it.

    I don't recall exactly which version of the source is out there, but the last one I have at my disposal has Rxframeind and Rxtype both defined and used in prot/zm.c. I don't know if I still even have my WC discs lying around anymore, so I am not at liberty to try compilation...but if I had to hazard a guess, I'd
    say that there appear to be conflicting declarations for those two variables.

    In ZM.H,the declaration is "extern Rxframeind", whereas it is "static int Rxframeind" in ZM.C. "extern" implies the opposite of "static", so maybe if you
    delete the lines containing the extern references for those variables in zmodem.h and zsjd.h, the compiler may be happy.

    Just keep in mind that I haven't looked at this code in a very long time, so take that advice for what it's worth!

    Scott

    --- Maximus/2 2.02
    * Origin: -=( The TechnoDrome )=- (1:382/61)
  • From Mvan Le@3:800/432 to Scott Dudley on Saturday, January 30, 2010 08:59:48
    prot/zm.c. I don't know if I still even have my WC
    discs lying around anymore, so I am not at liberty to
    try compilation...but if I had to hazard a guess, I'd
    say that there appear to be conflicting declarations
    for those two variables.

    I have uploaded Watcom C/C++ v10.6 to PirateBay if you need it.

    Or you can try anonymous FTP at ypan.dyndns.org. I would definitely prefer via bittorrent as my upstream is fairly saturated.


    --- Maximus 3.01
    * Origin: Xaragmata / Adelaide SA telnet://xaragmata.mooo.com (3:800/432)
  • From Mvan Le@3:800/432 to Scott Dudley on Saturday, January 30, 2010 23:51:40
    prot/zm.c. I don't know if I still even have my WC
    discs lying around anymore, so I am not at liberty to
    try compilation...but if I had to hazard a guess, I'd
    say that there appear to be conflicting declarations
    for those two variables.

    I have uploaded Watcom C/C++ v10.6 to PirateBay if you need it.

    Or you can try anonymous FTP at ypan.dyndns.org. I
    would definitely prefer via bittorrent as my upstream
    is fairly saturated.

    Let me know if you need Watcom 11c.


    --- Maximus 3.01
    * Origin: Xaragmata / Adelaide SA telnet://xaragmata.mooo.com (3:800/432)