[squid-users] Squid 3.5.13 transparent compiling fails with ubuntu 14.04 server
L.P.H. van Belle
belle at bazuin.nl
Fri Jan 29 13:26:10 UTC 2016
This works on a debian Jessie, so to adapt this for ubuntu 14.04 should be simple.
Have a look whats doen here, and change it to Ubuntu.
I’ve put : ## CHECK THIS for Ubuntu where you need to check things for Ubuntu.
And with the check this, look at the version numbers and change accordingly.
Greetz,
Louis
#!/bin/bash
## TEST DATE : 25-01-2016.
## a local (file) repo is setup,
## to make squid 3.5.12 from Debian SID work on Debian Jessie, the following ## is needed.
## 1) libecap dependes on GCC 5.2, this is changed to 4.9 (Jessie version) ## (debian/control)
## 2) we added --enable-ssl , --with-open-ssl=/etc/ssl/openssl.cnf,
## --enable-linux-netfilter' to the debian/rules in squid.
## 3) the correct order of installing files is needed.
SETPATH=`pwd`
CURRENT_DATE=`date -R`
function update-debs () {
cp *.deb /var/www/mydebs
cd /var/www/mydebs
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
cd $SETPATH
echo "Running apt-get update, please wait."
apt-get update 2> /dev/null
sleep 1
}
if [ ! -e /etc/apt/sources.list.d/sid.list ]; then
# adding sid repo
cat << EOF >> /etc/apt/sources.list.d/sid.list
#
#deb http://ftp.nl.debian.org/debian/ sid main non-free contrib
deb-src http://ftp.nl.debian.org/debian/ sid main non-free contrib
EOF
else
echo "sid repo already setup"
fi
echo "Updating apt-repo, please wait"
apt-get update >/dev/null
if [ ! -e /etc/apt/sources.list.d/localrepo.list ]; then
# adding local repo ( webserver based )
cat << EOF >> /etc/apt/sources.list.d/localrepo.list
#
# change if you done have a webserver.
deb file:/var/www/mydebs ./
#deb http://localhost/mydebs/ ./
EOF
else
echo "local repo already setup"
fi
if [ ! -e /var/www/mydebs ]; then
# get dependes, sources and build sources, setup local apt.
mkdir -p /var/www/mydebs
apt-get install dpkg-dev -y
else
echo "setup of /var/www/mydebs already done"
fi
### ORDER IS IMPORTANT BECAUSE OF THE DEPENDES
## C-icap
apt-get source c-icap
apt-get build-dep c-icap
apt-get source c-icap -b
update-debs
## C-icap-modules
apt-get source c-icap-modules
apt-get build-dep c-icap-modules
apt-get source c-icap-modules -b
update-debs
## CHECK THIS for Ubuntu
## Libecap
apt-get source libecap
LIBECAPVER=`ls | grep libecap| grep tar.xz | cut -d"_" -f2 | cut -d"." -f1,2,3`
cat << EOF >> libecap-1.0.1/debian/changelog.new
libecap (${LIBECAPVER}-custom1) unstable; urgency=medium
* debian/control changed G++ 5.2 to G++ Jessie
- Rebuilt for debian Jessie
-- Unknown User <not at existing.tld> ${CURRENT_DATE}
EOF
cat libecap-1.0.1/debian/changelog >> libecap-1.0.1/debian/changelog.new
mv libecap-1.0.1/debian/changelog libecap-1.0.1/debian/changelog.old
mv libecap-1.0.1/debian/changelog.new libecap-1.0.1/debian/changelog
## CHECK THIS for Ubuntu
echo "change GCC 5.2 to Jessie G++ 4.9 in libecap-1.0.1/debian/control"
sed -i 's/g++ (>= 4:5.2)/g++ (>= 4:4.9)/g' libecap-1.0.1/debian/control
apt-get install cdbs -y
apt-get build-dep libecap
apt-get source libecap -b
update-debs
## CHECK THIS for Ubuntu
## Squid
apt-get source squid
if [ `cat squid3-3.5.12/debian/rules | wc -l` -ge 1 ]; then
echo "squid rules already changed"
else
sed -i 's/--with-default-user=proxy/--with-default-user=proxy \\/g' squid3-3.5.12/debian/rules
sed -i '/with-default-user=proxy/a \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ --enable-ssl \\' squid3-3.5.12/debian/rules
sed -i '/enable-ssl/a \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ --with-open-ssl=/etc/ssl/openssl.cnf \\' squid3-3.5.12/debian/rules
sed -i '/with-open-ssl/a \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ --enable-linux-netfilter' squid3-3.5.12/debian/rules
SQUIDVER=`ls | grep squid| grep tar.xz | cut -d"_" -f2 | cut -d"." -f1,2,3`
cat << EOF >> squid3-3.5.12/debian/changelog.new
squid3 (${SQUIDVER}-custom1-ssl) unstable; urgency=medium
* rebuild from Debian Sid to Jessie
- parameters added to debian/rules
--enable-ssl \
--with-open-ssl=/etc/ssl/openssl.cnf \
--enable-linux-netfilter
-- Unknown User <not at existing.tld> ${CURRENT_DATE}
EOF
cat squid3-3.5.12/debian/changelog >> squid3-3.5.12/debian/changelog.new
mv squid3-3.5.12/debian/changelog squid3-3.5.12/debian/changelog.old
mv squid3-3.5.12/debian/changelog.new squid3-3.5.12/debian/changelog
fi
apt-get build-dep squid
apt-get source squid -b
update-debs
apt-cache policy squid
Van: squid-users [mailto:squid-users-bounces at lists.squid-cache.org] Namens Hardik Dangar
Verzonden: vrijdag 29 januari 2016 14:06
Aan: squid-users at lists.squid-cache.org
Onderwerp: [squid-users] Squid 3.5.13 transparent compiling fails with ubuntu 14.04 server
Hello,
I am trying to build squid 3.5.13 with following options on ubuntu 14.04 freshly installed server,
# apt-get update
# apt-get build-dep squid3
# apt-get install build-essential sharutils ccze libzip-dev libssl-dev
# ./configure
--prefix=/usr
--exec-prefix=/usr
--includedir=/usr/include
--datadir=${prefix}/share/squid
--libdir=/usr/lib64
--libexecdir=${prefix}/lib/squid
--localstatedir=/var
--sysconfdir=/etc/squid
--sharedstatedir=/var/lib
--with-logdir=/var/log/squid
--with-pidfile=/var/run/squid.pid
--with-default-user=squid
--with-openssl
--enable-silent-rules
--enable-dependency-tracking
--enable-linux-netfilter
--enable-icmp
--enable-delay-pools
--enable-useragent-log
--enable-esi
--enable-follow-x-forwarded-for
--enable-ipf-transparent
--enable-ssl
--enable-ssl-crtd
--enable-auth
I want to build https transparent proxy so i have enabled enable ipf transparent and ssl options in config.
configure fails with option,
configure: error: unable to make IPFilter work with netinet/ headers
$ cat config.log | grep netinet reveals,
conftest.cpp:326:25: fatal error: netinet/ipl.h: No such file or directory
i did check iptables are installed ( $ which iptables) so netfilter should be installed too.
article at, https://www.smoothnet.org/squid-v3-5-proxy-with-ssl-bump/ says i need to use hack,
#define USE_SOLARIS_IPFILTER_MINOR_T_HACK 0
but after changing that line also result is same. i found very old squid 2.5 threads related to IPFilter compiling issue but couldn't find the code they ask to hack.
Anyone else has faced this issue? what's the solution for this ?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squid-cache.org/pipermail/squid-users/attachments/20160129/f48ed976/attachment-0001.html>
More information about the squid-users
mailing list