Bug 208584 - www/squid: SSL libcrypto/ssl detection and linking
Summary: www/squid: SSL libcrypto/ssl detection and linking
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Bernard Spil
URL:
Keywords:
: 209329 209523 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-04-06 18:04 UTC by Helmut Ritter
Modified: 2016-07-03 10:24 UTC (History)
4 users (show)

See Also:
bugzilla: maintainer-feedback? (timp87)


Attachments
svn diff for www/squid (7.61 KB, patch)
2016-05-06 20:40 UTC, Bernard Spil
brnrd: maintainer-approval?
Details | Diff
svn diff for www/squid 2.0 (7.95 KB, patch)
2016-05-12 16:33 UTC, Pavel Timofeev
timp87: maintainer-approval+
Details | Diff
Build Log (777.50 KB, text/plain)
2016-07-01 17:49 UTC, Helmut Ritter
no flags Details
make.conf (1.58 KB, text/plain)
2016-07-01 17:50 UTC, Helmut Ritter
no flags Details
pkg info (22.13 KB, text/plain)
2016-07-01 17:50 UTC, Helmut Ritter
no flags Details
options (1.53 KB, text/plain)
2016-07-01 17:51 UTC, Helmut Ritter
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Helmut Ritter 2016-04-06 18:04:34 UTC
Google didn't help me much:

https://lists.freebsd.org/pipermail/freebsd-questions/2015-June/266225.html

OpenSSL is from base, 3.5.15 installed fine.

[helmut@BSDHelmut1064 /usr/ports/www/squid]$ sudo MAKE_JOBS_UNSAFE=yes make
===> Options unchanged
===>  License GPLv2 accepted by the user
===>   squid-3.5.16 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by squid-3.5.16 for building
===>  Extracting for squid-3.5.16
=> SHA256 Checksum OK for squid3.5/squid-3.5.16.tar.xz.
===>  Patching for squid-3.5.16
===>  Applying extra patch /usr/ports/www/squid/files/extra-patch-build-8-9
===>  Applying FreeBSD patches for squid-3.5.16
===>   squid-3.5.16 depends on file: /usr/local/lib/libcrypto.so.37 - found
===>   squid-3.5.16 depends on package: perl5>=5.20<5.21 - found
===>   squid-3.5.16 depends on shared library: libldap-2.4.so.2 - found (/usr/local/lib/libldap-2.4.so.2)
===>  Configuring for squid-3.5.16
depbase=`echo swap_log_op.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; c++ -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/usr/local/etc/squid/squid.conf\"  -DDEFAULT_SQUID_DATA_DIR=\"/usr/local/etc/squid\"  -DDEFAULT_SQUID_CONFIG_DIR=\"/usr/local/etc/squid\"    -I.. -I../include  -I../lib -I../src  -I../include  -I/usr/include  -I/usr/include   -I../src   -I/usr/include  -I/usr/include -I/usr/local/include -Werror -Qunused-arguments  -D_REENTRANT -I/usr/include -I/usr/local/include   -O2 -pipe -I/usr/local/include -I/usr/local/include -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing  -I/usr/local/include -MT swap_log_op.o -MD -MP -MF $depbase.Tpo -c -o swap_log_op.o swap_log_op.cc && mv -f $depbase.Tpo $depbase.Po
/bin/sh ../libtool  --tag=CXX    --mode=link c++ -Werror -Qunused-arguments  -D_REENTRANT  -I/usr/include -I/usr/local/include   -O2 -pipe -I/usr/local/include -I/usr/local/include -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing  -I/usr/local/include -export-dynamic -dlopen force -L/usr/lib  -L/usr/local/lib -pthread -Wl,-rpath,/usr/local/lib -L/usr/local/lib -fstack-protector -L/usr/local/lib -Wl,-R/usr/local/lib -o squid AclRegs.o AuthReg.o AccessLogEntry.o  AsyncEngine.o YesNoNone.o cache_cf.o  CacheDigest.o cache_manager.o carp.o  cbdata.o ChunkedCodingParser.o  client_db.o client_side.o  client_side_reply.o client_side_request.o  BodyPipe.o clientStream.o  CollapsedForwarding.o CompletionDispatcher.o  ConfigOption.o ConfigParser.o  CpuAffinity.o CpuAffinityMap.o  CpuAffinitySet.o debug.o delay_pools.o DelayId.o  DelayBucket.o DelayConfig.o  DelayPool.o DelaySpec.o DelayTagged.o  DelayUser.o DelayVector.o  NullDelayId.o ClientDelayConfig.o  disk.o DiskIO/DiskIOModule.o  DiskIO/ReadRequest.o DiskIO/WriteRequest.o dlink.o  dns_internal.o DnsLookupDetails.o errorpage.o ETag.o  event.o EventLoop.o external_acl.o  ExternalACLEntry.o FadingCounter.o  fatal.o fd.o fde.o filemap.o  fqdncache.o FwdState.o gopher.o  helper.o htcp.o http.o  HttpHdrCc.o HttpHdrRange.o HttpHdrSc.o  HttpHdrScTarget.o HttpHdrContRange.o  HttpHeader.o HttpHeaderTools.o  HttpBody.o HttpMsg.o HttpParser.o  HttpReply.o RequestFlags.o  HttpRequest.o HttpRequestMethod.o  icp_v2.o icp_v3.o int.o  internal.o ipc.o ipcache.o   SquidList.o main.o  MasterXaction.o mem.o mem_node.o  MemBuf.o MemObject.o mime.o  mime_header.o multicast.o neighbors.o  Notes.o Packer.o Parsing.o   pconn.o peer_digest.o  peer_proxy_negotiate_auth.o peer_select.o  peer_sourcehash.o peer_userhash.o  PeerPoolMgr.o redirect.o refresh.o  RemovalPolicy.o send-announce.o  MemBlob.o SBuf.o  SBufExceptions.o SBufDetailedStats.o  SBufStatsAction.o snmp_core.o snmp_agent.o  SquidMath.o SquidNew.o stat.o  StatCounters.o StatHist.o String.o  StrList.o stmem.o store.o  StoreFileSystem.o store_io.o  StoreIOState.o store_client.o  store_digest.o store_dir.o  store_key_md5.o store_log.o  store_rebuild.o store_swapin.o  store_swapmeta.o store_swapout.o  StoreMetaUnpacker.o StoreMeta.o StoreMetaMD5.o  StoreMetaSTD.o StoreMetaSTDLFS.o  StoreMetaURL.o StoreMetaVary.o  StoreStats.o StoreSwapLogData.o  SwapDir.o Transients.o MemStore.o  time.o tools.o tunnel.o  unlinkd.o url.o urn.o wccp.o  wccp2.o whois.o wordlist.o    LoadableModule.o LoadableModules.o DiskIO/DiskIOModules_gen.o err_type.o err_detail_type.o  globals.o hier_code.o icp_opcode.o  LogTags.o lookup_t.o repl_modules.o  swap_log_op.o auth/libacls.la ident/libident.la acl/libacls.la  acl/libstate.la auth/libauth.la libAIO.a libBlocking.a libIpcIo.a libMmapped.a libDiskThreads.a libDiskDaemon.a acl/libapi.la  base/libbase.la libsquid.la ip/libip.la fs/libfs.la  ssl/libsslsquid.la  ssl/libsslutil.la ipc/libipc.la mgr/libmgr.la anyp/libanyp.la  comm/libcomm.la eui/libeui.la helper/libhelper.la  http/libsquid-http.la icmp/libicmp.la icmp/libicmp-core.la  log/liblog.la format/libformat.la clients/libclients.la  servers/libservers.la ftp/libftp.la   DiskIO/AIO/AIODiskIOModule.o DiskIO/Blocking/BlockingDiskIOModule.o DiskIO/IpcIo/IpcIoDiskIOModule.o DiskIO/Mmapped/MmappedDiskIOModule.o DiskIO/DiskThreads/DiskThreadsDiskIOModule.o DiskIO/DiskDaemon/DiskDaemonDiskIOModule.o repl/liblru.a repl/libheap.a -lrt   -lcrypt  adaptation/libadaptation.la   snmp/libsnmp.la ../lib/snmplib/libsnmplib.la parser/libsquid-parser.la  ../lib/libmisccontainers.la  ../lib/libmiscencoding.la  ../lib/libmiscutil.la -L/usr/local/lib -L/usr/local/lib -lssl -lcrypto    -L/usr/lib -L/usr/lib -lgssapi -lgssapi_krb5 -lheimntlm -lkrb5 -lhx509 -lcom_err -lcrypto -lasn1 -lwind -lheimbase -lroken -lcrypt -pthread -L/usr/lib -lkrb5 -lhx509 -lcom_err -lcrypto -lasn1 -lwind -lheimbase -lroken -lcrypt -pthread ../compat/libcompat-squid.la  -lm -lkrb5 -lgssapi -lgssapi_krb5  -L.. -lltdl
libtool: link: rm -f .libs/squid.nm .libs/squid.nmS .libs/squid.nmT
libtool: link: rm -f ".libs/squid.nmI"
libtool: link: (cd .libs && cc -I/usr/include -O2 -pipe -I/usr/local/include -I/usr/local/include -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing -I/usr/local/include -c -fno-builtin "squidS.c")
libtool: link: rm -f ".libs/squidS.c" ".libs/squid.nm" ".libs/squid.nmS" ".libs/squid.nmT" ".libs/squid.nmI"
libtool: link: c++ -Werror -Qunused-arguments -D_REENTRANT -I/usr/include -I/usr/local/include -O2 -pipe -I/usr/local/include -I/usr/local/include -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing -I/usr/local/include .libs/squidS.o -pthread -Wl,-rpath -Wl,/usr/local/lib -fstack-protector -Wl,-R/usr/local/lib -o squid AclRegs.o AuthReg.o AccessLogEntry.o AsyncEngine.o YesNoNone.o cache_cf.o CacheDigest.o cache_manager.o carp.o cbdata.o ChunkedCodingParser.o client_db.o client_side.o client_side_reply.o client_side_request.o BodyPipe.o clientStream.o CollapsedForwarding.o CompletionDispatcher.o ConfigOption.o ConfigParser.o CpuAffinity.o CpuAffinityMap.o CpuAffinitySet.o debug.o delay_pools.o DelayId.o DelayBucket.o DelayConfig.o DelayPool.o DelaySpec.o DelayTagged.o DelayUser.o DelayVector.o NullDelayId.o ClientDelayConfig.o disk.o DiskIO/DiskIOModule.o DiskIO/ReadRequest.o DiskIO/WriteRequest.o dlink.o dns_internal.o DnsLookupDetails.o errorpage.o ETag.o event.o EventLoop.o external_acl.o ExternalACLEntry.o FadingCounter.o fatal.o fd.o fde.o filemap.o fqdncache.o FwdState.o gopher.o helper.o htcp.o http.o HttpHdrCc.o HttpHdrRange.o HttpHdrSc.o HttpHdrScTarget.o HttpHdrContRange.o HttpHeader.o HttpHeaderTools.o HttpBody.o HttpMsg.o HttpParser.o HttpReply.o RequestFlags.o HttpRequest.o HttpRequestMethod.o icp_v2.o icp_v3.o int.o internal.o ipc.o ipcache.o SquidList.o main.o MasterXaction.o mem.o mem_node.o MemBuf.o MemObject.o mime.o mime_header.o multicast.o neighbors.o Notes.o Packer.o Parsing.o pconn.o peer_digest.o peer_proxy_negotiate_auth.o peer_select.o peer_sourcehash.o peer_userhash.o PeerPoolMgr.o redirect.o refresh.o RemovalPolicy.o send-announce.o MemBlob.o SBuf.o SBufExceptions.o SBufDetailedStats.o SBufStatsAction.o snmp_core.o snmp_agent.o SquidMath.o SquidNew.o stat.o StatCounters.o StatHist.o String.o StrList.o stmem.o store.o StoreFileSystem.o store_io.o StoreIOState.o store_client.o store_digest.o store_dir.o store_key_md5.o store_log.o store_rebuild.o store_swapin.o store_swapmeta.o store_swapout.o StoreMetaUnpacker.o StoreMeta.o StoreMetaMD5.o StoreMetaSTD.o StoreMetaSTDLFS.o StoreMetaURL.o StoreMetaVary.o StoreStats.o StoreSwapLogData.o SwapDir.o Transients.o MemStore.o time.o tools.o tunnel.o unlinkd.o url.o urn.o wccp.o wccp2.o whois.o wordlist.o LoadableModule.o LoadableModules.o DiskIO/DiskIOModules_gen.o err_type.o err_detail_type.o globals.o hier_code.o icp_opcode.o LogTags.o lookup_t.o repl_modules.o swap_log_op.o DiskIO/AIO/AIODiskIOModule.o DiskIO/Blocking/BlockingDiskIOModule.o DiskIO/IpcIo/IpcIoDiskIOModule.o DiskIO/Mmapped/MmappedDiskIOModule.o DiskIO/DiskThreads/DiskThreadsDiskIOModule.o DiskIO/DiskDaemon/DiskDaemonDiskIOModule.o -pthread -pthread -Wl,--export-dynamic  -L/usr/lib -L/usr/local/lib auth/.libs/libacls.a ident/.libs/libident.a acl/.libs/libacls.a acl/.libs/libstate.a auth/.libs/libauth.a libAIO.a libBlocking.a libIpcIo.a libMmapped.a libDiskThreads.a libDiskDaemon.a acl/.libs/libapi.a base/.libs/libbase.a ./.libs/libsquid.a ip/.libs/libip.a fs/.libs/libfs.a ssl/.libs/libsslsquid.a ssl/.libs/libsslutil.a ipc/.libs/libipc.a mgr/.libs/libmgr.a anyp/.libs/libanyp.a comm/.libs/libcomm.a eui/.libs/libeui.a helper/.libs/libhelper.a http/.libs/libsquid-http.a icmp/.libs/libicmp.a icmp/.libs/libicmp-core.a log/.libs/liblog.a format/.libs/libformat.a clients/.libs/libclients.a servers/.libs/libservers.a ftp/.libs/libftp.a repl/liblru.a repl/libheap.a -lrt adaptation/.libs/libadaptation.a snmp/.libs/libsnmp.a ../lib/snmplib/.libs/libsnmplib.a parser/.libs/libsquid-parser.a ../lib/.libs/libmisccontainers.a ../lib/.libs/libmiscencoding.a ../lib/.libs/libmiscutil.a -lssl -lheimntlm -lhx509 -lcom_err -lcrypto -lasn1 -lwind -lheimbase -lroken -lcrypt ../compat/.libs/libcompat-squid.a -lm -lkrb5 -lgssapi -lgssapi_krb5 -L.. /usr/local/lib/libltdl.so -pthread -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib
ssl/.libs/libsslsquid.a(bio.o): In function `Ssl::Bio::sslFeatures::applyToSSL(ssl_st*, Ssl::BumpMode) const':
bio.cc:(.text+0x6ea7): undefined reference to `SSL_set_alpn_protos'
c++: error: linker command failed with exit code 1 (use -v to see invocation)
libtool: link: rm -f ".libs/squidS.o"
*** Error code 1

Stop.
make[5]: stopped in /usr/ports/www/squid/work/squid-3.5.16/src
*** Error code 1

Stop.
make[4]: stopped in /usr/ports/www/squid/work/squid-3.5.16/src
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/www/squid/work/squid-3.5.16/src
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/www/squid/work/squid-3.5.16
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/www/squid
*** Error code 1

Stop.
make: stopped in /usr/ports/www/squid
[helmut@BSDHelmut1064 /usr/ports/www/squid]$ uname -a
FreeBSD BSDHelmut1064.charlieroot.de 10.3-RELEASE FreeBSD 10.3-RELEASE #0 r297264: Fri Mar 25 02:10:02 UTC 2016     root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
[helmut@BSDHelmut1064 /usr/ports/www/squid]$ openssl version
OpenSSL 1.0.1s-freebsd  1 Mar 2016
[helmut@BSDHelmut1064 /usr/ports/www/squid]$ pkg info -ix ssl
libressl-devel-2.3.3
p5-Crypt-OpenSSL-Bignum-0.06
p5-Crypt-OpenSSL-RSA-0.28_1
p5-Crypt-OpenSSL-Random-0.11
p5-IO-Socket-SSL-2.024
p5-Net-SSLeay-1.72
php56-openssl-5.6.20
vsftpd-ssl-3.0.3
[helmut@BSDHelmut1064 /usr/ports/www/squid]$
Comment 1 Pavel Timofeev 2016-04-06 18:08:47 UTC
(In reply to freebsd-ports from comment #0)


First try to delete libressl and see if it helps
Comment 2 Daniel Austin 2016-04-06 18:42:33 UTC
(In reply to timp87 from comment #1)
I get the same error during my poudriere build for www/squid with just ssl from base.  (my poudriere builder runs 10.3/amd64)
Comment 3 Pavel Timofeev 2016-04-06 18:47:57 UTC
(In reply to Daniel Austin from comment #2)
That's weird.
Have you tryed to delete libressl on your system?
Comment 4 Daniel Austin 2016-04-06 18:54:08 UTC
(In reply to timp87 from comment #3)
My poudriere builder uses a completely clean jail each time, and it doesn't install libressl.  I use it to build my package repo.
I do most likely have non-standard options set though!

I use openssl from ports rather than base in my builder - perhaps that causes it?
I need features from openssl 1.0.2 in some of my other packages, so I build everything against ports r1.0.2 version.


Here's my build log:

https://poudriere.dan.tm/poudriere/data/latest-per-pkg/squid/3.5.16/103-amd64-default-dan.log

You can see the options set there.
I'm just waiting for a build run to finish then it'll try squid using GSSAPI_NONE instead of _BASE - but I doubt it'll make a difference.
Comment 5 Pavel Timofeev 2016-04-07 08:25:06 UTC
(In reply to Daniel Austin from comment #4)
To be honest I'm confused.
First you showed me install log from ports. I suggested you to delete libressl and try again. You skipped it.
Then you told me about your poudriere build fail. You said that you use openssl from base system, but several sentences later you wrote 'I use openssl from ports rather than base in my builder'.

I definitely don't understand you.


P. S. my poudriere doesn't fail to build squid-3.5.16. I've just checked it.
My ports tree to.
Comment 6 Daniel Austin 2016-04-07 08:36:23 UTC
(In reply to timp87 from comment #5)
you told the original poster to try without libressl as he showed it was installed on his machine.

I do not use libressl.


I use openssl (but from ports/packages not base) and have the same problem as the original poster.

I would suggest that the build would likely fail if you try to compile squid against ports/packages openssl, which is a likely scenario for freebsd users as the base openssl is older with fewer features.  It may also fail if you compile against libressl or any of the other ssl implementations available in the ports tree.

I am not the original poster, I am simply providing you with additional information.

Personally, I don't use squid - i just notice that it fails to compile in my package build runs and was attempting to assist the original poster.
Comment 7 Pavel Timofeev 2016-04-07 08:42:54 UTC
(In reply to Daniel Austin from comment #6)
I'm really sory I didn't notice you're not a topic starter!

Yes, it's kind of a known issue. If open/libre ssl is installed from ports tree you can't build squid. This problem should be fixed in upstream. Probably configure.ac should be rewritten in way to handle more than one openssl installed on system.
Comment 8 Pavel Timofeev 2016-04-07 09:36:14 UTC
(In reply to Daniel Austin from comment #6)
> I use openssl (but from ports/packages not base) and have the same problem as the original poster.

how do you point squid to openssl from ports?
Comment 9 Helmut Ritter 2016-04-07 11:53:11 UTC
(In reply to timp87 from comment #1)

Seems libressl is required by some installed ports, shall I really remove it?

[helmut@BSDHelmut1064 ~]$ sudo pkg delete libressl-devel
Updating database digests format: 100%
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 18 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
        libressl-devel-2.3.3
        spamassassin-3.4.1_6
        php56-snmp-5.6.20
        dovecot2-2.2.23
        openntpd-5.9p1,2
        lftp-4.6.5_1
        php56-openssl-5.6.20
        curl-7.48.0_1
        bind99-9.9.8P4
        nmap-7.12
        wget-1.16.3_1
        amavisd-new-2.10.1_1,1
        spamass-iXhash-1.5.5_2
        cacti-0.8.8g_1
        duplicity-0.7.06
        gnupg1-1.4.20
        cmake-3.5.0
        clamav-0.99.1

The operation will free 145 MiB.

Proceed with deinstalling packages? [y/N]:
[helmut@BSDHelmut1064 ~]$
Comment 10 Pavel Timofeev 2016-04-07 12:33:30 UTC
(In reply to freebsd-ports from comment #9)
You decide.
The fact is squid won't build if you have openssl or libressl installed from ports tree.
Comment 11 Pavel Timofeev 2016-04-07 14:41:10 UTC
(In reply to freebsd-ports from comment #9)
Well, I was wrong about libressl.
I've just managed to build squid when libressl is installed.

Maybe you pointed squid to libressl somehow?
Comment 12 Helmut Ritter 2016-04-07 16:50:12 UTC
Removed libressl, recompiled ports mentioned above, installed openntpd which brings back libressl, made squid, failed again. Does the following help?

With libressl installed:
configure: OpenSSL library support: yes -L/usr/local/lib -L/usr/local/lib -lssl -lcrypto

Without libressl installed:
configure: OpenSSL library support: yes -L/usr/lib -lssl -lcrypto

Full configre output:

[helmut@BSDHelmut1064 /usr/ports/www/squid]$ sudo make
===> Options unchanged
===>  License GPLv2 accepted by the user
===>   squid-3.5.16 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by squid-3.5.16 for building
===>  Extracting for squid-3.5.16
=> SHA256 Checksum OK for squid3.5/squid-3.5.16.tar.xz.
===>  Patching for squid-3.5.16
===>  Applying extra patch /usr/ports/www/squid/files/extra-patch-build-8-9
===>  Applying FreeBSD patches for squid-3.5.16
===>   squid-3.5.16 depends on file: /usr/local/lib/libcrypto.so.37 - found
===>   squid-3.5.16 depends on package: perl5>=5.20<5.21 - found
===>   squid-3.5.16 depends on shared library: libldap-2.4.so.2 - found (/usr/local/lib/libldap-2.4.so.2)
===>  Configuring for squid-3.5.16
configure: loading site script /usr/ports/Templates/config.site
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... (cached) /bin/mkdir -p
checking for gawk... (cached) /usr/bin/awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '0' is supported by ustar format... yes
checking whether GID '0' is supported by ustar format... yes
checking how to create a ustar tar archive... (cached) /usr/bin/tar
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking whether cc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of cc... gcc3
checking whether we are using the GNU C++ compiler... yes
checking whether c++ accepts -g... yes
checking dependency style of c++... gcc3
checking build system type... amd64-portbld-freebsd10.3
checking host system type... amd64-portbld-freebsd10.3
configure: CPU arch native optimization enabled: no
checking simplified host os... freebsd (version 10.3)
checking what kind of compiler we're using... clang
checking for ranlib... ranlib
checking how to run the C preprocessor... cpp
checking whether ln -s works... yes
checking for egrep... (cached) /usr/bin/egrep
checking for sh... /bin/sh
checking for false... /usr/bin/false
checking for true... /usr/bin/true
checking for mv... /bin/mv
checking for mkdir... /bin/mkdir
checking for ln... /bin/ln
checking for chmod... /bin/chmod
checking for tr... /usr/bin/tr
checking for rm... /bin/rm
checking for cppunit-config... false
checking for perl... (cached) /usr/local/bin/perl
checking for pod2man... /usr/local/bin/pod2man
checking for ar... /usr/bin/ar
checking for linuxdoc... /usr/bin/false
configure: strict error checking enabled: yes
checking whether to use loadable modules... yes
checking how to print strings... printf
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for fgrep... (cached) /usr/bin/fgrep
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... (cached) 262144
checking how to convert amd64-portbld-freebsd10.3 file names to amd64-portbld-freebsd10.3 format... func_convert_file_noop
checking how to convert amd64-portbld-freebsd10.3 file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... (cached) ranlib
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... (cached) yes
checking for objdir... .libs
checking if cc supports -fno-rtti -fno-exceptions... yes
checking for cc option to produce PIC... -fPIC -DPIC
checking if cc PIC flag -fPIC -DPIC works... yes
checking if cc static flag -static works... yes
checking if cc supports -c -o file.o... yes
checking if cc supports -c -o file.o... (cached) yes
checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... freebsd10.3 ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... (cached) yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... c++ -E
checking for ld used by c++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes
checking for c++ option to produce PIC... -fPIC -DPIC
checking if c++ PIC flag -fPIC -DPIC works... yes
checking if c++ static flag -static works... yes
checking if c++ supports -c -o file.o... yes
checking if c++ supports -c -o file.o... (cached) yes
checking whether the c++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... freebsd10.3 ld.so
checking how to hardcode library paths into programs... immediate
checking what extension is used for runtime loadable modules... .so
checking what variable specifies run-time module search path... LD_LIBRARY_PATH
checking for the default library search path... /lib /usr/lib
checking for library containing dlopen... none required
checking for dlerror... yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dld_link in -ldld... no
checking for _ prefix in compiled symbols... no
checking whether deplibs are loaded by dlopen... yes
checking for argz.h... (cached) no
checking for error_t... no
checking for argz_add... no
checking for argz_append... no
checking for argz_count... (cached) no
checking for argz_create_sep... no
checking for argz_insert... no
checking for argz_next... (cached) no
checking for argz_stringify... (cached) no
checking whether libtool supports -dlopen/-dlpreopen... yes
checking for ltdl.h... yes
checking whether lt_dlinterface_register is declared... yes
checking for lt_dladvise_preload in -lltdl... yes
checking where to find libltdl headers...
checking where to find libltdl library... -lltdl
checking for unistd.h... (cached) yes
checking for dl.h... (cached) no
checking for sys/dl.h... no
checking for dld.h... no
checking for mach-o/dyld.h... no
checking for dirent.h... (cached) yes
checking for closedir... (cached) yes
checking for opendir... (cached) yes
checking for readdir... (cached) yes
checking for strlcat... (cached) yes
checking for strlcpy... (cached) yes
checking for library containing dlopen... (cached) none required
checking for dlerror... (cached) yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dld_link in -ldld... (cached) no
checking for compiler variant... clang
configure: inlining optimizations enabled: yes
checking for GNU atomic operations support... yes
configure: cbdata debugging enabled: no
configure: xmalloc stats display: no
checking for library containing shm_open... none required
checking for DiskIO modules to be enabled...  AIO Blocking IpcIo Mmapped DiskThreads DiskDaemon
checking aio.h usability... yes
checking aio.h presence... yes
checking for aio.h... yes
checking for aio_read in -lrt... yes
configure: Native POSIX AIO support detected.
configure: Enabling AIO DiskIO module
configure: Enabling Blocking DiskIO module
configure: Enabling IpcIo DiskIO module
configure: Enabling Mmapped DiskIO module
configure: Enabling DiskThreads DiskIO module
configure: Enabling DiskDaemon DiskIO module
configure: IO Modules built:  AIO Blocking IpcIo Mmapped DiskThreads DiskDaemon
configure: Store modules built:  ufs aufs diskd rock
configure: Removal policies to build: lru heap
configure: ICMP enabled
configure: Delay pools enabled
configure: Disabling ESI processor
checking whether to support eCAP... no, explicitly
checking for pkg-config... /usr/local/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
configure: Web Cache Coordination Protocol enabled: yes
configure: Web Cache Coordination V2 Protocol enabled: yes
configure: Kill parent on shutdown hack enabled: no
configure: SNMP support enabled: yes
checking for windows.h... no
checking for sys/sockio.h... yes
checking for sys/param.h... (cached) yes
checking for net/if_arp.h... yes
checking for net/route.h... yes
checking for net/if_dl.h... yes
checking for sys/sysctl.h... yes
configure: EUI (MAC address) controls enabled: yes
configure: HTCP support enabled: yes
configure: Using Nettle cryptographic library: no
checking for crypt in -lcrypt... (cached) yes
checking for MD5Init in -lmd5... no
configure: GnuTLS library support: no
checking openssl/bio.h usability... yes
checking openssl/bio.h presence... yes
checking for openssl/bio.h... yes
checking openssl/err.h usability... yes
checking openssl/err.h presence... yes
checking for openssl/err.h... yes
checking openssl/md5.h usability... yes
checking openssl/md5.h presence... yes
checking for openssl/md5.h... yes
checking openssl/opensslv.h usability... yes
checking openssl/opensslv.h presence... yes
checking for openssl/opensslv.h... yes
checking openssl/ssl.h usability... yes
checking openssl/ssl.h presence... yes
checking for openssl/ssl.h... yes
checking openssl/x509v3.h usability... yes
checking openssl/x509v3.h presence... yes
checking for openssl/x509v3.h... yes
checking openssl/engine.h usability... yes
checking openssl/engine.h presence... yes
checking for openssl/engine.h... yes
checking openssl/txt_db.h usability... yes
checking openssl/txt_db.h presence... yes
checking for openssl/txt_db.h... yes
checking for LIBOPENSSL... yes
checking whether the SSL_get_certificate is buggy... no
checking whether the workaround for SSL_get_certificate works... Segmentation fault (core dumped)
no
checking whether SSL_CTX_new and similar openSSL API functions require 'const SSL_METHOD *'"... yes
checking whether the TXT_DB use OPENSSL_PSTRING data member... yes
checking whether the squid workaround for buggy versions of sk_OPENSSL_PSTRING_value should used... no
checking whether the workaround for OpenSSL IMPLEMENT_LHASH_  macros should used... yes
checking whether hello message can be overwritten in SSL struct... yes
configure: OpenSSL library support: yes -L/usr/local/lib -L/usr/local/lib -lssl -lcrypto
checking for krb5-config... /usr/bin/krb5-config
checking for krb5-config... (cached) /usr/bin/krb5-config
checking for LIB_KRB5... no
configure: Use krb5-config to get CXXFLAGS and LIBS
configure: Try to find Kerberos headers in given path
checking gssapi.h usability... yes
checking gssapi.h presence... yes
checking for gssapi.h... yes
checking gssapi/gssapi.h usability... yes
checking gssapi/gssapi.h presence... yes
checking for gssapi/gssapi.h... yes
checking gssapi/gssapi_krb5.h usability... yes
checking gssapi/gssapi_krb5.h presence... yes
checking for gssapi/gssapi_krb5.h... yes
checking krb5.h usability... yes
checking krb5.h presence... yes
checking for krb5.h... yes
checking com_err.h usability... yes
checking com_err.h presence... yes
checking for com_err.h... yes
checking et/com_err.h usability... no
checking et/com_err.h presence... no
checking for et/com_err.h... no
checking for broken Heimdal krb5.h... no
checking for error_message in -lcom_err... yes
checking for krb5_get_err_text in -lkrb5... yes
checking for krb5_get_error_message in -lkrb5... yes
checking for krb5_free_error_message in -lkrb5... yes
checking for krb5_free_error_string in -lkrb5... yes
checking whether krb5_kt_free_entry is declared... yes
checking for krb5_pac... yes
checking for krb5_kt_free_entry in -lkrb5... yes
checking for krb5_get_init_creds_keytab in -lkrb5... yes
checking for krb5_get_max_time_skew in -lkrb5... yes
checking for krb5_get_profile in -lkrb5... no
checking for profile_get_integer in -lkrb5... no
checking for profile_release in -lkrb5... no
checking for krb5_get_renewed_creds in -lkrb5... yes
checking for krb5_principal_get_realm in -lkrb5... yes
checking for krb5_get_init_creds_opt_alloc in -lkrb5... yes
checking for krb5_get_init_creds_free requires krb5_context... yes
checking for gss_map_name_to_any... no
checking for gsskrb5_extract_authz_data_from_sec_context... yes
checking for memory cache... yes
checking for memory keytab... yes
checking for working gssapi... yes
checking for spnego support... yes
checking for working krb5... yes
configure: Heimdal Kerberos library support: yes -L/usr/lib -L/usr/lib -lgssapi -lgssapi_krb5 -lheimntlm -lkrb5 -lhx509 -lcom_err -lcrypto -lasn1 -lwind -lheimbase -lroken -lcrypt -pthread -L/usr/lib -lkrb5 -lhx509 -lcom_err -lcrypto -lasn1 -lwind -lheimbase -lroken -lcrypt -pthread
checking for ldap_init in -lldap... yes
checking for ber_init in -llber... yes
checking ldap.h usability... yes
checking ldap.h presence... yes
checking for ldap.h... yes
checking lber.h usability... yes
checking lber.h presence... yes
checking for lber.h... yes
checking mozldap/ldap.h usability... no
checking mozldap/ldap.h presence... no
checking for mozldap/ldap.h... no
checking for LDAP_OPT_DEBUG_LEVEL... yes
checking for working ldap... yes
checking for OpenLDAP... yes
checking for Sun LDAP SDK... no
checking for Mozilla LDAP SDK... no
checking for LDAP_REBINDPROC_CALLBACK... no
checking for LDAP_REBIND_PROC... yes
checking for LDAP_REBIND_FUNCTION... no
checking for LDAP_SCOPE_DEFAULT... yes
checking for struct ldap_url_desc.lud_scheme... yes
checking for ldapssl_client_init in -lldap... no
checking for ldap_url_desc2str in -lldap... yes
checking for ldap_url_parse in -lldap... yes
checking for ldap_start_tls_s in -lldap... yes
configure: Forw/Via database enabled: yes
configure: Cache Digests enabled: yes
configure: enabling select syscall for net I/O: auto
configure: enabling poll syscall for net I/O: auto
checking sys/event.h usability... yes
checking sys/event.h presence... yes
checking for sys/event.h... yes
checking for kqueue... yes
configure: enabling kqueue for net I/O: yes
configure: enabling epoll syscall for net I/O: no
configure: enabling /dev/poll for net I/O: auto
checking for ioctl... yes
checking for write... yes
checking sys/devpoll.h usability... no
checking sys/devpoll.h presence... no
checking for sys/devpoll.h... no
configure: HTTP violations support enabled: yes
configure: FreeBSD IPFW-based transparent proxying enabled: yes
configure: IPF-based transparent proxying requested: yes
configure: PF-based transparent proxying requested: yes
configure: NAT lookups via /dev/pf: yes
configure: Linux Netfilter support requested: no
configure: Linux Netfilter Conntrack support requested: auto
checking for library containing nfct_query... no
checking libnetfilter_conntrack/libnetfilter_conntrack.h usability... no
checking libnetfilter_conntrack/libnetfilter_conntrack.h presence... no
checking for libnetfilter_conntrack/libnetfilter_conntrack.h... no
checking libnetfilter_conntrack/libnetfilter_conntrack_tcp.h usability... no
checking libnetfilter_conntrack/libnetfilter_conntrack_tcp.h presence... no
checking for libnetfilter_conntrack/libnetfilter_conntrack_tcp.h... no
checking size of long... 8
configure: Using POSIX_V6_LP64_OFF64 build environment
configure: Leak Finder enabled: no
configure: Support for X-Forwarded-For enabled: yes
configure: Support for Ident lookups enabled: yes
configure: Default hosts file set to: /etc/hosts
configure: Authentication support enabled: yes
checking w32api/windows.h usability... no
checking w32api/windows.h presence... no
checking for w32api/windows.h... no
checking for windows.h... (cached) no
checking for crypt... yes
checking for security/pam_appl.h... (cached) yes
checking for PAM conversation struct signature type... linux
checking for pwd.h... (cached) yes
checking for crypt... (cached) yes
checking for unistd.h... (cached) yes
checking rpcsvc/crypt.h usability... yes
checking rpcsvc/crypt.h presence... yes
checking for rpcsvc/crypt.h... yes
checking shadow.h usability... no
checking shadow.h presence... no
checking for shadow.h... no
checking for ldap.h... (cached) yes
checking winldap.h usability... no
checking winldap.h presence... no
checking for winldap.h... no
checking for sys/types.h... (cached) yes
checking for rpc/rpc.h... yes
checking for rpcsvc/ypclnt.h... yes
checking for rpcsvc/yp_prot.h... no
checking for rpcsvc/crypt.h... (cached) yes
configure: Basic auth helpers to be built:  DB SMB_LM MSNT-multi-domain NCSA PAM POP3 RADIUS fake getpwnam LDAP NIS
configure: Digest auth helpers to be built:  file
checking for vfork... (cached) yes
configure: Negotiate auth helpers to be built:  kerberos wrapper
checking for w32api/windows.h... (cached) no
checking for windows.h... (cached) no
configure: NTLM auth helpers to be built:  fake smb_lm
checking machine/byte_swap.h usability... no
checking machine/byte_swap.h presence... no
checking for machine/byte_swap.h... no
checking sys/bswap.h usability... no
checking sys/bswap.h presence... no
checking for sys/bswap.h... no
checking endian.h usability... no
checking endian.h presence... no
checking for endian.h... no
checking sys/endian.h usability... yes
checking sys/endian.h presence... yes
checking for sys/endian.h... yes
checking for bswap_16... no
checking for bswap16... no
checking for bswap_32... no
checking for bswap32... no
checking for htole16... no
checking for __htole16... no
checking for htole32... no
checking for __htole32... no
checking for le16toh... no
checking for __le16toh... no
checking for le32toh... no
checking for __le32toh... no
configure: Log daemon helpers to be built:  file
checking for sys/socket.h... (cached) yes
checking db_185.h usability... no
checking db_185.h presence... no
checking for db_185.h... no
checking for pwd.h... (cached) yes
checking for ldap.h... (cached) yes
checking for winldap.h... (cached) no
configure: External acl helpers to be built:  file_userip time_quota unix_group LDAP_group
configure: URL rewrite helper candidates: fake
configure: URL rewrite helpers to be built:  fake
configure: Store-ID rewrite helper candidates: file
configure: Store-ID rewrite helpers to be built:  file
configure: Valgrind debug support enabled: no
configure: MS Windows service mode enabled: no
configure: unlinkd enabled: yes
configure: Automatically print stack trace on fatal errors: no
configure: CPU profiling enabled: no
configure: X-Accelerator-Vary support enabled: no
configure: WARNING: cppunit does not appear to be installed. squid does not require this, but code testing with 'make check' will fail.
checking cppunit/extensions/HelperMacros.h usability... no
checking cppunit/extensions/HelperMacros.h presence... no
checking for cppunit/extensions/HelperMacros.h... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking for arpa/inet.h... (cached) yes
checking for arpa/nameser.h... (cached) yes
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking bstring.h usability... no
checking bstring.h presence... no
checking for bstring.h... no
checking for rpcsvc/crypt.h... (cached) yes
checking for ctype.h... (cached) yes
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking for errno.h... (cached) yes
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking for fcntl.h... (cached) yes
checking fnmatch.h usability... yes
checking fnmatch.h presence... yes
checking for fnmatch.h... yes
checking for getopt.h... (cached) yes
checking for glob.h... (cached) yes
checking gnumalloc.h usability... no
checking gnumalloc.h presence... no
checking for gnumalloc.h... no
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking ipl.h usability... no
checking ipl.h presence... no
checking for ipl.h... no
checking for lber.h... (cached) yes
checking for ldap.h... (cached) yes
checking libc.h usability... no
checking libc.h presence... no
checking for libc.h... no
checking for limits.h... (cached) yes
checking linux/posix_types.h usability... no
checking linux/posix_types.h presence... no
checking for linux/posix_types.h... no
checking linux/types.h usability... no
checking linux/types.h presence... no
checking for linux/types.h... no
checking for malloc.h... (cached) no
checking for math.h... (cached) yes
checking for memory.h... (cached) yes
checking mount.h usability... no
checking mount.h presence... no
checking for mount.h... no
checking for netdb.h... (cached) yes
checking for netinet/in.h... (cached) yes
checking netinet/in_systm.h usability... yes
checking netinet/in_systm.h presence... yes
checking for netinet/in_systm.h... yes
checking netinet/tcp.h usability... yes
checking netinet/tcp.h presence... yes
checking for netinet/tcp.h... yes
checking for paths.h... (cached) yes
checking for poll.h... (cached) yes
checking for pwd.h... (cached) yes
checking regex.h usability... yes
checking regex.h presence... yes
checking for regex.h... yes
checking for sched.h... (cached) yes
checking siginfo.h usability... no
checking siginfo.h presence... no
checking for siginfo.h... no
checking for signal.h... (cached) yes
checking for stdarg.h... (cached) yes
checking for stdbool.h... (cached) yes
checking for stddef.h... (cached) yes
checking for stdio.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking sys/bitypes.h usability... no
checking sys/bitypes.h presence... no
checking for sys/bitypes.h... no
checking for sys/file.h... (cached) yes
checking for sys/ioctl.h... (cached) yes
checking sys/ipc.cc usability... no
checking sys/ipc.cc presence... no
checking for sys/ipc.cc... no
checking for sys/param.h... (cached) yes
checking sys/prctl.h usability... no
checking sys/prctl.h presence... no
checking for sys/prctl.h... no
checking sys/md5.h usability... yes
checking sys/md5.h presence... yes
checking for sys/md5.h... yes
checking for sys/mman.h... (cached) yes
checking for sys/msg.h... (cached) yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking for sys/select.h... (cached) yes
checking sys/shm.h usability... yes
checking sys/shm.h presence... yes
checking for sys/shm.h... yes
checking for sys/socket.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking syscall.h usability... no
checking syscall.h presence... no
checking for syscall.h... no
checking sys/syscall.h usability... yes
checking sys/syscall.h presence... yes
checking for sys/syscall.h... yes
checking for sys/time.h... (cached) yes
checking for sys/types.h... (cached) yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking for sys/un.h... (cached) yes
checking sys/vfs.h usability... no
checking sys/vfs.h presence... no
checking for sys/vfs.h... no
checking for sys/wait.h... (cached) yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for time.h... (cached) yes
checking for unistd.h... (cached) yes
checking for utime.h... (cached) yes
checking varargs.h usability... no
checking varargs.h presence... no
checking for varargs.h... no
checking for byteswap.h... (cached) no
checking glib.h usability... no
checking glib.h presence... no
checking for glib.h... no
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking db.h usability... yes
checking db.h presence... yes
checking for db.h... yes
checking for db_185.h... (cached) no
checking for wchar.h... (cached) yes
checking for linux/netfilter_ipv4.h... no
checking for linux/netfilter_ipv6/ip6_tables.h... no
checking for net/if.h... (cached) yes
checking for netinet/if_ether.h... yes
checking for netinet/icmp6.h... yes
checking for netinet/in.h... (cached) yes
checking for netinet/ip.h... yes
checking for netinet/ip6.h... yes
checking for netinet/ip_icmp.h... yes
checking for netinet/ipl.h... yes
checking for net/pf/pfvar.h... no
checking for net/pfvar.h... yes
checking for sys/mount.h... (cached) yes
checking for resolv.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking whether byte ordering is bigendian... no
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_gmtoff... yes
checking for struct rusage... yes
checking for struct iphdr.ip_hl... yes
checking size of void *... 8
checking for int8_t... (cached) yes
checking for uint8_t... (cached) yes
checking for int16_t... (cached) yes
checking for uint16_t... (cached) yes
checking for int32_t... (cached) yes
checking for uint32_t... (cached) yes
checking for int64_t... (cached) yes
checking for uint64_t... (cached) yes
checking for pid_t... (cached) yes
checking for size_t... (cached) yes
checking for ssize_t... (cached) yes
checking for off_t... (cached) yes
checking for uid_t in sys/types.h... (cached) yes
checking for bool... yes
checking size of int64_t... 8
checking size of long... (cached) 8
checking size of size_t... 8
checking size of off_t... 8
checking size of size_t... (cached) 8
checking whether nullptr is supported... no
checking whether nullptr_t is supported... no
checking whether std::unique_ptr<T> is supported... yes
checking for pad128_t... no
checking for upad128_t... no
checking for mode_t... (cached) yes
checking for fd_mask... yes
checking for socklen_t... (cached) yes
checking for mtyp_t... no
checking for compiler %zu support... yes
checking for working alloca.h... no
checking for alloca... yes
checking sys/capability.h usability... yes
checking sys/capability.h presence... yes
checking for sys/capability.h... yes
checking for cap_clear_flag in -lcap... no
checking for operational libcap2 headers... no
configure: libcap support enabled: no
configure: libcap2 headers are ok: no
checking for library containing gethostbyname... none required
checking for library containing res_init... none required
checking for library containing __res_search... none required
checking for library containing bind... none required
checking for library containing opcom_stack_trace... no
checking for library containing strlcpy... none required
checking for library containing yp_match... none required
checking for unix domain sockets... yes
checking for malloc in -lgnumalloc... no
configure: skipping libmalloc check for amd64-portbld-freebsd10.3
checking for library containing rint... -lm
checking for library containing log... none required
checking Default FD_SETSIZE value... 1024
checking for setrlimit... (cached) yes
checking Maximum number of filedescriptors we can open... 28736
configure: Default number of fieldescriptors: 28736
checking whether to enable IPv6... yes
checking for sin6_len field in struct sockaddr_in6... yes
checking for ss_len field in struct sockaddr_storage... yes
checking for sin_len field in struct sockaddr_in... yes
checking whether dbopen is declared... yes
checking if dbopen needs -ldb... no
checking for backtrace_symbols_fd... no
checking for bcopy... (cached) yes
checking for eui64_aton... yes
checking for fchmod... (cached) yes
checking for getdtablesize... (cached) yes
checking for getpagesize... (cached) yes
checking for getpass... yes
checking for getrlimit... (cached) yes
checking for getrusage... (cached) yes
checking for getspnam... no
checking for gettimeofday... (cached) yes
checking for glob... (cached) yes
checking for lrand48... yes
checking for mallocblksize... no
checking for mallopt... no
checking for memcpy... (cached) yes
checking for memmove... (cached) yes
checking for memrchr... yes
checking for memset... (cached) yes
checking for mkstemp... (cached) yes
checking for mktime... yes
checking for mstats... no
checking for poll... (cached) yes
checking for prctl... no
checking for pthread_attr_setschedparam... yes
checking for pthread_attr_setscope... yes
checking for pthread_setschedparam... yes
checking for pthread_sigmask... yes
checking for putenv... (cached) yes
checking for random... (cached) yes
checking for regcomp... yes
checking for regexec... yes
checking for regfree... yes
checking for res_init... yes
checking for __res_init... yes
checking for rint... yes
checking for sched_getaffinity... no
checking for sched_setaffinity... no
checking for select... (cached) yes
checking for seteuid... (cached) yes
checking for setgroups... (cached) yes
checking for setpgrp... yes
checking for setsid... (cached) yes
checking for sigaction... (cached) yes
checking for snprintf... (cached) yes
checking for socketpair... (cached) yes
checking for srand48... yes
checking for srandom... (cached) yes
checking for sysconf... (cached) yes
checking for syslog... yes
checking for timegm... yes
checking for vsnprintf... (cached) yes
checking for drand48... yes
checking for initgroups... yes
checking for psignal... yes
checking for strerror... (cached) yes
checking for strtoll... (cached) yes
checking for tempnam... yes
checking whether getaddrinfo is declared... yes
checking whether getnameinfo is declared... yes
checking whether inet_ntop is declared... yes
checking whether inet_pton is declared... yes
configure: choosing user-specified net I/O API kqueue
configure: Using kqueue for the IO loop.
checking if setresuid is actually implemented... yes
checking mswsock.h usability... no
checking mswsock.h presence... no
checking for mswsock.h... no
checking for constant CMSG_SPACE... no
checking for struct cmsghdr... yes
checking for struct iovec... yes
checking for struct msghdr... yes
checking for struct sockaddr_un... yes
checking if strnstr is well implemented... no
checking if va_copy is implemented... yes
checking if __va_copy is implemented... yes
no
checking for netinet/in.h... (cached) yes
checking for sys/ioccom.h... yes
checking for ip_compat.h... no
checking for ip_fil_compat.h... no
checking for ip_fil.h... no
checking for ip_nat.h... no
checking for net/if.h... (cached) yes
checking for netinet/ip_compat.h... no
checking for netinet/ip_fil_compat.h... no
checking for netinet/ip_fil.h... no
checking for netinet/ip_nat.h... no
checking for availability of IP-Filter header files...
configure: IPF-based transparent proxying enabled: no
configure: Support for Netfilter-based interception proxy requested: no
configure: Linux Netfilter Conntrack support enabled: no
configure: ZPH QOS enabled: yes
configure: QOS netfilter mark preservation enabled: no
checking for regexec in -lregex... no
checking if the system-supplied regex lib actually works... yes
checking if GNUregex needs to be compiled... no
checking Default UDP send buffer size... 9216
checking Default UDP receive buffer size... 42080
checking Default TCP send buffer size... 32768
checking Default TCP receive buffer size... 65536
configure: Limiting receive buffer size to 64K
checking whether recv takes a pointer to void or char as second argument... char*
char
checking if sys_errlist is already defined... yes
checking for system-provided MAXPATHLEN... yes
checking for libresolv _dns_ttl_ hack... no
checking for _res_ext.nsaddr_list... no
checking for _res._u._ext.nsaddrs... no
checking for _res.nsaddr_list... yes
checking for _res.ns_list... no
checking for sys/statvfs.h... (cached) yes
checking for working statvfs() interface... (cached) yes
configure: Multi-Language support enabled: yes
configure: BUILD LIBRARIES:
configure: BUILD EXTRA LIBRARIES: -lm -lkrb5 -lgssapi -lgssapi_krb5
configure: BUILD OBJECTS:
configure: BUILD EXTRA OBJECTS:
configure: BUILD C FLAGS:  -I/usr/include -O2 -pipe  -I/usr/local/include -I/usr/local/include -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing -I/usr/local/include
configure: BUILD EXTRA C FLAGS:  -Werror -Qunused-arguments  -D_REENTRANT
configure: BUILD C++ FLAGS:  -I/usr/include -I/usr/local/include   -O2 -pipe -I/usr/local/include -I/usr/local/include -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing  -I/usr/local/include
configure: BUILD EXTRA C++ FLAGS:  -Werror -Qunused-arguments  -D_REENTRANT
configure: BUILD Tools C++ FLAGS:   -I/usr/include -I/usr/local/include   -O2 -pipe -I/usr/local/include -I/usr/local/include -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing  -I/usr/local/include
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating compat/Makefile
config.status: creating lib/Makefile
config.status: creating lib/ntlmauth/Makefile
config.status: creating lib/libTrie/Makefile
config.status: creating lib/libTrie/test/Makefile
config.status: creating lib/profiler/Makefile
config.status: creating lib/rfcnb/Makefile
config.status: creating lib/smblib/Makefile
config.status: creating lib/snmplib/Makefile
config.status: creating scripts/Makefile
config.status: creating src/Makefile
config.status: creating src/anyp/Makefile
config.status: creating src/ftp/Makefile
config.status: creating src/base/Makefile
config.status: creating src/acl/Makefile
config.status: creating src/clients/Makefile
config.status: creating src/servers/Makefile
config.status: creating src/fs/Makefile
config.status: creating src/repl/Makefile
config.status: creating src/auth/Makefile
config.status: creating src/auth/basic/Makefile
config.status: creating src/auth/digest/Makefile
config.status: creating src/auth/negotiate/Makefile
config.status: creating src/auth/ntlm/Makefile
config.status: creating src/adaptation/Makefile
config.status: creating src/adaptation/icap/Makefile
config.status: creating src/adaptation/ecap/Makefile
config.status: creating src/comm/Makefile
config.status: creating src/esi/Makefile
config.status: creating src/eui/Makefile
config.status: creating src/format/Makefile
config.status: creating src/helper/Makefile
config.status: creating src/http/Makefile
config.status: creating src/icmp/Makefile
config.status: creating src/ident/Makefile
config.status: creating src/ip/Makefile
config.status: creating src/log/Makefile
config.status: creating src/ipc/Makefile
config.status: creating src/ssl/Makefile
config.status: creating src/mgr/Makefile
config.status: creating src/parser/Makefile
config.status: creating src/snmp/Makefile
config.status: creating contrib/Makefile
config.status: creating icons/Makefile
config.status: creating errors/Makefile
config.status: creating test-suite/Makefile
config.status: creating doc/Makefile
config.status: creating doc/manuals/Makefile
config.status: creating doc/release-notes/Makefile
config.status: creating helpers/Makefile
config.status: creating helpers/basic_auth/Makefile
config.status: creating helpers/basic_auth/DB/Makefile
config.status: creating helpers/basic_auth/fake/Makefile
config.status: creating helpers/basic_auth/getpwnam/Makefile
config.status: creating helpers/basic_auth/LDAP/Makefile
config.status: creating helpers/basic_auth/MSNT-multi-domain/Makefile
config.status: creating helpers/basic_auth/NCSA/Makefile
config.status: creating helpers/basic_auth/NIS/Makefile
config.status: creating helpers/basic_auth/PAM/Makefile
config.status: creating helpers/basic_auth/POP3/Makefile
config.status: creating helpers/basic_auth/RADIUS/Makefile
config.status: creating helpers/basic_auth/SASL/Makefile
config.status: creating helpers/basic_auth/SMB/Makefile
config.status: creating helpers/basic_auth/SMB_LM/Makefile
config.status: creating helpers/basic_auth/SSPI/Makefile
config.status: creating helpers/digest_auth/Makefile
config.status: creating helpers/digest_auth/eDirectory/Makefile
config.status: creating helpers/digest_auth/file/Makefile
config.status: creating helpers/digest_auth/LDAP/Makefile
config.status: creating helpers/ntlm_auth/Makefile
config.status: creating helpers/ntlm_auth/fake/Makefile
config.status: creating helpers/ntlm_auth/smb_lm/Makefile
config.status: creating helpers/ntlm_auth/SSPI/Makefile
config.status: creating helpers/negotiate_auth/Makefile
config.status: creating helpers/negotiate_auth/kerberos/Makefile
config.status: creating helpers/negotiate_auth/SSPI/Makefile
config.status: creating helpers/negotiate_auth/wrapper/Makefile
config.status: creating helpers/external_acl/Makefile
config.status: creating helpers/external_acl/AD_group/Makefile
config.status: creating helpers/external_acl/delayer/Makefile
config.status: creating helpers/external_acl/eDirectory_userip/Makefile
config.status: creating helpers/external_acl/file_userip/Makefile
config.status: creating helpers/external_acl/kerberos_ldap_group/Makefile
config.status: creating helpers/external_acl/LDAP_group/Makefile
config.status: creating helpers/external_acl/LM_group/Makefile
config.status: creating helpers/external_acl/session/Makefile
config.status: creating helpers/external_acl/SQL_session/Makefile
config.status: creating helpers/external_acl/unix_group/Makefile
config.status: creating helpers/external_acl/wbinfo_group/Makefile
config.status: creating helpers/external_acl/time_quota/Makefile
config.status: creating helpers/log_daemon/Makefile
config.status: creating helpers/log_daemon/DB/Makefile
config.status: creating helpers/log_daemon/file/Makefile
config.status: creating helpers/url_rewrite/Makefile
config.status: creating helpers/url_rewrite/fake/Makefile
config.status: creating helpers/ssl/Makefile
config.status: creating helpers/storeid_rewrite/Makefile
config.status: creating helpers/storeid_rewrite/file/Makefile
config.status: creating tools/Makefile
config.status: creating tools/purge/Makefile
config.status: creating tools/squidclient/Makefile
config.status: creating tools/systemd/Makefile
config.status: creating tools/sysvinit/Makefile
config.status: creating include/autoconf.h
config.status: executing depfiles commands
config.status: executing libtool commands
=== configuring in libltdl (/usr/ports/www/squid/work/squid-3.5.16/libltdl)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=/usr/local'  '--with-default-user=squid' '--bindir=/usr/local/sbin' '--sbindir=/usr/local/sbin' '--datadir=/usr/local/etc/squid' '--libexecdir=/usr/local/libexec/squid' '--localstatedir=/var' '--sysconfdir=/usr/local/etc/squid' '--with-logdir=/var/log/squid' '--with-pidfile=/var/run/squid/squid.pid' '--with-swapdir=/var/squid/cache' '--without-gnutls' '--enable-auth' '--enable-build-info' '--enable-loadable-modules' '--enable-removal-policies=lru heap' '--disable-epoll' '--disable-linux-netfilter' '--disable-linux-tproxy' '--disable-translation' '--disable-arch-native' '--enable-eui' '--enable-cache-digests' '--enable-delay-pools' '--disable-ecap' '--disable-esi' '--enable-follow-x-forwarded-for' '--enable-htcp' '--enable-icap-client' '--enable-icmp' '--enable-ident-lookups' '--enable-ipv6' '--enable-kqueue' '--with-large-files' '--enable-http-violations' '--without-nettle' '--enable-snmp' '--enable-ssl' '--enable-ssl-crtd' '--disable-stacktraces' '--enable-ipf-transparent' '--enable-ipfw-transparent' '--enable-pf-transparent' '--with-nat-devpf' '--enable-forw-via-db' '--enable-wccp' '--enable-wccpv2' '--with-heimdal-krb5=/usr' 'CFLAGS=-I/usr/include -O2 -pipe  -I/usr/local/include -I/usr/local/include -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing' 'LDFLAGS=-L/usr/lib  -L/usr/local/lib -pthread -Wl,-rpath,/usr/local/lib -L/usr/local/lib -fstack-protector' 'LIBS=-lkrb5 -lgssapi -lgssapi_krb5 ' 'KRB5CONFIG=/usr/bin/krb5-config' '--enable-auth-basic=DB SMB_LM MSNT-multi-domain NCSA PAM POP3 RADIUS fake getpwnam LDAP NIS' '--enable-auth-digest=file' '--enable-external-acl-helpers=file_userip time_quota unix_group LDAP_group' '--enable-auth-negotiate=kerberos wrapper' '--enable-auth-ntlm=fake smb_lm' '--enable-storeio=ufs aufs diskd rock' '--enable-disk-io=AIO Blocking IpcIo Mmapped DiskThreads DiskDaemon' '--enable-log-daemon-helpers=file' '--enable-url-rewrite-helpers=fake' '--enable-storeid-rewrite-helpers=file' '--with-openssl=/usr/local' '--mandir=/usr/local/man' '--infodir=/usr/local/info/' '--build=amd64-portbld-freebsd10.3' 'build_alias=amd64-portbld-freebsd10.3' 'CC=cc' 'CPPFLAGS=' 'CXX=c++' 'CXXFLAGS=-O2 -pipe -I/usr/local/include -I/usr/local/include -fstack-protector -DLDAP_DEPRECATED -fno-strict-aliasing ' 'CPP=cpp' --cache-file=/dev/null --srcdir=.
configure: loading site script /usr/ports/Templates/config.site
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... (cached) /bin/mkdir -p
checking for gawk... (cached) /usr/bin/awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking build system type... amd64-portbld-freebsd10.3
checking host system type... amd64-portbld-freebsd10.3
checking how to print strings... printf
checking for style of include used by make... GNU
checking for gcc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking whether cc understands -c and -o together... yes
checking dependency style of cc... gcc3
checking for a sed that does not truncate output... (cached) /usr/bin/sed
checking for grep that handles long lines and -e... (cached) /usr/bin/grep
checking for egrep... (cached) /usr/bin/egrep
checking for fgrep... (cached) /usr/bin/fgrep
checking for ld used by cc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... (cached) 262144
checking how to convert amd64-portbld-freebsd10.3 file names to amd64-portbld-freebsd10.3 format... func_convert_file_noop
checking how to convert amd64-portbld-freebsd10.3 file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... no
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from cc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... cpp
checking for ANSI C header files... (cached) yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for memory.h... (cached) yes
checking for strings.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for stdint.h... (cached) yes
checking for unistd.h... (cached) yes
checking for dlfcn.h... (cached) yes
checking for objdir... .libs
checking if cc supports -fno-rtti -fno-exceptions... yes
checking for cc option to produce PIC... -fPIC -DPIC
checking if cc PIC flag -fPIC -DPIC works... yes
checking if cc static flag -static works... yes
checking if cc supports -c -o file.o... yes
checking if cc supports -c -o file.o... (cached) yes
checking whether the cc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... freebsd10.3 ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... (cached) yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking what extension is used for runtime loadable modules... .so
checking what variable specifies run-time module search path... LD_LIBRARY_PATH
checking for the default library search path... /lib /usr/lib
checking for library containing dlopen... none required
checking for dlerror... yes
checking for shl_load... (cached) no
checking for shl_load in -ldld... (cached) no
checking for dld_link in -ldld... no
checking for _ prefix in compiled symbols... no
checking whether deplibs are loaded by dlopen... yes
checking for argz.h... (cached) no
checking for error_t... no
checking for argz_add... no
checking for argz_append... no
checking for argz_count... (cached) no
checking for argz_create_sep... no
checking for argz_insert... no
checking for argz_next... (cached) no
checking for argz_stringify... (cached) no
checking whether libtool supports -dlopen/-dlpreopen... yes
checking for unistd.h... (cached) yes
checking for dl.h... (cached) no
checking for sys/dl.h... no
checking for dld.h... no
checking for mach-o/dyld.h... no
checking for dirent.h... (cached) yes
checking for closedir... (cached) yes
checking for opendir... (cached) yes
checking for readdir... (cached) yes
checking for strlcat... (cached) yes
checking for strlcpy... (cached) yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
===>  Building for squid-3.5.16
[...]
Comment 13 Daniel Austin 2016-04-08 08:30:30 UTC
(In reply to timp87 from comment #8)
To use OpenSSL from ports, you can add these to your make.conf:
WITH_OPENSSL_PORT=yes
OPENSSL_PORT=security/openssl

And some extra info for you from my latest poudriere build run...
If I change squid options to GSSAPI_NONE, it builds fine against ports openssl - so it's just some incompatibility between GSSAPI_BASE and openssl ports where you may link against both versions.
Comment 14 Helmut Ritter 2016-04-08 10:50:56 UTC
(In reply to Daniel Austin from comment #13)

It also builds fine against base openssl with GSSAPI_NONE
Comment 15 Pavel Timofeev 2016-04-08 12:17:01 UTC
(In reply to Daniel Austin from comment #13)
Yes, this is expected, due to base Heimdal (GSSAPI, Kerberos) is built with base openssl.
Comment 16 Pavel Timofeev 2016-04-11 08:07:39 UTC
As a conclusion I'd say:
- squid configure script can't handle properly more than one open/libre ssl installed. It links with instance installed to /usr/local/ no matter if we pointed configure script to base openssl.
- squid build fails if you want to point it to open/libre ssl installed from ports tree when GSSAPI_BASE is choosen. This happens because base Kerberos is built against openssl from base. To w/a you could try to choose something different than GSSAPI_BASE.

P. S. I can't see any reasons to keep this bug report open. If you know how to fix it - welcome.
Comment 17 Bernard Spil freebsd_committer freebsd_triage 2016-05-06 19:15:55 UTC
*** Bug 209329 has been marked as a duplicate of this bug. ***
Comment 18 Bernard Spil freebsd_committer freebsd_triage 2016-05-06 19:17:41 UTC
(In reply to freebsd-ports from comment #9)
It is OpenNTPd that pulls in LibreSSL. It requires libtls as of late
Comment 19 Bernard Spil freebsd_committer freebsd_triage 2016-05-06 20:40:08 UTC
Created attachment 170064 [details]
svn diff for www/squid

Seems that the ssl/crypto library detection and usage during linking is not correct in the current makefile. I has detected ports' libcrypto/ssl yet links against base's libcrypto/ssl. base r1.0.1 doesn't have ALPN support whereas ports OpenSSL (and LibreSSL) do.

The attached patch is a lot bigger but the important parts are SSL_USE, LIBOPENSSL_CFLAGS and LIBOPENSSL_LIBS. Adding USE_OPENSSL works here (note I have LibreSSL in /usr/lib and /usr/include). The SSL block with the warning on

Additionally the patch refactors a lot of the OPTIONS handling to OPTIONS-helpers hoping to make it more readable. The lower-case variables had to be changed to upper-case for <OPT>_VAR+= to properly work (key is always transformed to upper-case).

Changes in the patch
  1. Convert SSL option libcrypto/ssl detection/building/linking to 
    a. set USE_OPENSSL= yes, 
    b. pass --with-openssl=${OPENSSLBASE}, LIBOPENSSL_CFLAGS, LIB_OPENSSL_LIBS as configure arguments
    c. 
  2. Migrate basic_auth, external_acl, storage_schemes, diskio_modules parameters to OPTIONS-helpers
  3. OPTIONS-ify STACKTRACES option
  4. GSSAPI_*_DESC are defined in Mk/Uses/gssapi.mk
  5. Use OPTIONS-helpers whereever possible
  6. Upper-case basic_auth, external_acl variables for <OPT>_VAR
  7. Don't use make variables for non-configurable configure args
Reduces Makefile from 380 to 323 lines.
Comment 20 Bernard Spil freebsd_committer freebsd_triage 2016-05-06 20:51:47 UTC
When working on this, I ran into another issue. Perhaps maintainer can fix that with upstream. I've now added LIBOPENSSL_LIBS="-lcrypto -lssl" because of configure failing in configure.ac line 1348.

> AC_CHECK_LIB(ssl,[SSL_library_init],[LIBOPENSSL_LIBS="-lssl $LIBOPENSSL_LIBS"],[AC_MSG_ERROR([library 'ssl' is required for OpenSSL])

You cannot link against libssl when not linking libcrypto as well leading to an error with LibreSSL. This check should add -lcrypto in addition to -lssl to pass.
Comment 21 Pavel Timofeev 2016-05-07 09:27:51 UTC
(In reply to Bernard Spil from comment #20)
Gibe me some time to check it
Comment 22 Pavel Timofeev 2016-05-08 10:54:22 UTC
(In reply to Bernard Spil from comment #19)

Well, there is a little mess with uppercase and lowercase vars in this patch. For example, look at storage_schemes and STORAGE_SCHEMES.

Then the approach with SMTHG_VARS+= doesn't work here.
It just doesn't append variables inside it.
No matter if it's
MFS_AUFS_VARS+=   STORAGE_SCHEMES+=aufs DISKIO_MODULES+=DiskThreads
or something else.

I'm still testing it with different *ssl installed
Comment 23 Pavel Timofeev 2016-05-10 19:51:09 UTC
(In reply to timp87 from comment #22)

> Well, there is a little mess with uppercase and lowercase vars in this patch. For example, look at storage_schemes and STORAGE_SCHEMES.

Sorry for that, I was not really attentive. You wrote about this.

> Then the approach with SMTHG_VARS+= doesn't work here.
> It just doesn't append variables inside it.
> No matter if it's
> MFS_AUFS_VARS+=   STORAGE_SCHEMES+=aufs DISKIO_MODULES+=DiskThreads
> or something else.

I've found a typo. It works and should look like:
FS_AUFS_VARS=   STORAGE_SCHEMES+=aufs DISKIO_MODULES+=DiskThreads


> I'm still testing it with different *ssl installed

I'm not sure here if we really need to handle case when libressl is installed. I'd make a radio button for base and ports OPENSSL and set WITH_OPENSSL_BASE and WITH_OPENSSL_PORT properly
But it doesn't help in our situation. Code in /usr/ports/Mk/bsd.openssl.mk just stops in such case with message:

This port wants the OpenSSL library from the FreeBSD base system. You can't build against it, while a newer version is installed by a port.
Please deinstall the port or undefine WITH_OPENSSL_BASE.


P. S. I'm open for discussion.
Comment 24 Pavel Timofeev 2016-05-11 18:48:04 UTC
(In reply to Bernard Spil from comment #20)
> When working on this, I ran into another issue. Perhaps maintainer can fix that with upstream. I've now added LIBOPENSSL_LIBS="-lcrypto -lssl" because of configure failing in configure.ac line 1348

What do you mean? Look a couple of lines above in configure.ac.
Comment 25 Bernard Spil freebsd_committer freebsd_triage 2016-05-11 19:48:20 UTC
(In reply to timp87 from comment #24)
This is what happens:
> checking for CRYPTO_new_ex_data in -lcrypto... yes
> checking for SSL_library_init in -lssl... no
> configure: error: library 'ssl' is required for OpenSSL
> ===>  Script "configure" failed unexpectedly.
during configure. This happens because you need to add -lcrypto to check for SSL_library_init in -lssl. Adding the LIBOPENSSL_LIBS="-lcrypto -lssl" to tha configure argument fixes the libssl detection in this configure script.
Looks like it bypasses the whole check...
Comment 26 Pavel Timofeev 2016-05-12 16:33:33 UTC
Created attachment 170231 [details]
svn diff for www/squid 2.0

The same changes as Bernard Spil provided, but a bit more careful.
Comment 27 Bernard Spil freebsd_committer freebsd_triage 2016-05-14 17:53:45 UTC
(In reply to timp87 from comment #26)

Ready to commit this?
Comment 28 Pavel Timofeev 2016-05-14 17:55:21 UTC
(In reply to Bernard Spil from comment #27)
Well, yes, why not
Comment 29 commit-hook freebsd_committer freebsd_triage 2016-05-15 11:17:09 UTC
A commit references this bug:

Author: brnrd
Date: Sun May 15 11:16:43 UTC 2016
New revision: 415227
URL: https://svnweb.freebsd.org/changeset/ports/415227

Log:
  www/squid: Fix configure errors for libssl

    - Fix building with ports' OpenSSL/LibreSSL
    - Use GSSAPI descriptions from Mk/Uses/gssapi.mk
    - Use more OPTIONS features

  PR:		208584
  Submitted by:	timp87@gmail.com (maintainer)
  MFH:		2016Q2

Changes:
  head/www/squid/Makefile
Comment 30 Bernard Spil freebsd_committer freebsd_triage 2016-05-15 11:24:11 UTC
Requested MFH to 2016Q2 as this also affects that branch.
Comment 31 commit-hook freebsd_committer freebsd_triage 2016-05-15 23:10:11 UTC
A commit references this bug:

Author: brnrd
Date: Sun May 15 23:09:20 UTC 2016
New revision: 415290
URL: https://svnweb.freebsd.org/changeset/ports/415290

Log:
  MFH: r415227

  www/squid: Fix configure errors for libssl

    - Fix building with ports' OpenSSL/LibreSSL
    - Use GSSAPI descriptions from Mk/Uses/gssapi.mk
    - Use more OPTIONS features

  PR:		208584
  Submitted by:	timp87@gmail.com (maintainer)

  Approved by:	portmgr (feld)

Changes:
_U  branches/2016Q2/
  branches/2016Q2/www/squid/Makefile
Comment 33 Bernard Spil freebsd_committer freebsd_triage 2016-05-21 12:20:24 UTC
*** Bug 209523 has been marked as a duplicate of this bug. ***
Comment 34 emz 2016-05-21 14:33:20 UTC
I think problem runs deeper. Yes, www/squid can be fixed that way, but when investigating this bug I've found that net/asterisk11 is also affected - it crashes when security/openssl is installed. It's backtrace shows that it reads half libraries from port openssl, and half from base. Since they are of different versions, ir crashes.

I think the whole security/openssl approach should be reconsidered. Since pkg base is coming to 11.x, may be it's worth to scratch out the separate port and base entities and make the only one.
Comment 35 Helmut Ritter 2016-06-08 09:47:49 UTC
Possibly the same for fetchmail, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210130
Comment 36 Helmut Ritter 2016-06-28 10:51:06 UTC
Any news here? :)
Comment 37 Bernard Spil freebsd_committer freebsd_triage 2016-06-28 20:40:48 UTC
Can you attach build logs again?

Again, if you happen to have OpenSSL or LibreSSL installed whilst you build squid, the ports framework will detect that and prefer ports' ssl.
Comment 38 Helmut Ritter 2016-07-01 17:49:37 UTC
Created attachment 172016 [details]
Build Log

Build Log
Comment 39 Helmut Ritter 2016-07-01 17:50:05 UTC
Created attachment 172017 [details]
make.conf

make.conf
Comment 40 Helmut Ritter 2016-07-01 17:50:35 UTC
Created attachment 172018 [details]
pkg info

pkg info
Comment 41 Helmut Ritter 2016-07-01 17:51:04 UTC
Created attachment 172019 [details]
options

options
Comment 42 Bernard Spil freebsd_committer freebsd_triage 2016-07-03 10:24:55 UTC
Scanning the build log, I found some problematic things

> configure: OpenSSL library support: yes -L/usr/local/lib -lcrypto -lssl
> configure: Heimdal Kerberos library support: yes -L/usr/lib -L/usr/lib -lgssapi -lgssapi_krb5 -lheimntlm -lkrb5 

That _will_ bite... Heimdal in base linked against `/usr/lib/libcrypto` and then linking squid to `/usr/local/lib/libcrypto`

Do NOT use GSSAPI_BASE, Use one of GSSAPI_NONE, GSSAPI_HEIMDAL, GSSAPI_MIT.

for /etc/make.conf
OPTIONS_UNSET+= GSSAPI_BASE
OPTIONS_SET+= GSSAPI_NONE

or

www_squid_SET+= GSSAPI_NONE
www_squid_UNSET+= GSSAPI_BASE