You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by rj...@apache.org on 2011/07/04 19:03:14 UTC

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

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}"
 



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


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

Posted by Igor Galić <i....@brainsware.org>.

----- 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/