>Number: 4940
>Category: os-ultrix
>Synopsis: configure script fails, building of Apache fails during
>linking httpd daemon
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: apache
>State: open
>Class: sw-bug
>Submitter-Id: apache
>Arrival-Date: Tue Aug 31 16:20:02 PDT 1999
>Last-Modified:
>Originator: [EMAIL PROTECTED]
>Organization:
apache
>Release: 1.3.9
>Environment:
ULTRIX 4.5 0 RISC, native CC compiler
ULTRIX 4.4 0 RISC, native CC compiler
maybe older versions of Ultrix
>Description:
There is a small bug in the script "configure". The line
test -f /bin/sh5 && exec /bin/sh5 $0 "$@"
causes an infinite loop. Script configure repeatedly calls itself
until forever. This problem will occur on every UNIX that has
/bin/sh5 shell. Therefore the problematic line should be replaced
for example by these lines:
if test -f /bin/sh5 -a -z "$CONFIGURE_ALREADY_RUNNING"
then
CONFIGURE_ALREADY_RUNNING=yes; export CONFIGURE_ALREADY_RUNNING
exec /bin/sh5 $0 "$@"
fi
Apache is successfully configured after this replacement.
Unfortunately there is another problem under Ultrix with standard
CC compiler. Building of Apache fails during linking httpd daemon.
cc -DULTRIX -std -DUSE_HSREGEX -DUSE_EXPAT -I./lib/expat-lite -O2
`./apaci` -o httpd buildmark.o modules.o modules/standard
/libstandard.a main/libmain.a ./os/unix/libos.a ap/libap.a regex/libregex.a
lib/expat-lite/libexpat.a
ld:
Undefined:
__ull_div
__ll_mul
*** Error code 1
Stop.
*** Error code 1
Stop.
*** Error code 1
This problem is probably due to a bug in native CC compiler. Therefore
it is necessary to modify code in functions conv10 and conv_10_quad
in module ap_snprintf.c:
*** ap_snprintf.c Tue Aug 31 21:46:24 1999
--- /apps/inst/ap_snprintf.c Sat Aug 7 00:15:59 1999
***************
*** 390,398 ****
* We use a do-while loop so that we write at least 1 digit
*/
do {
! register u_wide_int new_magnitude = (unsigned long)magnitude / 10;
! *--p = (char) (magnitude - (unsigned long)new_magnitude * 10 + '0');
magnitude = new_magnitude;
}
while (magnitude);
--- 390,398 ----
* We use a do-while loop so that we write at least 1 digit
*/
do {
! register u_wide_int new_magnitude = magnitude / 10;
! *--p = (char) (magnitude - new_magnitude * 10 + '0');
magnitude = new_magnitude;
}
while (magnitude);
***************
*** 445,453 ****
* We use a do-while loop so that we write at least 1 digit
*/
do {
! register u_widest_int new_magnitude = (unsigned long)magnitude / 10;
! *--p = (char) (magnitude - (unsigned long)new_magnitude * 10 + '0');
magnitude = new_magnitude;
}
while (magnitude);
--- 445,453 ----
* We use a do-while loop so that we write at least 1 digit
*/
do {
! register u_widest_int new_magnitude = magnitude / 10;
! *--p = (char) (magnitude - new_magnitude * 10 + '0');
magnitude = new_magnitude;
}
while (magnitude);
After applying this changes Apache will be successfully built and
working OK.
>How-To-Repeat:
For example:
CFLAGS=-O2 ./configure
>Fix:
Yes, I have mentioned about them in the section "Full Description"
>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, you need]
[to include <[EMAIL PROTECTED]> in the Cc line and make sure the]
[subject line starts with the report component and number, with ]
[or without any 'Re:' prefixes (such as "general/1098:" or ]
["Re: general/1098:"). If the subject doesn't match this ]
[pattern, your message will be misfiled and ignored. The ]
["apbugs" address is not added to the Cc line of messages from ]
[the database automatically because of the potential for mail ]
[loops. If you do not include this Cc, your reply may be ig- ]
[nored unless you are responding to an explicit request from a ]
[developer. Reply only with text; DO NOT SEND ATTACHMENTS! ]