You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Igor Galić <i....@brainsware.org> on 2011/07/05 03:00:25 UTC

Re: svn commit: r1142739 - in /httpd/httpd/trunk: CHANGES configure.in


----- Original Message -----
> Author: rjung
> Date: Mon Jul  4 17:03:13 2011
> New Revision: 1142739
> 
> URL: http://svn.apache.org/viewvc?rev=1142739&view=rev
> Log:
> Only link the httpd binary against PCRE.
> No other support binary needs PCRE.
> 
> Modified:
>     httpd/httpd/trunk/CHANGES
>     httpd/httpd/trunk/configure.in
> 
> Modified: httpd/httpd/trunk/CHANGES
> URL:
> http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1142739&r1=1142738&r2=1142739&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/CHANGES [utf-8] (original)
> +++ httpd/httpd/trunk/CHANGES [utf-8] Mon Jul  4 17:03:13 2011
> @@ -20,6 +20,9 @@ Changes with Apache 2.3.14
>    *) mod_lua, mod_deflate: respect platform specific runpath linker
>       flag. [Rainer Jung]
>  
> +  *) configure: Only link the httpd binary against PCRE. No other
> support
> +     binary needs PCRE. [Rainer Jung]
> +
>  Changes with Apache 2.3.13
>  
>    *) ab: Support specifying the local address to use. PR 48930.
> 
> Modified: httpd/httpd/trunk/configure.in
> URL:
> http://svn.apache.org/viewvc/httpd/httpd/trunk/configure.in?rev=1142739&r1=1142738&r2=1142739&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/configure.in (original)
> +++ httpd/httpd/trunk/configure.in Mon Jul  4 17:03:13 2011
> @@ -207,7 +207,8 @@ else
>    AC_MSG_ERROR([pcre-config for libpcre not found. PCRE is required
>    and available from http://pcre.org/])
>  fi
>  APACHE_SUBST(PCRE_LIBS)
> -APR_ADDTO(AP_LIBS, [\$(PCRE_LIBS)])
> +APR_ADDTO(HTTPD_LDFLAGS, [\$(PCRE_LIBS)])
> +APACHE_SUBST(HTTPD_LDFLAGS)
>  
>  echo $ac_n "${nl}Configuring Apache httpd ...${nl}"

I'm not sure if it's this change that breaks the build
or if it was always broken but:


/opt/bw/share/apr/build/libtool --silent --mode=link gcc -std=gnu99 -pthread  -mtune=native -march=native -O3 -g     -Wl,--as-needed -Wl,--reduce-memory-overheads -Wl,-Bsymbolic-functions -Wl,--no-copy-dt-needed-entries -o httpd  modules.lo buildmark.o -L/usr/lib/x86_64-linux-gnu -lpcre -export-dynamic server/libmain.la modules/core/libmod_so.la modules/http/libmod_http.la  os/unix/libos.la    /opt/bw/lib/x86_64-linux-gnu/libapr-2.la -lcrypt -lrt -lcrypt -lpthread -ldl -lexpat 
server/.libs/libmain.a(util_pcre.o): In function `ap_regfree':
/tmp/build/httpd/server/util_pcre.c:103: undefined reference to `pcre_free'
server/.libs/libmain.a(util_pcre.o): In function `ap_regcomp':
/tmp/build/httpd/server/util_pcre.c:136: undefined reference to `pcre_compile'
/tmp/build/httpd/server/util_pcre.c:142: undefined reference to `pcre_info'
server/.libs/libmain.a(util_pcre.o): In function `ap_regexec_len':
/tmp/build/httpd/server/util_pcre.c:197: undefined reference to `pcre_exec'
collect2: ld returned 1 exit status
make[2]: *** [httpd] Error 1
make[2]: Leaving directory `/tmp/build/httpd'

Notice the complete lack of -lpcre in that line --
it only appeared after I added LIBS=-lpcre to ./configure.

I think something's wonky.


-- 
Igor Galić

Tel: +43 (0) 664 886 22 883
Mail: i.galic@brainsware.org
URL: http://brainsware.org/

Re: svn commit: r1142739 - in /httpd/httpd/trunk: CHANGES configure.in

Posted by Rainer Jung <ra...@kippdata.de>.
Hi Igor,

On 05.07.2011 03:00, Igor Galić wrote:
> I'm not sure if it's this change that breaks the build
> or if it was always broken but:

It broke it, but ...

> /opt/bw/share/apr/build/libtool --silent --mode=link gcc -std=gnu99 -pthread  -mtune=native -march=native -O3 -g     -Wl,--as-needed -Wl,--reduce-memory-overheads -Wl,-Bsymbolic-functions -Wl,--no-copy-dt-needed-entries -o httpd  modules.lo buildmark.o -L/usr/lib/x86_64-linux-gnu -lpcre -export-dynamic server/libmain.la modules/core/libmod_so.la modules/http/libmod_http.la  os/unix/libos.la    /opt/bw/lib/x86_64-linux-gnu/libapr-2.la -lcrypt -lrt -lcrypt -lpthread -ldl -lexpat 
> server/.libs/libmain.a(util_pcre.o): In function `ap_regfree':
> /tmp/build/httpd/server/util_pcre.c:103: undefined reference to `pcre_free'
> server/.libs/libmain.a(util_pcre.o): In function `ap_regcomp':
> /tmp/build/httpd/server/util_pcre.c:136: undefined reference to `pcre_compile'
> /tmp/build/httpd/server/util_pcre.c:142: undefined reference to `pcre_info'
> server/.libs/libmain.a(util_pcre.o): In function `ap_regexec_len':
> /tmp/build/httpd/server/util_pcre.c:197: undefined reference to `pcre_exec'
> collect2: ld returned 1 exit status
> make[2]: *** [httpd] Error 1
> make[2]: Leaving directory `/tmp/build/httpd'
> 
> Notice the complete lack of -lpcre in that line --

Not really: you'll find "-lpcre -export-dynamic server/libmain.la"
somewhere in the middle of the line.

But pcre being linked before libmain should be the problem. My linker
didn't complain, but yours obviously does.

Should be fixed in r1142893.
Thanks for testing!

> it only appeared after I added LIBS=-lpcre to ./configure.

Not necessary.

> I think something's wonky.

Right, it was :)

Regards,

Rainer