Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
linux:howtos:build-svn-from-sources [09/07/2022 11:39] – [CentOS 8 minimal: build SVN 1.14 from sources] Juanga Covas | linux:howtos:build-svn-from-sources [02/01/2024 17:27] (actual) – Juanga Covas | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Build Subversion from sources for Linux RedHat, CentOS or Ubuntu, including svn 1.14 ====== | ====== Build Subversion from sources for Linux RedHat, CentOS or Ubuntu, including svn 1.14 ====== | ||
- | -- By Juan Gabriel Covas - 2019 - 2021 | + | -- By Juan Gabriel Covas - 2019 - 2024 |
- | How to build Subversion / SVN from Sources (under CentOS 8, CentOS 7 or Ubuntu 18/19/20, so you can use the latest subversion version. This How-To is based on the following old blog post from 2012: [[http:// | + | How to build Subversion / SVN from Sources (under |
**NOTE:** <wrap hi>This how-to is OK for a subversion client OR updating the binaries of a subversion SERVER that does NOT use Apache or any other stuff.</ | **NOTE:** <wrap hi>This how-to is OK for a subversion client OR updating the binaries of a subversion SERVER that does NOT use Apache or any other stuff.</ | ||
\\ | \\ | ||
+ | |||
+ | |||
+ | ===== Rocky Linux 9: build SVN 1.14 from sources ===== | ||
+ | |||
+ | Pre-requisites: | ||
+ | yum -y install epel-release | ||
+ | |||
+ | yum install net-tools bind-utils nano wget perl mlocate crontabs cronie rsync openssh-server unzip perl-libwww-perl yum-utils curl psmisc git cpan colordiff pwgen bc perl-LWP-Protocol-https gcc libevent libevent-devel zlib zlib-devel bzip2-devel openssl-devel pcre pcre-devel libmcrypt libmcrypt-devel libjpeg-turbo-utils optipng zlib-devel libuuid-devel gcc make git autoconf automake pkgconfig utf8proc apr apr-devel apr-util apr-util-devel libtool boost python | ||
+ | |||
+ | As non-root user (this is important so all tests will pass...) | ||
+ | cd ~; mkdir src; cd src | ||
+ | wget https:// | ||
+ | tar xzf subversion-1.14.3.tar.gz | ||
+ | cd subversion-1.14.3 | ||
+ | |||
+ | ./ | ||
+ | |||
+ | Under Enterprise Linux 9 we must set this env. variable: | ||
+ | $ export LIBTOOL_M4=/ | ||
+ | |||
+ | Next, autogen: | ||
+ | $ ./ | ||
+ | [...] | ||
+ | You can run ./configure now. | ||
+ | [...] | ||
+ | |||
+ | Configure... | ||
+ | $ ./configure --with-lz4=internal --with-utf8proc=internal | ||
+ | [...] | ||
+ | config.status: | ||
+ | |||
+ | And make: | ||
+ | $ make -j $(nproc) | ||
+ | |||
+ | To check we pass all tests: | ||
+ | $ make check | ||
+ | |||
+ | Finally install: | ||
+ | $ sudo make install | ||
+ | | ||
+ | We should have svn client there: | ||
+ | $ svn --version --quiet | ||
+ | 1.14.3 | ||
===== CentOS 8 minimal: build SVN 1.14 from sources ===== | ===== CentOS 8 minimal: build SVN 1.14 from sources ===== | ||
Línea 20: | Línea 63: | ||
As non-root user: | As non-root user: | ||
cd ~; mkdir src; cd src | cd ~; mkdir src; cd src | ||
- | wget https:// | + | wget https:// |
- | tar xzf subversion-1.14.1.tar.gz | + | tar xzf subversion-1.14.3.tar.gz |
- | cd subversion-1.14.1 | + | cd subversion-1.14.3 |
./ | ./ | ||
Línea 51: | Línea 94: | ||
And make: | And make: | ||
- | $ make | + | $ make -j $(nproc) |
To check we pass all tests: | To check we pass all tests: | ||
Línea 61: | Línea 104: | ||
We should have svn client there: | We should have svn client there: | ||
$ svn --version --quiet | $ svn --version --quiet | ||
- | 1.14.1 | + | 1.14.3 |
| | ||
Don't forget to check the Rebuilding from sources notes here: https:// | Don't forget to check the Rebuilding from sources notes here: https:// | ||
Línea 69: | Línea 112: | ||
===== CentOS 7 minimal: compiling SVN 1.14 from sources ===== | ===== CentOS 7 minimal: compiling SVN 1.14 from sources ===== | ||
- | Compilation tested on CentOS 7 (minimal install, NO stock subversion installed). Updated | + | Compilation tested on CentOS 7 (minimal install, NO stock subversion installed). Updated |
Subversion build: success as normal user (no root), under ''/ | Subversion build: success as normal user (no root), under ''/ | ||
Línea 84: | Línea 127: | ||
Installing subversion from sources: | Installing subversion from sources: | ||
$ cd ~; mkdir src; cd src | $ cd ~; mkdir src; cd src | ||
- | $ wget https:// | + | $ wget https:// |
- | $ tar xzf subversion-1.14.1 | + | $ tar xzf subversion-1.14.3 |
- | $ cd subversion-1.14.1 | + | $ cd subversion-1.14.3 |
$ ./ | $ ./ | ||
| | ||
Línea 102: | Línea 145: | ||
$ ./configure --with-lz4=internal | $ ./configure --with-lz4=internal | ||
$ ./configure --with-lz4=internal --with-apr=./ | $ ./configure --with-lz4=internal --with-apr=./ | ||
- | $ make | + | $ make -j $(nproc) |
If you want peace of mind, run the tests: | If you want peace of mind, run the tests: | ||
$ make check | $ make check | ||
Línea 109: | Línea 152: | ||
Check version: | Check version: | ||
# svn --version --quiet | # svn --version --quiet | ||
- | 1.14.1 | + | 1.14.3 |
- | Also be sure to check the final notes at the page bottom, when you need to re-compile a newer version of SVN. | + | Also be sure to check the final notes at the bottom |
\\ | \\ | ||
+ | |||
===== Ubuntu 19 server: Compiling and installing SVN from sources ===== | ===== Ubuntu 19 server: Compiling and installing SVN from sources ===== | ||
Línea 131: | Línea 175: | ||
Download subversion sources: | Download subversion sources: | ||
# cd ~; mkdir src; cd src | # cd ~; mkdir src; cd src | ||
- | # wget https:// | + | # wget https:// |
# tar xvzf subversion-* | # tar xvzf subversion-* | ||
- | # cd subversion-1.14.1 | + | # cd subversion-1.14.3 |
Going to compile and install subversion from sources on Ubuntu: | Going to compile and install subversion from sources on Ubuntu: | ||
# ./ | # ./ | ||
Línea 142: | Línea 186: | ||
# ./ | # ./ | ||
# ./configure --with-lz4=internal | # ./configure --with-lz4=internal | ||
- | # make | + | # make -j $(nproc) |
# make check | # make check | ||
# sudo make install | # sudo make install | ||
Línea 153: | Línea 197: | ||
Then it works: | Then it works: | ||
# svn --version --quiet | # svn --version --quiet | ||
- | 1.14.1 | + | 1.14.3 |
Línea 172: | Línea 216: | ||
After moving the files, '' | After moving the files, '' | ||
- | ~~DISCUSSION|Comments~~ |