summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Cai <jcai@gitlab.com>2019-05-07 23:16:12 -0700
committerJohn Cai <jcai@gitlab.com>2019-05-15 14:54:47 -0700
commit4570443e75b1aea1a849115e3a4dc49bb05674c6 (patch)
tree2d990ce2993836ff817d2cbe6a872333198411ae
parent4f447e0f4b87d77f1de408cd69a66323465437f8 (diff)
downloadgitlab-ce-4570443e75b1aea1a849115e3a4dc49bb05674c6.tar.gz
Add docs to describe how to compile git with libpcre2jc-docs-for-git-pcre2
-rw-r--r--doc/install/installation.md26
1 files changed, 24 insertions, 2 deletions
diff --git a/doc/install/installation.md b/doc/install/installation.md
index c694f0ed691..d1aff376aa2 100644
--- a/doc/install/installation.md
+++ b/doc/install/installation.md
@@ -99,7 +99,20 @@ sudo apt-get install -y git-core
git --version
```
-Is the system packaged Git too old? Remove it and compile from source.
+Starting with GitLab 12.0, Git is required to be compiled with `libpcre2`.
+Find out if that's the case:
+
+```sh
+ldd /usr/local/bin/git | grep pcre2
+```
+
+The output should be similar to:
+
+```
+libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x00007f08461c3000)
+```
+
+Is the system packaged Git too old, or not compiled with pcre2? Remove it and compile from source:
```sh
# Remove packaged Git
@@ -108,12 +121,21 @@ sudo apt-get remove git-core
# Install dependencies
sudo apt-get install -y libcurl4-openssl-dev libexpat1-dev gettext libz-dev libssl-dev build-essential
+# Download and compile pcre2 from source
+curl --silent --show-error --location https://ftp.pcre.org/pub/pcre/pcre2-10.33.tar.gz --output pcre2.tar.gz
+tar -xzf pcre2.tar.gz
+cd pcre2-10.33
+chmod +x configure
+./configure --prefix=/usr --enable-jit
+make
+make install
+
# Download and compile from source
cd /tmp
curl --remote-name --location --progress https://www.kernel.org/pub/software/scm/git/git-2.21.0.tar.gz
echo '85eca51c7404da75e353eba587f87fea9481ba41e162206a6f70ad8118147bee git-2.21.0.tar.gz' | shasum -a256 -c - && tar -xzf git-2.21.0.tar.gz
cd git-2.21.0/
-./configure
+./configure --with-libpcre
make prefix=/usr/local all
# Install into /usr/local/bin