Subject: Preprocessor bug in ssl_exp_scan.l when building with native compiler on HP-UX 11

From: Stuart Cook <[email-masked]>
Date: Tue, 04 Feb 2003 12:00:59 +0000

I have been building Apache 1.3.27 on HP-UX 11 via the native compiler 
with Mod SSL 2.8.12-1.3.27 and have come across and resolved a build bug 
during the Apache compilation process.

In the Mod SSL file .../pkg.sslmod/ssl_expr_scan.l from line 91 onwards 
there is a state variable 'str'.  The native C pre-processor converts 
this to 1 and errors with:

/opt/ansic/bin/cc -c  -I../../os/unix -I../../include   -DHPUX11 -Aa -Ae 
-D_HPUX_SOURCE -DMOD_SSL=208112 -DUSE_HSREGEX -DEAPI -DUSE_EXPAT 
-I../../lib/expat-lite `../../apaci` -DSSL_COMPAT -DSSL_ENGINE 
-I/build/reporter/apache/openssl-engine-0.9.6g/include 
-DMOD_SSL_VERSION=\"2.8.12\" ssl_expr_scan.c
cc: "lex.ssl_expr_yy.c", line 1753: error 1000: Unexpected symbol: "1".
cc: "lex.ssl_expr_yy.c", line 1760: error 1720: Subscript expression 
must combine object pointer and integer.
cc: "lex.ssl_expr_yy.c", line 1760: error 1566: Test expression in for 
must be scalar.
cc: "lex.ssl_expr_yy.c", line 1763: warning 527: Integral value 
implicitly converted to pointer in assignment.
cc: "lex.ssl_expr_yy.c", line 1763: warning 563: Argument #1 is not the 
correct type.
*** Error exit code 1

This can be resolved by changing .../pkg.sslmod/ssl_expr_scan.l state 
variable to 'str_state' or some other value than 'str'.

Once this change is made, the apache web server correctly and 
successfully compiles.

Stuart

-- 
--------------------------------------------
  Stuart V Cook BSc. (Hons)
  Senior Software Consultant - Micromuse Ltd.
  90 Putney Bridge Rd, London. SW18 1DA. UK
  Office: +44-(0)20-8875 9500 x734
  Mobile: +44-(0)7771 816 472
--------------------------------------------
______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl)                   www.modssl.org
User Support Mailing List                      [email-masked]
Automated List Manager                            [email-masked]

---

From: Marko Asplund <[email-masked]>
Date: Wed, 19 Feb 2003 15:40:36 +0200 (EET)

> variable to 'str_state' or some other value than 'str'.

i've been building Apache v1.3.27 with mod_ssl-2.8.12-1.3.27 and OpenSSL
v0.9.6h (non-engine) using HP Ansi C compiler on HP-UX 11.00 with no
problems. here's the compilation command for ssl_expr_scan.c.

cc -c  -I../../os/unix -I../../include   -DHPUX11 -Aa -Ae -D_HPUX_SOURCE -DMOD_SSL=208112 -I/opt/kronodoc/openldap/2.0.27-kb3/include -DUSE_HSREGEX -DEAPI -DUSE_EXPAT -I../../lib/expat-lite -DNO_DL_NEEDED -DNO_IDEA -noshared `../../apaci` -DSSL_COMPAT -I/opt/local/openssl/0.9.6h-apache/include -DMOD_SSL_VERSION=\"2.8.12\" ssl_expr_scan.c

-- 
	aspa					http://www.kronodoc.fi/