Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problems complieing apache_1.3.31 and SSL

13 views
Skip to first unread message

Ralf Wiegand

unread,
Jul 18, 2004, 11:23:05 AM7/18/04
to
orig. question:

> Hello -
> I got the following problem.
> Solaris 9 04/04 w/ gcc3.4.0/ latest:
> curl
> php
> mysql
> openssl.0.9.7c
> apache 1.3.31
>
> Final apache compile error message:
>
> pat-lite `../../apaci` -fPIC -DSHARED_MODULE -DSSL_COMPAT -DSSL_ENGINE -I/opt/op
> enssl-0.9.7c/include -DMOD_SSL_VERSION=\"2.8.18\" ssl_expr_scan.c && mv ssl_expr
> _scan.o ssl_expr_scan.lo
> lex.ssl_expr_yy.c:1900: error: parse error before numeric constant
> lex.ssl_expr_yy.c: In function `ssl_expr_yy_scan_string':
> lex.ssl_expr_yy.c:1901: error: number of arguments doesn't match prototype
> lex.ssl_expr_yy.c:293: error: prototype declaration
> lex.ssl_expr_yy.c:1903: warning: passing arg 1 of `strlen' makes pointer from in
> teger without a cast
> lex.ssl_expr_yy.c:1903: warning: passing arg 1 of `ssl_expr_yy_scan_bytes' makes
> pointer from integer without a cast
> *** Error code 1
> make: Fatal error: Command failed for target `ssl_expr_scan.lo'
> Current working directory /opt/apache_1.3.31/src/modules/ssl
> *** Error code 1
> make: Fatal error: Command failed for target `all'
> Current working directory /opt/apache_1.3.31/src/modules
> *** Error code 1
> make: Fatal error: Command failed for target `subdirs'
> Current working directory /opt/apache_1.3.31/src
> *** Error code 1
> make: Fatal error: Command failed for target `build-std'
> Current working directory /opt/apache_1.3.31
> *** Error code 1
> make: Fatal error: Command failed for target `build'
>
>
> I ran:
> ./configure --enable-module=ssl \
> --enable-module=so --activate-module=src/modules/php4/libphp4.a \
> --enable-module=php4 \
> --prefix=/usr/local/apache \
> --enable-shared=ssl
>
>
> Can anybody help or point me in the right direction.
>
> Thank YOU
> Ralf Wiegand
> E-mail: rwie...@tmltechnologies.com


Answer/Solution:

Re: Apache Compilation Problem: makes pointer from integer without a
cast -
Author: dl-meek
In Reply To: Re: Apache Compilation Problem: makes pointer from integer
without a cast -HELP May 11, 2004 6:29 AM
Reply 6 of 11

I fought this for a good while yesterday. I found that touching *.c
files really didn't help. Here is what I found to get around this issue.

1. Note that ssl_expr_scan.c is a derived object and technically should
not be in the mod_ssl source tree. It is created by flex with input from
ssl_expr_scan.l. The problem is that the generated .c file has a
compilation error in it. It calls a routine in a format different from
the declared routine prototype. That is a violation of ansi-c rules, and
the compilation ends on that error. (The pointer from integer without a
cast is only a warning - not an error.)

2. The mod_ssl developers know about this problem and decided to get
around it by including a version of ssl_expr_scan.c that does compile.
Where everyone gets tripped up is when make decides that ssl_expr_scan.c
is out-of-date and rebuilds it using flex, only to put the errant .c
file back in your source tree.

3. To overcome this, just before you issue make for apache, use /bin/cp
to COPY ssl_expr_scan.c from the pkg.sslmod to the src/modules/ssl
subdirectory in your apache source tree. This way, ssl_expr_scan.c will
be more recent than ssl_expr_scan.l and make will see no reason to build
a new .c file. Then, invoke make on your apache tree as usual. You
should get a clean compile.

4. The real solution for this is for the modssl developers to fix the
reason why ssl_expr_scan.l does not produce a cleanly compilable
ssl_expr_scan.c file.

Hope this helps....

All the best,
Don Meek
Little Rock, AR, USA

0 new messages