Hi all.
The core problem to whole this stuff is about how squid is compiled when
it requires threading support (and AUFS needs pthreads).
Let's see some diffs. The whole difference between this two is FS_AUFS
is enabled for the +++ and disables for the ---.
--- squid.nobuild 2014-02-13 13:48:44.361353003 +0200
+++ squid.build 2014-02-13 14:24:09.565205775 +0200
@@ -162,7 +162,7 @@
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 DiskDaemon
IpcIo Mmapped
+checking for DiskIO modules to be enabled... AIO Blocking DiskDaemon
IpcIo Mmapped DiskThreads
checking aio.h usability... yes
checking aio.h presence... yes
checking for aio.h... yes
@@ -173,8 +173,10 @@
configure: Enabling DiskDaemon DiskIO module
configure: Enabling IpcIo DiskIO module
configure: Enabling Mmapped DiskIO module
+configure: pthread library requires FreeBSD 7 or later
That's a weird one. Like we have no support on 10 for pthreads?
+configure: Native pthreads support disabled. DiskThreads module
automaticaly disabled.
And that's why aufs stops working.
configure: IO Modules built: AIO Blocking DiskDaemon IpcIo Mmapped
-configure: Store modules built: diskd rock ufs
+configure: Store modules built: diskd rock ufs aufs
configure: Removal policies to build: lru heap
configure: Disabling ESI processor
checking whether to support eCAP... no, explicitly
@@ -674,7 +676,7 @@
checking for prctl... no
checking for pthread_attr_setschedparam... yes
checking for pthread_attr_setscope... yes
-checking for pthread_setschedparam... no
+checking for pthread_setschedparam... yes
checking for pthread_sigmask... yes
checking for putenv... (cached) yes
checking for random... (cached) yes
@@ -743,9 +745,9 @@
configure: BUILD OBJECTS:
configure: BUILD EXTRA OBJECTS:
configure: BUILD C FLAGS: -O2 -pipe -march=native
-fno-strict-aliasing -I/usr/local/include
-configure: BUILD EXTRA C FLAGS: -Werror -Qunused-arguments
+configure: BUILD EXTRA C FLAGS:
configure: BUILD C++ FLAGS: -O2 -pipe -march=native
-fno-strict-aliasing -Wno-unused-private-field -std=c++0x
-I/usr/local/include
-configure: BUILD EXTRA C++ FLAGS: -Werror -Qunused-arguments
+configure: BUILD EXTRA C++ FLAGS:
And those two are about why squid can't build withous AUFS. -Werror
chimes in and thrashes whole thing.
configure: creating ./config.status
config.status: creating Makefile
config.status: creating compat/Makefile
The tiny patch attached fixes wording around AUFS (ie stops calling it
async) and disables by default DISKD and ROCK storages (as they seem to
fail anyway).
--
Sphinx of black quartz, judge my vow.
Index: Makefile
===================================================================
--- Makefile (revision 344046)
+++ Makefile (working copy)
@@ -61,7 +61,7 @@
OPTIONS_DEFINE= ARP_ACL AUTH_KERB AUTH_LDAP AUTH_NIS AUTH_SASL AUTH_SMB
\
AUTH_SQL \
CACHE_DIGESTS DEBUG DELAY_POOLS DNS_HELPER ECAP ESI \
- FOLLOW_XFF FS_AUFS FS_COSS HTCP ICAP ICMP IDENT IPV6 KQUEUE \
+ FOLLOW_XFF FS_AUFS FS_COSS FS_DISKD FS_ROCK HTCP ICAP ICMP
IDENT IPV6 KQUEUE \
LARGEFILE SNMP SSL SSL_CRTD STACKTRACES STRICT_HTTP \
TP_IPF TP_IPFW TP_PF VIA_DB WCCP WCCPV2 DOCS EXAMPLES
@@ -83,8 +83,10 @@
ECAP_DESC= Enable loadable content adaptation modules
ESI_DESC= Enable support for ESI
FOLLOW_XFF_DESC= Enable support for the X-Following-For header
-FS_AUFS_DESC= Enable AUFS (async-io) support
+FS_AUFS_DESC= Enable AUFS (threaded io) support
FS_COSS_DESC= Enable COSS (not stable yet)
+FS_DISKD_DESC= Enable DISKD (experimental) storage engine controlled by
separate service
+FS_ROCK_DESC= Enable ROCK (unstable) storage
HTCP_DESC= Enable HTCP support
ICAP_DESC= Enable the ICAP client
ICMP_DESC= Enable ICMP pinging and network measurement
@@ -308,8 +310,8 @@
# Storage schemes:
-storage_schemes= diskd rock ufs
-diskio_modules= AIO Blocking DiskDaemon IpcIo Mmapped
+storage_schemes= ufs
+diskio_modules= AIO Blocking IpcIo Mmapped
.if ${PORT_OPTIONS:MFS_AUFS}
storage_schemes+= aufs
diskio_modules+= DiskThreads
@@ -322,6 +324,13 @@
.if ${PORT_OPTIONS:MFS_COSS}
storage_schemes+= coss
.endif
+.if ${PORT_OPTIONS:MFS_DISKD}
+storage_schemes+= diskd
+diskio_modules+= DiskDaemon
+.endif
+.if ${PORT_OPTIONS:MFS_ROCK}
+storage_schemes+= rock
+.endif
CONFIGURE_ARGS+= --enable-storeio="${storage_schemes}"
CONFIGURE_ARGS+= --enable-disk-io="${diskio_modules}"
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"