From: dave at zalasta dot com Operating system: AIX 4.3.3 PHP version: 4.3.1 PHP Bug Type: Apache related Bug description: apxs requires -bE parameter on AIX
When attempting to run (as root) configure --with-mysql --with-apxs=/usr/HTTPServer/bin/apxs the configure script fails with "cannot find apxs" when apxs exists. It appears that apxs on AIX 4.3.3 requires a .exp file to execute, which is passed to apxs via a -bE parameter. There is no .exp file in the source distribution of php 4.3.1... could this be the problem? config.log follows: This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. configure:1539: checking for Cygwin environment configure:1555: cc -c conftest.c 1>&5 ./configure[1554]: cc: not found configure: failed program was: #line 1544 "configure" #include "confdefs.h" int main() { #ifndef __CYGWIN__ #define __CYGWIN__ __CYGWIN32__ #endif return __CYGWIN__; ; return 0; } configure:1572: checking for mingw32 environment configure:1584: cc -c conftest.c 1>&5 ./configure[1583]: cc: not found configure: failed program was: #line 1577 "configure" #include "confdefs.h" int main() { return __MINGW32__; ; return 0; } configure:1603: checking for working sed configure:1726: checking host system type configure:1815: checking for gcc configure:1928: checking whether the C compiler (gcc ) works configure:1944: gcc -o conftest conftest.c 1>&5 configure:1970: checking whether the C compiler (gcc ) is a cross-compiler configure:1975: checking whether we are using GNU C configure:1984: gcc -E conftest.c configure:2003: checking whether gcc accepts -g configure:2036: checking whether gcc and cc understand -c and -o together configure:2051: gcc -c conftest.c -o conftest.o 1>&5 configure:2052: gcc -c conftest.c -o conftest.o 1>&5 configure:2057: cc -c conftest.c 1>&5 ./configure[2056]: cc: not found configure:2087: checking how to run the C preprocessor configure:2108: gcc -E conftest.c >/dev/null 2>conftest.out configure:2168: checking for AIX configure:2195: checking if compiler supports -R configure:2210: gcc -o conftest conftest.c -R /usr/lib 1>&5 gcc: unrecognized option `-R' ld: 0711-168 SEVERE ERROR: Input file: /usr/lib Input files must be regular files. collect2: ld returned 12 exit status configure: failed program was: #line 2203 "configure" #include "confdefs.h" int main() { ; return 0; } configure:2228: checking if compiler supports -Wl,-rpath, configure:2243: gcc -o conftest conftest.c -Wl,-rpath,/usr/lib 1>&5 ld: 0706-012 The -p flag is not recognized. ld: 0706-012 The -a flag is not recognized. ld: 0706-012 The -t flag is not recognized. ld: 0706-012 The -h flag is not recognized. collect2: ld returned 255 exit status configure: failed program was: #line 2236 "configure" #include "confdefs.h" int main() { ; return 0; } configure:2268: checking for ranlib configure:2296: checking whether ln -s works configure:2321: checking for gawk configure:2321: checking for mawk configure:2321: checking for nawk configure:2355: checking for bison configure:2355: checking for byacc configure:2399: checking for flex configure:2433: checking for yywrap in -ll configure:2452: gcc -o conftest conftest.c -ll 1>&5 configure:2476: checking lex output file root configure:2497: checking whether yytext is a pointer configure:2516: gcc -o conftest conftest.c -ll 1>&5 configure:3207: conflicting types for `yytext' configure:2566: previous declaration of `yytext' configure: failed program was: #line 2509 "configure" #include "confdefs.h" # include <stdio.h> # include <stddef.h> # include <locale.h> # include <stdlib.h> # define U(x) ((x)&0377) # define NCH 256 # define NLSTATE yyprevious=YYNEWLINE # define BEGIN yybgin = yysvec + 1 + # define INITIAL 0 # define YYLERR yysvec # define YYSTATE (yyestate-yysvec-1) # define YYOPTIM 1 # define YYLMAX 2000 #ifdef __cplusplus int yylook(void); extern "C" int yywrap(void), yyless(int), yyreject(void); #endif /* __cplusplus */ #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) # include <iostream.h> # define output(c) (*yyout) << ((unsigned char) c) # define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):yyin->get())==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar) # define ECHO (*yyout) << yytext istream *yyin = &cin; ostream *yyout = &cout; #else # define output(c) putc(c,yyout) # define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):getc(yyin))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar) # define ECHO fprintf(yyout, "%S",yywtext) FILE *yyin = NULL, *yyout = NULL; #endif /* defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ # define unput(c) {yytchar= (c);if(yytchar=='\n')yylineno--;*yysptr++=yytchar;} # define yymore() (yymorfg=1) # define REJECT { yynstr = yyreject(); goto yyfussy;} # define yysetlocale() setlocale(LC_ALL,"") # define wreturn(r) return(yywreturn(r)) # define winput() yywinput() # define wunput(c) yywunput(c) # define woutput(c) yywoutput(c) int yyleng; extern char yytext[]; int yywleng; extern wchar_t yywtext[]; int yymorfg; int yymbcurmax = -1; int __once_yylex = 1; extern unsigned char *yysptr, yysbuf[]; int yytchar; extern int yylineno; struct yywork; struct yysvf { struct yywork *yystoff; struct yysvf *yyother; int *yystops;}; struct yysvf *yyestate; extern struct yysvf yysvec[], *yybgin; char yytext[YYLMAX]; int yyback(int *yyp, int yym); # if YYHSIZE int yyhlook(int yyc, int yyv); int yymlook(int yyc); # endif /*YYHSIZE*/ # if YYXSIZE int yyxlook (int yyc, int yyv); #endif /*YYXSIZE*/ int yywinput(); void yywoutput(int yyc); void yywunput(int yyc); int yywreturn(int yyr); int yyinput(); void yyoutput(int yyc); void yyunput(int yyc); #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ int yymbinput(); void yymboutput(int yyc); void yymbunput(int yyc); int yymbreturn(int yyx); #ifdef __cplusplus } #endif /* __cplusplus */ # define YYNEWLINE 10 #ifdef __cplusplus extern "C" #endif /*__cplusplus */ int yylex(){ int yynstr; extern int yyprevious; if (__once_yylex) { yysetlocale(); #if !(__cplusplus && _CPP_IOSTREAMS) if (yyin == NULL) yyin = stdin; if (yyout == NULL) yyout = stdout; #endif /* !(__cplusplus && _CPP_IOSTREAMS) */ __once_yylex = 0; } if(yymbcurmax<=0) yymbcurmax=MB_CUR_MAX; while((yynstr = yylook()) >= 0) yyfussy: switch(yynstr){ case 0: if(yywrap()) return(0); break; case -1: break; default: #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "bad switch yylook " << yynstr; #else fprintf(yyout,"bad switch yylook %d",yynstr); #endif /* defined(__cplusplus) && defined(_CPP_IOSTREAMS)*/ } return(0); } /* end of yylex */ int yyvstop[] = { 0, 0}; # define YYTYPE unsigned char struct yywork { YYTYPE verify, advance; } yycrank[] = { 0,0, 0,0}; # define YYHSIZE 0 struct yywwork { wchar_t wch; unsigned int wnext; YYTYPE wverify, wadvance;} yywcrank[] = { 0,0,0,0}; struct yysvf yysvec[] = { 0, 0, 0, yycrank+0, 0, 0, yycrank+0, 0, 0, 0, 0, 0}; struct yywork *yytop = yycrank+0; struct yysvf *yybgin = yysvec+1; unsigned char yymatch[] = { 00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 , 0}; unsigned char yyextra[] = { 0,0,0,0,0,0,0,0, 0}; /* @(#)44 1.9.2.7 src/bos/usr/ccs/lib/libl/ncform, libl, bos43N, 9913A_43N 3/24/99 08:02:37";*/ /* * COMPONENT_NAME: (LIBL) Lex Libraries * * FUNCTIONS: yylook, yyhlook, yyback, yyinput, yyoutput, yyunput, * yymbinput, yymboutput, yymbunput, yymbreturn * yywinput, yywoutput, yywunput, yywreturn * * ORIGINS: 3 * */ int yylineno =1; # define YYU(x) x # define NLSTATE yyprevious=YYNEWLINE # define YYCCLDOT 0x0001 wchar_t yywtext[YYLMAX]; wchar_t yywbuf[YYLMAX]; unsigned char yytbuf[YYLMAX]; unsigned char *yytbp; int yytbi; wchar_t yytwc; struct yysvf *yylstate [YYLMAX], **yylsp, **yyolsp; unsigned char yysbuf[YYLMAX]; unsigned char *yysptr = yysbuf; int *yyfnd; extern struct yysvf *yyestate; int yyprevious = YYNEWLINE; # ifdef LEXDEBUG int debug; #ifdef __cplusplus #ifdef _CPP_IOSTREAMS void allprint(wchar_t); void sprint (wchar_t *); #else extern "C" void allprint(wchar_t); extern "C" void sprint (wchar_t *); #endif #endif # endif yylook() { register struct yysvf *yystate, **yytlsp; register struct yywork *yyt; struct yysvf *yyz; int yywch, yyfirst, yyw; struct yywork *yyr; wchar_t *yywlastch; /* * start off machines */ # ifdef LEXDEBUG debug = 1; # endif yyfirst=1; if (!yymorfg) yywlastch = yywtext; else { yymorfg=0; yywlastch = &(yywtext[yywleng]); } for(;;) { yytlsp = yylstate; yyestate = yystate = yybgin; if (yyprevious==YYNEWLINE) yystate++; for (;;) { # ifdef LEXDEBUG #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) if(debug) (*yyout) << "state " << yystate-yysvec-1 << endl; #else if(debug) fprintf(yyout,"state %d\n",yystate-yysvec-1); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ # endif yyt = yystate->yystoff; if(yyt == yycrank && !yyfirst) /* may not be any transitions */ { yyz = yystate->yyother; if(yyz == 0) break; if(yyz->yystoff == yycrank) break; } yywch = winput(); if( (yywlastch - yywtext) < YYLMAX -1) *yywlastch++ = yywch; else { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "LEX Error: input string too long to fit in yywtext[]." << endl; (*yyout) << "Increase the array size by defining YYLMAX to be a higher value" << endl; #else fprintf(yyout,"LEX Error: input string too long to fit in yywtext[].\n\ Increase the array size by defining YYLMAX to be a higher value\n"); #endif exit(1); } yyfirst=0; tryagain: # ifdef LEXDEBUG if(debug) { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "char "; allprint (yywch); (*yyout) << endl; #else fprintf(yyout,"char "); allprint(yywch); putchar('\n'); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ } # endif yyr = yyt; if ( (long)yyt > (long)yycrank) { if (yywch < NCH) /* 8-bit */ { yyt = yyr + yywch; if (yyt <= yytop && yyt->verify+yysvec == yystate) { if(yyt->advance+yysvec == YYLERR) /* error transitions */ { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yyt->advance+yysvec; goto contin; } } # if YYHSIZE else /* wide */ { if (yyw = yyhlook(yywch,yystate-yysvec)) { if (yywcrank[yyw].wadvance+yysvec==YYLERR) { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yywcrank[yyw].wadvance+yysvec; goto contin; } } # endif /*YYHSIZE*/ } # ifdef YYOPTIM else if ((long)yyt < (long)yycrank) /* r < yycrank */ { yyt = yyr = yycrank+(yycrank-yyt); # ifdef LEXDEBUG #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) if(debug) (*yyout) << "compressed state" << endl; #else if(debug) fprintf(yyout,"compressed state\n"); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ # endif if (yywch < NCH) /* 8-bit */ { yyt = yyt + yywch; if(yyt <= yytop && yyt->verify+yysvec == yystate) { if(yyt->advance+yysvec == YYLERR) /* error transitions */ { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yyt->advance+yysvec; goto contin; } yyt = yyr + YYU(yymatch[yywch]); # ifdef LEXDEBUG if(debug) { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "try fall back character "; allprint(YYU(yymatch[yywch])); (*yyout) << endl; #else fprintf(yyout,"try fall back character "); allprint(YYU(yymatch[yywch])); putchar('\n'); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ } # endif if(yyt <= yytop && yyt->verify+yysvec == yystate) { if(yyt->advance+yysvec == YYLERR) /* error transition */ { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yyt->advance+yysvec; goto contin; } } # if YYHSIZE else /* wide */ { if (yyw = yyhlook(yywch,yystate-yysvec)) { if (yywcrank[yyw].wadvance+yysvec==YYLERR) { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yywcrank[yyw].wadvance+yysvec; goto contin; } if (yyw = yymlook(yywch)) /* find the target char */ { if (yyw = yyhlook(yyw,yystate-yysvec)) { if (yywcrank[yyw].wadvance+yysvec == YYLERR) { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yywcrank[yyw].wadvance+yysvec; goto contin; } } } # endif /*YYHSIZE*/ # if YYXSIZE # ifdef MFDEBUG if (debug) { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "try extended ccl on char "; allprint(YYU(yywch)); (*yyout) << '\n'; #else fprintf (yyout, "try extended ccl on char "); allprint(YYU(yywch)); putchar('\n'); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ } # endif yyw = yyxlook(yywch,yystate-yysvec); if (yyw != -1) { if (yyxccl[yyw].advance+yysvec == YYLERR) { wunput(*--yywlastch); break; } *yytlsp++ = yystate = yyxccl[yyw].advance+yysvec; goto contin; } # endif /*YYXSIZE*/ } /* r < yycrank */ if ((yystate = yystate->yyother) && (yyt= yystate->yystoff) != yycrank) { # ifdef LEXDEBUG #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) if(debug) (*yyout) << "fall back to state " << yystate-yysvec-1 << endl; #else if(debug) fprintf(yyout,"fall back to state %d\n",yystate-yysvec-1); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ # endif goto tryagain; } # endif /*YYOPTIM*/ else { wunput(*--yywlastch); break; } contin: # ifdef LEXDEBUG if(debug) { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "state " << yystate-yysvec-1 << " char "; allprint(yywch); (*yyout) << endl; #else fprintf(yyout,"state %d char ",yystate-yysvec-1); allprint(yywch); putchar('\n'); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ } # endif ; /* contin: */ } /* for(;;) */ # ifdef LEXDEBUG if(debug) { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "stopped at " << (int) (*(yytlsp-1)-yysvec-1) << " with "; allprint(yywch); (*yyout) << endl; #else fprintf(yyout,"stopped at %d with ",*(yytlsp-1)-yysvec-1); allprint(yywch); putchar('\n'); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ } # endif while (yytlsp-- > yylstate) { *yywlastch-- = 0; if (*yytlsp != 0 && (yyfnd= (*yytlsp)->yystops) && *yyfnd > 0) { yyolsp = yytlsp; if(yyextra[*yyfnd]) /* must backup */ { while(yyback((*yytlsp)->yystops,-*yyfnd) != 1 && yytlsp > yylstate) { yytlsp--; wunput(*yywlastch--); } } yyprevious = YYU(*yywlastch); yylsp = yytlsp; yywleng = yywlastch-yywtext+1; yywtext[yywleng] = 0; # ifdef LEXDEBUG if(debug) { #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) (*yyout) << "\nmatch "; sprint(yywtext); (*yyout) << " action " << *yyfnd << endl; #else fprintf(yyout,"\nmatch "); sprint(yywtext); fprintf(yyout," action %d\n",*yyfnd); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ } # endif wreturn(*yyfnd++); } wunput(*yywlastch); } if (yywtext[0] == 0 /* && feof(yyin) */) { yysptr=yysbuf; wreturn(0); } yyprevious = yywtext[0] = winput(); if (yyprevious>0) woutput(yyprevious); yywlastch=yywtext; # ifdef LEXDEBUG #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) if(debug) cout << endl; #else if(debug) putchar('\n'); #endif /* #if defined(__cplusplus) && defined(_CPP_IOSTREAMS) */ # endif } /* for (;;) */ wreturn(0); } int yyback(int *yyp, int yym) { if (yyp==0) return(0); while (*yyp) { if (*yyp++ == yym) return(1); } return(0); } # if YYHSIZE /* * wide chars are hashed in yywcrank, return the index of the found element, or * zero */ int yyhlook(int yyc, int yyv) { int yyn; yyn = (yyc % (YYHSIZE - 1)) + 1; for (;;) { if ((yywcrank[yyn].wch==yyc)&&(yywcrank[yyn].wverify==yyv)) return(yyn); yyn = yywcrank[yyn].wnext; if (yyn==0) return(0); } } # endif /*YYHSIZE*/ # if YYHSIZE /* * wide CCL chars are hashed in yywmatch, return the character to map to or * zero if there are none; each char occurs only once in the match table. */ int yymlook(int yyc) { # if YYMSIZE int yyn; yyn = (yyc % (YYMSIZE - 1)) + 1; while (yyn!=0) { if (yywmatch[yyn].wch == yyc) return(yywmatch[yyn].wmatch); yyn = yywmatch[yyn].wnext; } # endif /*YYMSIZE*/ return(0); } # endif /*YYHSIZE*/ # if YYXSIZE /* * general CCLs are described in yyxccl; return the index of the first * acceptable CCL that matches verification, -1 if none found. */ int yyxlook (int yyc, int yyv) { register int yyi; if (!yyc) /* c==0 => EOF */ return (-1); for (yyi = 0; (yyi < YYXSIZE) && (yyxccl[yyi].verify < yyv); yyi++) ; /*Empty*/ for ( ; (yyi < YYXSIZE) && (yyxccl[yyi].verify == yyv); yyi++) { switch (yyxccl[yyi].type) { case YYCCLDOT: return((yyc=='\n')?-1:yyi); } } return (-1); } #endif /* * The following are the multi-byte renditions of input, unput, and * output. They are referenced through the winput, wunput, and woutput macros * resepectively. * * A (-1) is returned if the character input is invalid. */ #ifdef __cplusplus #include <mbstr.h> #endif /* __cplusplus */ int yywinput() { yytbi=0; do { yytbuf[yytbi++]=input(); yytbuf[yytbi]=0; } while(mbsinvalid((const char *) yytbuf)&&(yytbi<yymbcurmax)); if (mbtowc(&yytwc,(const char *)yytbuf,yymbcurmax)<0) return (-1); return ((int)yytwc); } void yywoutput(int yyc) { for (yytbi=wctomb((char *) yytbuf,(wchar_t)yyc),yytbp=yytbuf;yytbi>0;yytbi--) output(*yytbp++); } void yywunput(int yyc) { for(yytbi=wctomb((char *)yytbuf,(wchar_t)yyc)-1;yytbi>=0;yytbi--) unput(yytbuf[yytbi]); } /* * Convert yywtext to yytext prior to returning from yylook. It is referenced * through the wreturn macro. */ int yywreturn(int yyr) { yyleng=wcstombs((char *)yytext,yywtext,YYLMAX); if(yyleng<0) { yyleng=0; yytext[0]=0; } return(yyr); } /* * the following are only used in the lex library */ int yyinput() { return(input()); } void yyoutput(int yyc) { output(yyc); } void yyunput(int yyc) { unput(yyc); } int yymbinput() { return(winput()); } void yymboutput(int yyc) { woutput(yyc); } void yymbunput(int yyc) { wunput(yyc); } int yymbreturn(int yyx) { wreturn (yyx); } extern char *yytext; int main() { ; return 0; } configure:2540: checking for working const configure:2594: gcc -c conftest.c 1>&5 configure:2619: checking flex version configure:2752: gcc -o conftest conftest.c 1>&5 ld: 0711-317 ERROR: Undefined symbol: .pthread_mutexattr_init ld: 0711-317 ERROR: Undefined symbol: .pthread_create ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. collect2: ld returned 8 exit status configure: failed program was: #line 2734 "configure" #include "confdefs.h" #include <pthread.h> #include <stddef.h> void *thread_routine(void *data) { return data; } int main() { pthread_t thd; pthread_mutexattr_t mattr; int data = 1; pthread_mutexattr_init(&mattr); return pthread_create(&thd, NULL, thread_routine, &data); } configure:2772: checking for pthreads_cflags configure:2805: gcc -o conftest -kthread conftest.c 1>&5 gcc: unrecognized option `-kthread' ld: 0711-317 ERROR: Undefined symbol: .pthread_mutexattr_init ld: 0711-317 ERROR: Undefined symbol: .pthread_create ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. collect2: ld returned 8 exit status configure: failed program was: #line 2787 "configure" #include "confdefs.h" #include <pthread.h> #include <stddef.h> void *thread_routine(void *data) { return data; } int main() { pthread_t thd; pthread_mutexattr_t mattr; int data = 1; pthread_mutexattr_init(&mattr); return pthread_create(&thd, NULL, thread_routine, &data); } configure:2805: gcc -o conftest -pthread conftest.c 1>&5 gcc: unrecognized option `-pthread' ld: 0711-317 ERROR: Undefined symbol: .pthread_mutexattr_init ld: 0711-317 ERROR: Undefined symbol: .pthread_create ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. collect2: ld returned 8 exit status configure: failed program was: #line 2787 "configure" #include "confdefs.h" #include <pthread.h> #include <stddef.h> void *thread_routine(void *data) { return data; } int main() { pthread_t thd; pthread_mutexattr_t mattr; int data = 1; pthread_mutexattr_init(&mattr); return pthread_create(&thd, NULL, thread_routine, &data); } configure:2805: gcc -o conftest -pthreads conftest.c 1>&5 gcc: unrecognized option `-pthreads' ld: 0711-317 ERROR: Undefined symbol: .pthread_mutexattr_init ld: 0711-317 ERROR: Undefined symbol: .pthread_create ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. collect2: ld returned 8 exit status configure: failed program was: #line 2787 "configure" #include "confdefs.h" #include <pthread.h> #include <stddef.h> void *thread_routine(void *data) { return data; } int main() { pthread_t thd; pthread_mutexattr_t mattr; int data = 1; pthread_mutexattr_init(&mattr); return pthread_create(&thd, NULL, thread_routine, &data); } configure:2805: gcc -o conftest -mthreads conftest.c 1>&5 configure:2835: checking for pthreads_lib configure:2961: checking for AOLserver support configure:3181: checking for Apache 1.x module support via DSO through APXS Then I get: Sorry, I was not able to sucessfully run APXS. Possible reasons: 1. Perl is not installed (Perl 5.0 is installed) 2. Apache was not compiled with DSO support (it is, and does) 3. 'apxs' is not in your path. The output of /usr/HTTPServer/bin/apxs follows ./configure[3215]: /usr/HTTPServer/bin/apxs: not found configure: error: Aborting. /usr/HTTPServer/bin/apxs does exist... -rwxr-xr-x 1 root system 22146 Mar 7 7 23:47 apxs Running configure with no options gives ./config.status[1805]: 6: bad file unit number ./config.status[1806]: 6: bad file unit number at the end. -- Edit bug report at http://bugs.php.net/?id=22599&edit=1 -- Try a CVS snapshot: http://bugs.php.net/fix.php?id=22599&r=trysnapshot Fixed in CVS: http://bugs.php.net/fix.php?id=22599&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=22599&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=22599&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=22599&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=22599&r=support Expected behavior: http://bugs.php.net/fix.php?id=22599&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=22599&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=22599&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=22599&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=22599&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=22599&r=dst IIS Stability: http://bugs.php.net/fix.php?id=22599&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=22599&r=gnused