[squid-users] Compile install Squid, configure default options.
Billy.Zheng (zw963)
zw963 at 163.com
Wed Jan 13 09:42:15 UTC 2016
I will investigate your's config options carefully, Thank!
Mike writes:
> When I used CentOS 7 (a variation of it), this is what I had to use:
>
>
> • yum -y install perl gcc gcc-c++ autoconf automake make
>
> • yum -y install epel-release
>
> □ (has a few packages we need below)
>
> • yum -y install libxml2-devel libcap-devel avr-gcc-c++
>
> • yum -y install libtool-ltdl-devel openssl-devel
>
> • yum -y install ksh perl-Crypt-OpenSSL-X509
>
> I prefer separate lines with only a few to be installed since if theres a
> problem with one, it is more likely to show an error rather than be buried.
>
>
> With 3.5.5 they made some changes so for 3.5.5 and newer, certain configure
> options no longer work that previously did as far back as 3.1.x. This is for
> 64bit, there are a few small differences for 32 bit OS.
>
> • ./configure '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr'
> '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/
> usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=
> /usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man'
> '--infodir=/usr/share/info' '--exec_prefix=/usr' '--libexecdir=/usr/lib64/
> squid' '--localstatedir=/var' '--datadir=/usr/share/squid' '--sysconfdir=/
> etc/squid' '--with-logdir=$(localstatedir)/log/squid' '--with-pidfile=$
> (localstatedir)/run/squid.pid' '--disable-dependency-tracking'
> '--enable-follow-x-forwarded-for' '--enable-cache-digests'
> '--enable-cachemgr-hostname=localhost' '--enable-delay-pools'
> '--enable-epoll' '--enable-icap-client' '--enable-ident-lookups'
> '--enable-linux-netfilter' '--enable-removal-policies=heap,lru'
> '--enable-snmp' '--enable-storeio=aufs,diskd,ufs,rock' '--enable-wccpv2'
> '--enable-esi' '--enable-ssl' '--enable-ssl-crtd' '--enable-icmp'
> '--with-aio' '--with-default-user=squid' '--with-filedescriptors=1024'
> '--with-dl' '--with-openssl' '--with-pthreads' '--with-included-ltdl'
> '--disable-arch-native' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
> -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=
> generic' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
> -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC'
> 'PKG_CONFIG_PATH=/usr/lib64/pkgconfig:/usr/share/pkgconfig'
>
>
>
> There are small variations in CentOS that make it different from other linux
> operating systems, so when I've had issues with missing configure options, I
> installed the available version from yum, then went through one by one and
> found what I needed, mirrored it to an extent for building from source. I also
> added my ssl based options.
> I have 2 different CentOS 7 based systems running squid with no problems using
> this setup.
>
> Mike
>
>
>
>
>
> On 1/12/2016 13:34 PM, Billy.Zheng(zw963) wrote:
>
> Or, just tell me, this worked, it is fine, and I will very happy to use.
>
> btw: When I first install, ./configure is passed, but make is failed.
> because I am not install gcc-c++. I have to install gcc-c++, reconfigure
> again, make is passed. I thought if ./configure could detect gcc-c++
> is not installed, will more good.
>
> What C++ compiler did you have installed instead of gcc-c++ ?
>
> I use CentOS 7.0 in VPS.
>
> I just follow squid document from here: http://wiki.squid-cache.org/SquidFaq/CompilingSquid
>
> with following operation:
>
> [root at vultr squid-3.5.12]# yum install -y perl gcc autoconf automake make sudo wget
> [root at vultr squid-3.5.12]# yum install openssl-devel
> [root at vultr squid-3.5.12]# g++
> -bash: g++: command not found
>
> and then run my new config, Thanks for guide.
>
> ./configure --build=x86_64-linux-gnu \
> --prefix=/usr \
> --exec-prefix=/usr \
> '--bindir=${prefix}/bin' \
> '--sbindir=${prefix}/sbin' \
> '--libdir=${prefix}/lib64' \
> '--libexecdir=${prefix}/lib64/squid' \
> '--includedir=${prefix}/include' \
> '--datadir=${prefix}/share/squid' \
> '--mandir=${prefix}/share/man' \
> '--infodir=${prefix}/share/info' \
> --localstatedir=/var \
> '--with-logdir=${localstatedir}/log/squid' \
> '--with-pidfile=${localstatedir}/run/squid.pid' \
> '--with-swapdir=${localstatedir}/spool/squid' \
> --sysconfdir=/etc/squid \
> --with-openssl \
> --with-default-user=squid \
> --with-filedescriptors=16384
>
> it worked. and end with Makefile created.
>
> It seem like not c++ compile included initially, ./configure is not detect out
> for it for this OS, so no any error occur.
>
> when I run make, it told me `g++: command not found'
>
> [root at vultr squid-3.5.12]# make
> Making all in compat
> make[1]: Entering directory `/root/squid-3.5.12/compat'
> source='assert.cc' object='assert.lo' libtool=yes \
> DEPDIR=.deps depmode=none /bin/sh ../cfgaux/depcomp \
> /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I.. -I../include -I../lib -I../src -I../include -I../libltdl -c -o assert.lo assert.cc
> libtool: compile: g++ -DHAVE_CONFIG_H -I.. -I../include -I../lib -I../src -I../include -I../libltdl -c assert.cc -o .libs/assert.o
> ../libtool: line 1125: g++: command not found
> make[1]: *** [assert.lo] Error 1
> make[1]: Leaving directory `/root/squid-3.5.12/compat'
> make: *** [all-recursive] Error 1
>
> following is a part of ./configure output:
>
> checking for a BSD-compatible install... /usr/bin/install -c
> checking whether build environment is sane... yes
> checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
> checking for gawk... gawk
> 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... gnutar
> checking whether to enable maintainer-specific portions of Makefiles... no
> checking for gcc... gcc
> 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 gcc accepts -g... yes
> checking for gcc option to accept ISO C89... none needed
> checking whether gcc understands -c and -o together... yes
> checking for style of include used by make... GNU
> checking dependency style of gcc... gcc3
> checking for g++... no
> checking for c++... no
> checking for gpp... no
> checking for aCC... no
> checking for CC... no
> checking for cxx... no
> checking for cc++... no
> checking for cl.exe... no
> checking for FCC... no
> checking for KCC... no
> checking for RCC... no
> checking for xlC_r... no
> checking for xlC... no
> checking whether we are using the GNU C++ compiler... no
> checking whether g++ accepts -g... no
> checking dependency style of g++... none
> checking build system type... x86_64-pc-linux-gnu
> checking host system type... x86_64-pc-linux-gnu
> configure: CPU arch native optimization enabled: auto
> checking whether compiler accepts -march=native... no
> checking simplified host os... linux (version )
> checking what kind of compiler we're using... none
> checking whether g++ supports C++11 features by default... no
> checking whether g++ supports C++11 features with -std=c++11... no
> checking whether g++ supports C++11 features with -std=c++0x... no
> configure: No compiler with C++11 support was found
> checking for ranlib... ranlib
> checking how to run the C preprocessor... gcc -E
> checking whether ln -s works... yes
> checking for egrep... /usr/bin/egrep
> checking for sh... /usr/bin/sh
> checking for false... /usr/bin/false
> checking for true... /usr/bin/true
--
Geek, Rubyist, Emacser
Homepage: http://zw963.github.io
More information about the squid-users
mailing list