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 [14/09/2020 09:58] – [CentOS 7 minimal: Compiling and installing 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, including svn 1.14 ====== | + | ====== Build Subversion from sources |
- | -- By Juan Gabriel Covas - 2019 - 2020 | + | -- By Juan Gabriel Covas - 2019 - 2024 |
- | How to build Subversion / SVN from Sources, | + | How to build Subversion / SVN from Sources |
- | **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.</ |
\\ | \\ | ||
- | ===== CentOS 7 minimal: Compiling and installing SVN 1.14 from sources ===== | ||
- | Compilation tested on CentOS | + | |
+ | ===== 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 ===== | ||
+ | |||
+ | Compilation tested on CentOS | ||
+ | |||
+ | Pre-requisites: | ||
+ | yum -y install epel-release | ||
+ | |||
+ | yum install net-tools bind-utils nano wget perl mlocate mailx 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 python2 | ||
+ | |||
+ | As non-root user: | ||
+ | cd ~; mkdir src; cd src | ||
+ | wget https:// | ||
+ | tar xzf subversion-1.14.3.tar.gz | ||
+ | cd subversion-1.14.3 | ||
+ | |||
+ | ./ | ||
+ | |||
+ | We have '' | ||
+ | $ python2 --version | ||
+ | Python 2.7.17 | ||
+ | |||
+ | Now, to avoid error: ''/ | ||
+ | $ sudo alternatives --set python / | ||
+ | |||
+ | $ python --version | ||
+ | Python 2.7.17 | ||
+ | |||
+ | Under CentOS 8 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 | ||
+ | |||
+ | Don't forget to check the Rebuilding from sources notes here: https:// | ||
+ | |||
+ | \\ | ||
+ | |||
+ | ===== CentOS 7 minimal: compiling SVN 1.14 from sources ===== | ||
+ | |||
+ | Compilation tested on CentOS 7 (minimal install, NO stock subversion installed). Updated 2024-01-02 | ||
Subversion build: success as normal user (no root), under ''/ | Subversion build: success as normal user (no root), under ''/ | ||
Línea 25: | Línea 127: | ||
Installing subversion from sources: | Installing subversion from sources: | ||
$ cd ~; mkdir src; cd src | $ cd ~; mkdir src; cd src | ||
- | $ wget http://ftp.cixug.es/apache/ | + | $ wget https://dlcdn.apache.org/ |
- | $ tar xzf subversion-* | + | $ tar xzf subversion-1.14.3 |
- | $ cd subversion-* | + | $ cd subversion-1.14.3 |
- | $ ./get-deps.sh apr serf zlib sqlite | + | |
$ ./ | $ ./ | ||
| | ||
Now, since SVN 1.14.x, we need to make install newer APR tools (stock CentOS 7 version for APR is 1.5 which is old): | Now, since SVN 1.14.x, we need to make install newer APR tools (stock CentOS 7 version for APR is 1.5 which is old): | ||
$ cd apr/; ./ | $ cd apr/; ./ | ||
- | $ cd ../ | + | $ cd ../ |
$ cd ../ | $ cd ../ | ||
Línea 44: | 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 51: | Línea 152: | ||
Check version: | Check version: | ||
# svn --version --quiet | # svn --version --quiet | ||
- | 1.14.0 | + | 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 73: | Línea 175: | ||
Download subversion sources: | Download subversion sources: | ||
# cd ~; mkdir src; cd src | # cd ~; mkdir src; cd src | ||
- | # wget http://ftp.cixug.es/apache/ | + | # wget https://dlcdn.apache.org/ |
# tar xvzf subversion-* | # tar xvzf subversion-* | ||
- | # cd subversion-1.14.0 | + | # 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 84: | 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 95: | Línea 197: | ||
Then it works: | Then it works: | ||
# svn --version --quiet | # svn --version --quiet | ||
- | 1.14.0 | + | 1.14.3 |
Línea 101: | Línea 203: | ||
===== Note on RE-building subversion from sources ===== | ===== Note on RE-building subversion from sources ===== | ||
- | If you RE-build a new version from sources, you should move all files '' | + | How to fix error: '' |
+ | |||
+ | If you RE-build a new version from sources, you should move or delete | ||
< | < | ||
../ | ../ | ||
Línea 111: | Línea 215: | ||
After moving the files, '' | After moving the files, '' | ||
- | |||