..
Copyright (c) 2019-2021 Varnish Software AS
SPDX-License-Identifier: BSD-2-Clause
See LICENSE file for full text of license
.. _install-src:
Compiling Varnish from source
=============================
If there are no binary packages available for your system, or if you
want to compile Varnish from source for other reasons, follow these
steps:
Getting hold of the source
--------------------------
Download the appropriate release tarball, which you can find on
https://varnish-cache.org/releases/ .
Alternatively, if you want to hack on Varnish, you should clone our
git repository by doing.
``git clone --recursive https://github.com/varnishcache/varnish-cache``
This will recursively check out the vtest2 sources from the default repository
URL. If you prefer to use vtest2 from a non-default (local) repository, you can
tell git to replace the url:
``git config url.$YOUR_VTEST2_URL.insteadOf https://github.com/vtest/VTest2.git``
Build dependencies on FreeBSD
-----------------------------
To get the dependencies required to build varnish from source
you can either::
pkg install git automake pkgconf py39-sphinx py39-docutils pcre2 libtool
.. XXX does cpio need to be installed on FreeBSD?
And optionally, to be able to run all the testcases::
pkg install haproxy nghttp2 vttest
Or if you want the built from sources::
cd /usr/ports/www/varnish6
make depends clean
Then continue `Compiling Varnish`_
Build dependencies on Debian / Ubuntu
--------------------------------------
.. grep-dctrl -n -sBuild-Depends -r ^ ../../../../varnish-cache-debian/control | tr -d '\n' | awk -F,\ '{ for (i = 0; ++i <= NF;) { sub (/ .*/, "", $i); print "* `" $i "`"; }}' | egrep -v '(debhelper)'
In order to build Varnish from source you need a number of packages
installed. On a Debian or Ubuntu system, use this command to install
them (replace ``sudo apt-get install`` if needed)::
sudo apt-get install \
make \
automake \
autotools-dev \
libedit-dev \
libjemalloc-dev \
libncurses-dev \
libpcre2-dev \
libtool \
pkg-config \
python3-docutils \
python3-sphinx \
cpio
Optionally, to rebuild the svg files::
sudo apt-get install graphviz
Recommended, in particular if you plan on building custom vmods::
sudo apt-get install autoconf-archive
Optionally, to pull from a repository::
sudo apt-get install git
Then continue `Compiling Varnish`_
Build dependencies on Red Hat / CentOS
--------------------------------------
.. gawk '/^BuildRequires/ {print "* `" $2 "`"}' ../../../redhat/varnish.spec | sort | uniq | egrep -v '(systemd)'
in the following shell commands, replace ``sudo yum install`` if needed.
Install sphinx
* On Red Hat / CentOS 9, some packages are not included in the
default repositories, so execute these steps to include them
from the CRB repository::
sudo dnf install -y 'dnf-command(config-manager)'
sudo dnf config-manager --set-enabled crb
sudo dnf install -y \
diffutils \
python3-sphinx
* On Red Hat / CentOS 8, some packages are not included in the
default repositories, so execute these steps to include them
from the powertools repository::
sudo dnf install -y 'dnf-command(config-manager)'
sudo dnf config-manager --set-enabled powertools
sudo dnf install -y \
diffutils \
jemalloc-devel \
libunwind-devel \
python3-sphinx
* On Red Hat / CentOS <= 7, install the packages from the default
repository::
sudo yum install -y \
jemalloc-devel \
libunwind-devel \
python-sphinx
The following step should conclude installation of the remaining
package dependencies::
yum install -y \
make \
autoconf \
automake \
libedit-devel \
libtool \
ncurses-devel \
pcre2-devel \
pkgconfig \
python3-docutils \
cpio
Optionally, to rebuild the svg files::
yum install graphviz
Optionally, to pull from a repository::
yum install git
.. XXX autoconf-archive ? is this any helpful on the notoriously
outdated Redhats?
Then continue `Compiling Varnish`_
Build dependencies on macOS
---------------------------
To compile varnish on macOS, these steps should install the required
dependencies:
* Install xcode: `xcode-select --install`
* Install dependencies via `brew`::
brew install \
autoconf \
automake \
pkg-config \
libtool \
docutils \
sphinx-doc
* Add the sphinx tools and the docutils to PATH so `configure` will find them.
PATH="/opt/homebrew/opt/sphinx-doc/bin:/opt/homebrew/opt/docutils/bin:$PATH"
It'll be a good idea to persist these changes so you can rebuild the source later.
Then continue `Compiling Varnish`_
Build dependencies on Alpine Linux
----------------------------------
As of Alpine 3, these steps should install the required dependencies:
* Add the `Alpine Community Repository`_
* Install dependencies::
apk add -q \
autoconf \
automake \
build-base \
ca-certificates \
cpio \
gzip \
libedit-dev \
libtool \
libunwind-dev \
linux-headers \
pcre2-dev \
py-docutils \
py3-sphinx \
tar \
sudo
Optionally, to rebuild the svg files::
apk add -q graphviz
Optionally, to pull from a repository::
apk add -q git
Then continue `Compiling Varnish`_, using the ``--with-unwind``
``configure`` option.
.. _Alpine Community Repository: https://wiki.alpinelinux.org/wiki/Enable_Community_Repository
Build dependencies on a SmartOS Zone
------------------------------------
As of SmartOS pkgsrc 2019Q4, install the following packages::
pkgin in autoconf automake editline libtool ncurses \
pcre2 python37 py37-sphinx py37-docutils gmake gcc8 pkg-config
*Note:* you will probably need to add ``/opt/local/gcc8/bin`` to
``PATH`` in order to have ``gcc`` available.
Optionally, to rebuild the svg files::
pkgin in graphviz
Optionally, to pull from a repository::
pkgin in git
Building on Solaris and other Solaris-ish OSes
----------------------------------------------
Building with gcc should be straight forward, as long as the above
requirements are installed.
By convention, consider installing Varnish under `/opt/local` using::
./configure \
--prefix=/opt/local \
--mandir=/opt/local/man
Alternatively, building with Solaris Studio 12.4 should work
considering the following recommendations:
* have GNU `nm` in `$PATH` before Solaris `nm`
* Provide compiler flags for `configure` to include paths under which
dependencies are installed. Example for `/opt/local`::
./configure \
--prefix=/opt/local \
--mandir=/opt/local/man \
CPPFLAGS="-I/opt/local/include" \
CFLAGS="-m64" \
LDFLAGS="-L/opt/local/lib -R/opt/local/lib"
Compiling Varnish
-----------------
The configuration will need the dependencies above satisfied. Once that is
taken care of::
cd varnish-cache
sh autogen.sh
sh configure
make
The `configure` script takes some arguments, but more likely than not you can
forget about that for now, almost everything in Varnish can be tweaked with run
time parameters.
Before you install, you may want to run the test suite, make a cup of
tea while it runs, it usually takes a couple of minutes::
make check
Don't worry if one or two tests fail. Some of the tests are a
bit too timing sensitive (Please tell us which so we can fix them).
However, if a lot of them fail, and in particular if the `b00000.vtc` test
fails, something is horribly wrong. You will get nowhere without
figuring this one out.
Installing
----------
And finally, the true test of a brave heart: ``sudo make install``
Varnish will now be installed in ``/usr/local``. The ``varnishd`` binary is in
`/usr/local/sbin/varnishd`. To make sure that the necessary links and caches
of the most recent shared libraries are found, run ``sudo ldconfig``.
Henceforth, whatever our philosopher says about Matter will apply to extension and to extension alone. It cannot be apprehended by sight, nor by hearing, nor by smell, nor by taste, for it is neither colour, nor sound, nor odour, nor juice. Neither can it be touched, for it is not a body, but it becomes corporeal on being blended with sensible qualities. And, in a later essay, he describes it as receiving all things and letting them depart again without retaining the slightest trace of their presence.483 Why then, it may be asked, if Plotinus meant extension, could he not say so at once, and save us all this trouble in hunting out his meaning? There were very good reasons why he should not. In the first place, he wished to express himself, so far as possible, in Aristotelian phraseology, and this was incompatible with the reduction of Matter to extension. In the next place, the idea of an infinite void had been already appropriated by the Epicureans, to whose system he was bitterly opposed. And, finally, the extension of ordinary327 experience had not the absolute generality which was needed in order to bring Matter into relation with that ultimate abstraction whence, like everything else, it has now to be derived. That the millionaire was genuine, ¡°in person and not a caricature,¡± as Dick put it, was evident. Both the nurse, his relative, and his wife, were chatting with him as Jeff delivered the heavy packed ball made up of the gum. 233 "I guess not," said Landor, tolerantly, as he turned[Pg 106] his horse over to his orderly; "but, anyway," he added to Ellton, "we had a picnic¡ªof a sort." Si, unable to think of anything better, went with him. The train had stopped on a switch, and seemed likely to rust fast to the rails, from the way other trains were going by in both directions. The bridge gang, under charge of a burly, red-faced young Englishman, was in the rear car, with their tools, equipments, bedding and cooking utensils. THE DEACON HAS SOME EXPERIENCES WITH THE QUADRUPED. "You are not within a mile of the truth. I know it. Look here: I believe that is Gen. Rosecrans's own cow. She's gone, and I got an order to look around for her. I've never seen her, but from the description given me I believe that's she. Who brought her here?" "Deacon, these brothers and sisters who have come here with me to-night are, like myself, deeply interested in the moral condition of the army, where we all have sons or kinsmen. Now, can't you sit right there and tell us of your observations and experiences, as a Christian man and father, from day to day, of every day that you were down there? Tell us everything, just as it happened each day, that we may be able to judge for ourselves." HAS AN ENCOUNTER WITH THE PROVOST-MARSHAL. "Wonder which one o' them is the 200th Injianny's?" said Si to Shorty. "And your mother, and Harry?" The daughter must be the girl who was talking to him now. She sat on a little stool by the fire, and had brought out some sewing. "Over at Grandturzel¡ªcan't see wot's burning from here. Git buckets and come!" These things, however, gave little concern to the worthy who commanded the Kentish division. Tyler, though an excellent blacksmith, possessed few of the qualities requisite for forming a good general. Provided there was no very sensible diminution in the number of his followers, he cared not a straw for the score or two who, after quarrelling, or perhaps fighting, withdrew in such disgust that they vowed rather to pay the full tax for ever than submit to the insolence of the rebels. One man could fight as well as another, reasoned he; and, provided he was obeyed, what mattered it by whom. Dick went and Tom came¡ªit was sure to be all one in the end. But this burst of indignation soon passed away, and upon the suggestion of the prudent Sir Robert Hailes, he sent an evasive answer, with a command that the Commons should attend him at Windsor on the Sunday following. That it was a stratagem to gain entrance to the Tower, was the opinion of several, but, after much discussion, it was decided that the man should be admitted, and that the monk should be exhibited merely to intimidate the rebels, until the result of this promised communication should be known. HoMEŮͬÐÔÁµcbcb
ENTER NUMBET 0017
xinji2.com.cn
youtu1.com.cn
www.tyck.com.cn
www.fm35.com.cn
yadi4.com.cn
www.leteam.org.cn
yunti2.net.cn
liebu3.com.cn
www.aj500.com.cn
www.juela0.com.cn