Subject: modssl/apache2 compile problems

From: "WONG,ED (HP-Boise,ex1)" <[email-masked]>
Date: Thu, 31 Jan 2002 18:02:12 -0500

Hey All,

I'm encountering the following problems while compiling apache 2.0.28
w/modssl enabled:

ssl_scache_shmht.c
ssl_util.c
ssl_util_ssl.c
ssl_util_table.c
Generating Code...
 link.exe @C:\DOCUME~1\edwon\LOCALS~1\Temp\nmb02172.
   Creating library .\Debug\mod_ssl.lib and object .\Debug\mod_ssl.exp
ssl_expr.obj : error LNK2001: unresolved external symbol _ssl_expr_yyparse
ssl_expr_scan.obj : error LNK2001: unresolved external symbol
_ssl_expr_yylval
.\Debug\mod_ssl.so : fatal error LNK1120: 2 unresolved externals
NMAKE : fatal error U1077: 'link.exe' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual
Studio\VC98\BIN\NMAKE.exe"' : return code '0x2'
Stop.
Error executing NMAKE.

Apache.exe - 5 error(s), 3 warning(s)

To recap, here's what I have done so far:

awk and perl installed and placed in path 
bison and sed installed and placed in path (even their env variables set
properly)
downloaded and compiled openssl 0.9.6c
downloaded apache 2.0.28
placed (and renamed) openssl into /apachedir/srclib/openssl
placed openssl's .lib files in locations where they are found by the visual
studio 6.0 compiler
open the apache.dsw file
set active project to installbin
tried to build and got the above error.

Everything seemed to be going fine until it gets to compiling modSSL.  What
is this
 "ssl_expr.obj : error LNK2001: unresolved external symbol _ssl_expr_yyparse
  ssl_expr_scan.obj : error LNK2001: unresolved external symbol
_ssl_expr_yylval"
all about?

I've even tried to get mod_ssl to work by DSO, but it keeps telling me that
it can't find c:\apachedir\modules\mod_ssl.so, eventhough the file IS
exactly where it claims to not be able to find it.  Could I have missed
something with this DSO method of loading mod_ssl?

**************************************
Edward Wong
Connectivity Software Engineer
Hewlett-Packard Company
**************************************
______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl)                   www.modssl.org
User Support Mailing List                      [email-masked]
Automated List Manager                            [email-masked]

---

From: Leo Baschy <[email-masked]>
Date: Sat, 02 Feb 2002 04:57:42 -0800

Sounds similar to my problem building that under Windows.  Using cygwin.  Using the Visual C++ dsw/dsp projects.  Rest of Apache 2.0.28 builds fine.  Have put in openssl etc.  (Previously on same machine have successfully built 1.3.20 with mod_ssl, still do.)

The problem is specific to lex, specifically flex, processing
    lex.ssl_expr_yy.c(1753) : error C2143: syntax error : missing ')' before 'constant'

That seems to indicate there is a file ssl_expr_scan.l which is being used to generate ssl_expr_scan.c and that generation doesn't work right.  The .c file fails to compile.

A temporary workaround seems to be to skip lex/flex use the ssl_expr_scan.c file that comes with 2.0.28, but I have no idea whether that might actually be an (older) incorrect version then.

Anyone willing to tinker with (or knowledgable about) versions of lex?

Can ssl_expr_scan.l be fine tuned to make this work again?

- Leo Baschy <[email-masked]>