On 07/01/2013 01:41 PM, Tsantilas Christos wrote:
> The problem looks that it is that is is uses an older version to
> configure openSSL which is installed under the "/usr/" and finally
> builds with a newer version which installed under the "/usr/local/"
>
> This is because it finds an other component under the "/usr/local" and
> include these locations to build squid.
>
> I believe that configuring using:
> ./configure --with-openssl=/usr/local/
> will fix the problem.
>
> We have also a "3.HEAD-amd64-FreeBSD-9.1" build which uses the gcc
> compiler. In configure.ac script I am seeing the following tests:
>
> if test "$squid_cv_compiler" = "gcc"; then
> case "$squid_host_os" in
> .....
> freebsd)
> # FreeBSD places local libraries and packages in /usr/local
> CFLAGS="$CFLAGS -I/usr/local/include"
> CXXFLAGS="$CXXFLAGS -I/usr/local/include"
> LDFLAGS="$LDFLAGS -L/usr/local/lib -Wl,-R/usr/local/lib"
> ;;
>
> We should include the "/usr/local/" include and library paths for clang
> compiler too.
The attached patch should fix this
It just add the "usr/local/*" paths for FreeBSD in all compilers. Looks
that the "-I", "-L" and "-Wl,-R" flags supported for both clang and gcc,
so for these compilers the patch should work well.
Are we supporting any other compiler in FreeBSD?
=== modified file 'configure.ac'
--- configure.ac 2013-06-30 15:54:22 +0000
+++ configure.ac 2013-07-03 09:19:14 +0000
@@ -178,54 +178,64 @@
SQUID_CC_GUESS_VARIANT
SQUID_CC_GUESS_OPTIONS
dnl find out the exe extension for this platform.
dnl If it is not empty, use it for CGI as well.
AC_EXEEXT
AC_OBJEXT
if test "x$EXEEXT" = "x" ; then
CGIEXT=".cgi"
else
# automake automatically adds .exe when installing binaries
CGIEXT=""
fi
AC_SUBST(CGIEXT)
AM_CONDITIONAL(ENABLE_WIN32SPECIFIC,
[test "x$squid_host_os" = "xmingw" -o "x$squid_host_os" = "xcygwin"])
AM_CONDITIONAL(USE_IPC_WIN32,[test "x$squid_host_os" = "xmingw"])
-if test "x$squid_host_os" = "xmingw"; then
+case "$squid_host_os" in
+mingw)
AC_PATH_PROG(WIN32_PSAPI, psapi.dll, none)
CFLAGS="$CFLAGS -mthreads"
CXXFLAGS="$CXXFLAGS -mthreads"
if test "x$ac_cv_path_WIN32_PSAPI" = "xnone"; then
AC_MSG_NOTICE([PSAPI.DLL is recommended to run Squid on Windows NT Platform])
AC_MSG_NOTICE([Please see PSAPI.DLL section on doc/win32-relnotes.html.])
else
AC_DEFINE(HAVE_WIN32_PSAPI,1,[Define if you have PSAPI.DLL on Windows systems])
LIBS="$LIBS -lpsapi"
fi
MINGW_LIBS="-lmingwex"
AC_SUBST(MINGW_LIBS)
-fi
+ ;;
+freebsd)
+ # FreeBSD places local libraries and packages in /usr/local
+ CFLAGS="$CFLAGS -I/usr/local/include"
+ CXXFLAGS="$CXXFLAGS -I/usr/local/include"
+ LDFLAGS="$LDFLAGS -L/usr/local/lib -Wl,-R/usr/local/lib"
+ ;;
+*)
+ ;;
+esac
dnl Substitutions
AC_DEFINE_UNQUOTED(CONFIG_HOST_TYPE, "$host",[Host type from configure])
AC_DEFINE_UNQUOTED(SQUID_CONFIGURE_OPTIONS, "$ac_configure_args",
[configure command line used to configure Squid])
CACHE_EFFECTIVE_USER="nobody"
AC_ARG_WITH(default-user,
AS_HELP_STRING([--with-default-user=USER],[System user account for squid permissions. Default: nobody]),
[ CACHE_EFFECTIVE_USER="$withval" ]
)
AC_SUBST(CACHE_EFFECTIVE_USER)
DEFAULT_LOG_DIR="$localstatedir/logs"
AC_ARG_WITH(logdir,
AS_HELP_STRING([--with-logdir=PATH],
[Default location for squid logs. default: PREFIX/var/logs]), [
case $withval in
yes|no)
@@ -312,46 +322,40 @@
-woff 1009,1014,1110,1116,1183,1185,1188,1204,1230,1233,1355 \
-Wl,-woff,85,-woff,84,-woff,134 \
-nostdinc -I/usr/include -D_BSD_SIGNALS $CXXFLAGS"
;;
*)
;;
esac
fi
fi
dnl set squid required flags
if test "$squid_cv_compiler" = "gcc"; then
case "$squid_host_os" in
mingw)
dnl Guido Serassio ([email protected]) 20070811
dnl Using the latest MinGW (gcc 3.4.5 + mingw-runtime 3.13) cannot build with
dnl -Werror -Wmissing-prototypes -Wmissing-declarations
dnl TODO: check if the problem will be present in any other newer MinGW release.
SQUID_CFLAGS="$squid_cv_cc_option_wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow"
;;
- freebsd)
- # FreeBSD places local libraries and packages in /usr/local
- CFLAGS="$CFLAGS -I/usr/local/include"
- CXXFLAGS="$CXXFLAGS -I/usr/local/include"
- LDFLAGS="$LDFLAGS -L/usr/local/lib -Wl,-R/usr/local/lib"
- ;;
*)
SQUID_CFLAGS="$squid_cv_cc_option_wall -Wpointer-arith -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wcomments -Wshadow"
;;
esac
SQUID_CXXFLAGS="$squid_cv_cc_option_wall -Wpointer-arith -Wwrite-strings -Wcomments -Wshadow"
else
SQUID_CFLAGS=
SQUID_CXXFLAGS=
fi
if test "x$enable_strict_error_checking" != "xno"; then
SQUID_CFLAGS="$SQUID_CFLAGS $squid_cv_cc_option_werror"
SQUID_CXXFLAGS="$SQUID_CXXFLAGS $squid_cv_cxx_option_werror"
fi
# squid_cv_cc_arg_pipe is set by SQUID_CC_GUESS_OPTIONS
SQUID_CXXFLAGS="$SQUID_CXXFLAGS $squid_cv_cc_arg_pipe"
SQUID_CFLAGS="$SQUID_CFLAGS $squid_cv_cc_arg_pipe"
# possibly include some build info tag into squid -v