Bug 37006

Summary: "pthread" error when compiling under AIX 5.3 using gcc 3.3.2
Product: Apache httpd-2 Reporter: Paul Thakur <pthakur>
Component: AllAssignee: Apache HTTPD Bugs Mailing List <bugs>
Status: VERIFIED INFORMATIONPROVIDED    
Severity: regression CC: Jorgeluisrdz198
Priority: P2    
Version: 2.0.54   
Target Milestone: ---   
Hardware: Other   
OS: AIX   

Description Paul Thakur 2005-10-11 00:03:05 UTC
I am trying to compile Apache 2.0.54 under AIX 5.3 using gcc 3.3.2 and 
getting "pthread" error (see below). I have tried different "–-with-mpm" 
options but same pthread error in all cases. I have read the recommendation at 
the following links and tried their suggestions but still having problem:
   http://www.apache.org/~trawick/
   http://people.apache.org/~trawick/apache-2-on-aix.html

I didn't run buildconf since I am compiling under AIX 5.3 and above links 
didn't see a need for it.  

The hello.c example compiles okay.

The following required filesets are at version:
bos.adt.base		5.3.0.10
bos.adt.include		5.3.0.20	
bos.adt.lib		5.3.0.20
bos.adt.libm		5.3.0.10

Lastly, I ran ./configure with option "--disable-threads" and then "make" 
compiles okay.

Please let me know what else to check and how to go around fixing the "pthread" 
error. Your help is greatly appreciated. 

Below is the "pthread" warning from one of the several option sets that I tried:
=========================================
./configure –-prefix=/u01/app/arcims/apache2 –-with-mpm=worker --enable-so --
without-berkeley-db 2>&1 | tee configure5.log

configure Errors:
----------------
Checking for Threads...
checking pthread.h usability... no
checking pthread.h presence... yes
configure: WARNING: pthread.h: present but cannot be compiled
configure: WARNING: pthread.h: check for missing prerequisite headers?
configure: WARNING: pthread.h: see the Autoconf documentation
configure: WARNING: pthread.h: section "Present But Cannot Be Compiled"
configure: WARNING: pthread.h: proceeding with the preprocessor's result
configure: WARNING: pthread.h: in the future, the compiler will take precedence
configure: WARNING:     ## ------------------------------------------ ##
configure: WARNING:     ## Report this to the AC_PACKAGE_NAME lists.  ##
configure: WARNING:     ## ------------------------------------------ ##

make errors:
============
Making all in srclib
Making all in apr
Making all in strings
	/bin/sh /u01/app/arcims/source/apache2.0.54/httpd-
2.0.54/srclib/apr/libtool --silent --mode=compile gcc -g -O2   -DHAVE_CONFIG_H -
U__STR__ -D_USE_IRS  -D_THREAD_SAFE -I../include -I../include/arch/unix  -c 
apr_cpystrn.c && touch apr_cpystrn.lo
	/bin/sh /u01/app/arcims/source/apache2.0.54/httpd-
2.0.54/srclib/apr/libtool --silent --mode=compile gcc -g -O2   -DHAVE_CONFIG_H -
U__STR__ -D_USE_IRS  -D_THREAD_SAFE -I../include -I../include/arch/unix  -c 
apr_snprintf.c && touch apr_snprintf.lo
In file included from ../include/apr_portable.h:47,
                 from apr_snprintf.c:23:
/usr/include/pthread.h:582: error: parse error before '*' token
/usr/include/pthread.h:585: error: parse error before '*' token
/usr/include/pthread.h:589: error: parse error before '*' token
/usr/include/pthread.h:592: error: parse error before '*' token

make: 1254-004 The error code from the last command is 1. Stop.
make: 1254-004 The error code from the last command is 1. Stop.
make: 1254-004 The error code from the last command is 1. Stop.
Comment 1 William A. Rowe Jr. 2005-10-11 01:07:19 UTC
  There's a new candidate in http://httpd.apache.org/dev/dist/ ... which
  we hope will become the next release.  It contains some build fixes for
  AIX, could you give it a whirl and report back?
Comment 2 Jeff Trawick 2005-10-11 01:25:53 UTC
This is symptomatic of a bad gcc installation.  gcc's copy of selected system
header files were prepared for a different level of the OS, and a mismatch ensues.

There is some sort of fix-include procedure to rebuild gcc's copy of these
system header files.  google for that or ask whomever you got the gcc build from.
Comment 3 Paul Thakur 2005-10-11 02:28:20 UTC
I tried the new version httpd-2.0.55 but still the same "pthread.h" errors and 
make is failing.
Comment 4 rens groenewegen 2006-02-10 18:25:07 UTC
not a bug.

gcc version too old, get a GCC for aix 5.3  from 

http://www-03.ibm.com/servers/aix/products/aixos/linux/ezinstall.html

install gcc, gcc plusplus, c++ libs and c++devel libs and 
then the errors are gone.....

rens
Comment 5 Jorge luis 2021-02-18 02:29:27 UTC
(In reply to Paul Thakur from comment #0)
> I am trying to compile Apache 2.0.54 under AIX 5.3 using gcc 3.3.2 and 
> getting "pthread" (see below). I have tried different "–-with-mpm" 
> options but same pthread error in all cases. I have read the recommendation
> at 
> the following links and tried their suggestions but still having problem:
>    http://www.apache.org/~trawick/
>    http://people.apache.org/~trawick/apache-2-on-aix.html
> 
> I didn't run buildconf since I am compiling under AIX 5.3 and above links 
> didn't see a need for it.  
> 
> The hello.c example compiles okay.
> 
> The following required filesets are at version:
> bos.adt.base		5.3.0.10
> bos.adt.include		5.3.0.20	
> bos.adt.lib		5.3.0.20
> bos.adt.libm		5.3.0.10
> 
> Lastly, I ran ./configure with option "--disable-threads" and then "make" 
> compiles okay.
> 
> Please let me know what else to check and how to go around fixing the
> "pthread" 
> error. Your help is greatly appreciated. 
> 
> Below is the "pthread" warning from one of the several option sets that I
> tried:
> =========================================
> ./configure –-prefix=/u01/app/arcims/apache2 –-with-mpm=worker --enable-so --
> without-berkeley-db 2>&1 | tee configure5.log
> 
> configure Errors:
> ----------------
> Checking for Threads...
> checking pthread.h usability... no
> checking pthread.h presence... yes
> configure: WARNING: pthread.h: present but cannot be compiled
> configure: WARNING: pthread.h: check for missing prerequisite headers?
> configure: WARNING: pthread.h: see the Autoconf documentation
> configure: WARNING: pthread.h: section "Present But Cannot Be Compiled"
> configure: WARNING: pthread.h: proceeding with the preprocessor's result
> configure: WARNING: pthread.h: in the future, the compiler will take
> precedence
> configure: WARNING:     ## ------------------------------------------ ##
> configure: WARNING:     ## Report this to the AC_PACKAGE_NAME lists.  ##
> configure: WARNING:     ## ------------------------------------------ ##
> 
> make errors:
> ============
> Making all in srclib
> Making all in apr
> Making all in strings
> 	/bin/sh /u01/app/arcims/source/apache2.0.54/httpd-
> 2.0.54/srclib/apr/libtool --silent --mode=compile gcc -g -O2  
> -DHAVE_CONFIG_H -
> U__STR__ -D_USE_IRS  -D_THREAD_SAFE -I../include -I../include/arch/unix  -c 
> apr_cpystrn.c && touch apr_cpystrn.lo
> 	/bin/sh /u01/app/arcims/source/apache2.0.54/httpd-
> 2.0.54/srclib/apr/libtool --silent --mode=compile gcc -g -O2  
> -DHAVE_CONFIG_H -
> U__STR__ -D_USE_IRS  -D_THREAD_SAFE -I../include -I../include/arch/unix  -c 
> apr_snprintf.c && touch apr_snprintf.lo
> In file included from ../include/apr_portable.h:47,
>                  from apr_snprintf.c:23:
> /usr/include/pthread.h:582: error: parse error before '*' token
> /usr/include/pthread.h:585: error: parse error before '*' token
> /usr/include/pthread.h:589: error: parse error before '*' token
> /usr/include/pthread.h:592: error: parse error before '*' token
> 
> make: 1254-004 The error code from the last command is 1. Stop.
> make: 1254-004 The error code from the last command is 1. Stop.
> make: 1254-004 The ero code from the last command is 1. Sí.