On 8/06/2012 11:01 p.m., Alexander Komyagin wrote:
On Thu, 2012-06-07 at 17:13 -0600, Alex Rousskov wrote:
On 06/07/2012 10:11 AM, Alexander Komyagin wrote:
When compiling squid 3.2 with crtd enabled, I experienced link errors
due to non-present libsslutil.
I've seen some similar messages, but none had the exact patch. So I made
the one myself (could it be pushed to upstream ?) :
--- a/src/ssl/Makefile.am 2012-03-07 06:42:55.000000000 +0400
+++ b/src/ssl/Makefile.am 2012-06-07 19:25:52.391644141 +0400
@@ -45,5 +45,5 @@
if USE_SSL_CRTD
ssl_crtd_SOURCES = ssl_crtd.cc certificate_db.cc certificate_db.h
-ssl_crtd_LDADD = $(SSLLIB) -lsslutil $(COMPAT_LIB)
+ssl_crtd_LDADD = libsslutil.la $(SSLLIB) -lsslutil $(COMPAT_LIB)
endif
Hello Alexander,
We already have -lsslutil in ssl_crtd_LDADD. One of the two
references to the libutil.la library has to be removed. I found this in
automake documentation:
`maude_LDADD'
Extra objects (`*.$(OBJEXT)') and libraries (`*.a', `*.la') can be
added to a _program_ by listing them in the `_LDADD' variable.
and, more importantly:
We recommend that you avoid using `-l' options in `LDADD' or
`PROG_LDADD' when referring to libraries built by your package.
Instead, write the file name of the library explicitly [...]
Use `-l' only to list third-party libraries.
It looks like -lsslutil should be _replaced_ with libsslutil.la. Could
you test that theory, please?
Hello Alex. You definitely right - no reason to add the same lib twice.
Without -lsslutil crtd links and works fine. So the patch may be
altered:
--- a/src/ssl/Makefile.am 2012-03-07 06:42:55.000000000 +0400
+++ b/src/ssl/Makefile.am 2012-06-07 19:25:52.391644141 +0400
@@ -45,5 +45,5 @@
if USE_SSL_CRTD
ssl_crtd_SOURCES = ssl_crtd.cc certificate_db.cc certificate_db.h
-ssl_crtd_LDADD = $(SSLLIB) -lsslutil $(COMPAT_LIB)
+ssl_crtd_LDADD = libsslutil.la $(SSLLIB) $(COMPAT_LIB)
endif
Thank you,
Alex.
Excellent. Thank you.
+1 from me on this and applying immediately.
Amos