delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/04/17/11:00:12

Message-ID: <3ADC584F.943BCD7D@falconsoft.be>
Date: Tue, 17 Apr 2001 16:50:55 +0200
From: Tim Van Holder <tim DOT vanholder AT falconsoft DOT be>
Organization: Falcon Software NV
X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.2.16-3 i686)
X-Accept-Language: en, nl-BE, nl
MIME-Version: 1.0
Newsgroups: comp.os.msdos.djgpp
Subject: Re: size of dta
References: <Tr8A6.38927$Ho5 DOT 9686405 AT typhoon DOT southeast DOT rr DOT com>
Lines: 49
NNTP-Posting-Host: 194.78.64.238
X-Trace: 987519144 reader1.news.skynet.be 20621 194.78.64.238
X-Complaints-To: abuse AT skynet DOT be
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

jonathan bailey wrote:
> 
> Hello All,
> I am trying to compile the current WIP version of allegro for use
> with mame, and I have never had a problem before. But this time
> in the source file 'dfile.c' in the /src/dos directory I get the error
> message:'size of dta isn't known', I did alter my installation of gcc
> a while ago, but recently put it back to normal. I am using gcc 2.95.3
> which I compiled myself. If anyone knows what would cause this error
> message, please let me know. Also I have read all faq's and readme's I can
> find on several sites,  (which I don't usually do) and there is no reference
> to 'dta'. You can respond to this newsgroup or to my email at

That error generally means that the source code is trying to do
something
to an object which requires knowing the object's size, and that size
cannot
be determined.
So in this case dta will be the name of a variable that's being
manipulated
in an invalid way; I'd suggest looking at the line in dfile.c referenced
by the error message.

It will probably be that there is a forward declaration somewhere:

 struct foo;

with a variable declared later like:

 struct foo dta;

but the foo struct doesn't get actually defined before the variable is
declared, so the compiler doesn't know how much storage it needs to
allocate.

One thing that may be a problem is that __DJGPP__ and/or
__DJGPP_MINOR__ and/or __MSDOS__ are used in #ifdefs; some or all of
these may be undefined with newer gcc's (I know that gcc 3.0 no longer
defines __MSDOS__; gcc 2.95.3 may do the same).

This is about all the advice I can give without seeing the offending
line
of code (and possibly the relevant headers as well).

-- 
Tim Van Holder - Falcon Software N.V.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
This message was posted using plain text. I do not endorse any
products or services that may be hyperlinked to this message.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019