Bug 105679 - makedepend not compatible with /usr/lib/assert.h
makedepend not compatible with /usr/lib/assert.h
Product: Red Hat Linux
Classification: Retired
Component: XFree86 (Show other bugs)
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
David Lawrence
Depends On:
  Show dependency treegraph
Reported: 2003-09-26 10:50 EDT by Dale R. Worley
Modified: 2007-04-18 12:57 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2003-09-29 03:43:59 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Shell output from attempting to execute ./configure (8.84 KB, text/plain)
2003-09-26 10:52 EDT, Dale R. Worley
no flags Details

  None (edit)
Description Dale R. Worley 2003-09-26 10:50:50 EDT
Description of problem:

When attempting to compile the 'fetchmail' program from its sources, I received
an error message.  Searching on the web suggested that there is an
incompatibility between makedepend and assert.h.  The web page gave a suggested
patch to assert.h that seems to eliminate the problem.

(This problem is also discussed in a Debian bug report: 

Version-Release number of selected component (if applicable):

/usr/include/assert.h from glibc-devel-2.3.2-4.80.6 in RedHat Linux 8.0, as updated.

/usr/X11R6/bin/makedepend from XFree86-devel-4.2.1-21 in RedHat Linux 8.0, as

fetchmail-6.2.4 from http://catb.org/~esr/fetchmail and

How reproducible:


Steps to Reproduce:

1. Download fetchmail-6.2.4.tar.gz and un-tar it.  It will construct a directory
named fetchmail-6.2.4.  cd into this directory.

2. Per the instructions in the file INSTALL and run "./configure".

3. The following output is produced:

    [247 lines of apparently correct auto-configure output deleted here -- see
    You can ignore any makedepend error messages:
    "/usr/include/assert.h":104:  defined __cplusplus ? __GNUC_PREREQ (2, 6) :
__GNUC_PREREQ (2, 4)
								      ^--- expecting :

The final message "expecting :" is an error and causes makedepend to halt, which
halts ./configure.
Actual results:

Error message as detailed immediately above.

Expected results:

Execution of makedepend and ./configure should finish.

Additional info:

See the above URL for a filing of this issue in the Debian bug system.  That
filing also includes a suggested fix, to edit assert.h to change the definition
of a particular macro:

    I usually deal with this by patching /usr/include/assert.h with the
    following patch, which is equivalent to the functionality that
    makedepend can't grok:

    --- assert.h.orig	Fri Oct 13 11:04:54 2000
    +++ assert.h	Fri Oct 13 11:02:28 2000
    @@ -94,7 +94,11 @@
	This is broken in G++ before version 2.6.
	C9x has a similar variable called __func__, but prefer the GCC one since
	it demangles C++ function names.  */
    -# if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4)
    +# if defined __cplusplus
    +#  if __GNUC_PREREQ (2, 6)
    +#  endif
    +# elif __GNUC_PREREQ (2, 4)
     # else
     #  if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L

Applying this patch to my system appears to eliminate the problem.
Comment 1 Dale R. Worley 2003-09-26 10:52:55 EDT
Created attachment 94759 [details]
Shell output from attempting to execute ./configure
Comment 2 Jakub Jelinek 2003-09-29 03:43:59 EDT
Cannot reproduce that with XFree86 4.3.0 makedepend.
Comment 3 Dale R. Worley 2003-10-03 21:54:08 EDT
It would be easier on the users to say that the problem is resolved in RHL 9,
since RH is not providing an XFree86-4.3.0 update for RHL 8.0.

Note You need to log in before you can comment on or make changes to this bug.