delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/04/27/20:28:19

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <408EFABD.4090601@hq.astra.ph>
Date: Wed, 28 Apr 2004 08:28:45 +0800
From: Carlo Florendo <list-subscriber AT hq DOT astra DOT ph>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624
MIME-Version: 1.0
To: Cygwin List <cygwin AT cygwin DOT com>
Subject: Re: blackbox does not compile with latest cygwin
References: <408C81CB DOT 6010206 AT hq DOT astra DOT ph> <6 DOT 1 DOT 0 DOT 6 DOT 0 DOT 20040425233831 DOT 037630e8 AT 127 DOT 0 DOT 0 DOT 1> <408CA7F6 DOT 3010502 AT hq DOT astra DOT ph> <Pine DOT GSO DOT 4 DOT 56 DOT 0404260840590 DOT 23752 AT slinky DOT cs DOT nyu DOT edu> <408DDC6F DOT 1060803 AT hq DOT astra DOT ph> <6 DOT 1 DOT 0 DOT 6 DOT 0 DOT 20040427090129 DOT 03774378 AT 127 DOT 0 DOT 0 DOT 1>
In-Reply-To: <6.1.0.6.0.20040427090129.03774378@127.0.0.1>
X-IsSubscribed: yes

Larry Hall wrote:

>At 12:07 AM 4/27/2004, you wrote:
>  
>
>>Igor Pechtchanski wrote:
>>    
>>
>>>On Mon, 26 Apr 2004, Carlo Florendo wrote:
>>>      
>>>
>>>>Larry Hall wrote:
>>>>        
>>>>
>>>>>At 11:28 PM 4/25/2004, you wrote:
>>>>>          
>>>>>
>>>>>>Hi,
>>>>>>
>>>>>>Now, upon running ./configure on blackbox, all was ok.  When I started make, this is the error I got:
>>>>>>
>>>>>>Making all in src
>>>>>>Window.cc:1396: error: `assert' undeclared (first use this function)
>>>>>>Window.cc:3234: error: `assert' undeclared (first use this function)
>>>>>>      
>>>>>>            
>>>>>>
>>>>>Clearly the problem is that you're missing "#include <assert.h>".  That's
>>>>>likely the result of a configure problem but I didn't investigate to any
>>>>>great extent so I might be wrong.
>>>>>    
>>>>>          
>>>>>
>>>>Right!  When I added "#include <assert.h>", blackbox compiled clearly.
>>>>How come it didn't complain in the past cygwin?  I compiled the same
>>>>blackbox at a linux box (without my added "#include <assert.h>") and the
>>>>thing built perfectly.  How come the new cygwin behaves differently?
>>>>
>>>>Thanks!
>>>>
>>>>Best Regards,
>>>>Carlo
>>>>  
>>>>        
>>>>
>>>Well, as a WAG, assert.h could have been #included in some standard header
>>>file before, and isn't now.  This indicates buggy software, BTW: it
>>>shouldn't rely on anything else including the needed functionality --
>>>that's what the double include guards are for.  The rule of thumb is:
>>>"when in doubt, include it".  You might want to submit a patch to the
>>>blackbox maintainers.
>>>   Igor
>>>      
>>>
>>I installed the exact blackbox version as last time which is the latest official release.  This latest official release has one file that calls assert() but does not #include it.  I checked its include tree and, as far as I looked, have not found the #include <assert.h> anywhere on the tree. Other files that call assert have the header included in them. The strangest thing is that the same version
>>compiles under the current linux that I have (Redhat 9.0), the former cygwin, but *not* the latest cygwin.  It compiles with the latest cygwin if I #include <assert.h> on the file in question.
>>
>><...snipped...>
>>
>
>There could be many different reasons for this, in theory,  as you've 
>surmised.  But the only one that matters is the one causing the problem.
>If you have access to Linux (which it seems you do), you have the perfect
>setup to compare the differences for this package and come to a conclusion.
>But I concur with Igor.  To me, if a source file uses some facility, it 
>should include what's necessary for that facility.  If it doesn't, it's 
>broken.
>  
>

That's right!  I'm not sure if it's correct to assume that header files 
for the functions one uses should be included always or should be 
asssumed to be included somewhere else.  However, I think the
basic rule still makes sense--to include the header files for the 
functions used in a program.  Thanks Larry for your patience!  Now, I 
could write the blackbox maintainers in peace.

Thanks!

Best Regards,

Carlo
------
Carlo Florendo y Flora
Astra Philippines Inc.
www.astra.ph


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


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