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...>