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"

Reply via email to