[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