Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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 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 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> <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> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 ". 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 ", 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 ") 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 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 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/