Bug 151052 - httpd isn't rebuildable against Rawhide
Summary: httpd isn't rebuildable against Rawhide
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: httpd
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Joe Orton
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-03-14 14:06 UTC by Robert Scheck
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-03-20 10:38:40 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Robert Scheck 2005-03-14 14:06:29 UTC
Description of problem:
httpd isn't rebuildable against Rawhide, fails with this error messages:

--- snipp ---
[...]
/usr/lib/apr/build/libtool --silent --mode=compile gcc  -pthread  -O2 -Wall -g 
-pipe -Wp,-D_FORTIFY_SOURCE=2 -m32 -march=i386 -mtune=pentium4  -DLINUX=2 -
D_REENTRANT -D_GNU_SOURCE -DAP_HAVE_DESIGNATED_INITIALIZER -
DSSL_EXPERIMENTAL_ENGINE  -I/usr/include/apr-0 -I. -
I/usr/src/redhat/BUILD/httpd-2.0.53/prefork/include -
I/usr/src/redhat/BUILD/httpd-2.0.53/os/unix -I/usr/src/redhat/BUILD/httpd-
2.0.53/server/mpm/prefork -I/usr/src/redhat/BUILD/httpd-2.0.53/modules/http -
I/usr/src/redhat/BUILD/httpd-2.0.53/modules/filters -
I/usr/src/redhat/BUILD/httpd-2.0.53/modules/proxy -
I/usr/src/redhat/BUILD/httpd-2.0.53/include -I/usr/src/redhat/BUILD/httpd-
2.0.53/modules/generators -I/usr/src/redhat/BUILD/httpd-2.0.53/prefork/server -
I/usr/include/openssl -I/usr/kerberos/include -I/usr/src/redhat/BUILD/httpd-
2.0.53/modules/ssl -I/usr/src/redhat/BUILD/httpd-2.0.53/modules/dav/main -
DAP_FNAME=\"core.c\" -fPIE -prefer-non-pic -static -c 
/usr/src/redhat/BUILD/httpd-2.0.53/server/core.c && touch core.lo
/usr/src/redhat/BUILD/httpd-2.0.53/server/protocol.c:237:59: error: macro 
"read" passed 4 arguments, but takes just 3
/usr/src/redhat/BUILD/httpd-2.0.53/server/protocol.c: In function 
'ap_rgetline_core':
/usr/src/redhat/BUILD/httpd-2.0.53/server/protocol.c:237: warning: assignment 
makes integer from pointer without a cast
/usr/src/redhat/BUILD/httpd-2.0.53/server/protocol.c:349:59: error: macro 
"read" passed 4 arguments, but takes just 3
/usr/src/redhat/BUILD/httpd-2.0.53/server/protocol.c:349: warning: assignment 
makes integer from pointer without a cast
/usr/src/redhat/BUILD/httpd-2.0.53/server/protocol.c:324: warning: unused 
variable 'len'
/usr/src/redhat/BUILD/httpd-2.0.53/server/protocol.c:1181:59: error: macro 
"read" passed 4 arguments, but takes just 3
/usr/src/redhat/BUILD/httpd-2.0.53/server/protocol.c: In function 
'ap_content_length_filter':
/usr/src/redhat/BUILD/httpd-2.0.53/server/protocol.c:1181: warning: assignment 
makes integer from pointer without a cast
/usr/src/redhat/BUILD/httpd-2.0.53/server/protocol.c:1175: warning: unused 
variable 'ignored'
make[2]: *** [protocol.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/usr/src/redhat/BUILD/httpd-2.0.53/prefork/server'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/redhat/BUILD/httpd-2.0.53/prefork/server'
make: *** [all-recursive] Error 1
Fehler: Bad exit status from /var/tmp/rpm-tmp.49220 (%build)
--- snapp ---

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

How reproducible:
Everytime, try to rebuild httpd

Actual results / Expected results:
Should be rebuildable.

Comment 1 Joe Orton 2005-03-19 22:11:08 UTC
Jakub, are these read() macros going to stay in the libc headers with
_FORTIFY_SOURCE defined?  I can't fix this problem without completely changing
the API, which is just not going to happen.

Comment 2 Joe Orton 2005-03-19 22:14:12 UTC
Oh, actually I see there is an easy workaround to avoid the macro being
expanded, so probably it *can* be fixed non-intrusively.  But still, the
question above stands: are the macros going to stay?

Comment 3 Jakub Jelinek 2005-03-19 23:47:19 UTC
glibc-2.3.4-15 (currently building) will stop using function-like macros for
fgets, fgets_unlocked, recv, recvfrom, read, pread, pread64, readlink, getcwd
and getwd.  Macros for
memcpy/memset/mempcpy/memmove/strcpy/stpcpy/bcopy/bzero/strcat/strncat/strncpy/strncat/gets and a bunch of others are going to stay.
Still, no guarantees it will not be introduced again when needed, or some other
libc will define them as macros.  Better fix it in upstream package.

Comment 4 Joe Orton 2005-03-20 10:38:40 UTC
Even the simple fix to avoid the macro-expansion of a parameterized read() macro
is not sufficient to be POSIXly-correct, I guess; I don't see a good argument
that it's worth breaking the API for this any time soon.  Marking as WONTFIX
since glibc has been fixed.


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