[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Regarding install and running svn1.9.2 for svnserve and http access in browser

From: arun prasath <get2arun_at_gmail.com>
Date: Fri, 8 Jan 2016 17:37:17 +0530

Hi Ryan & Team,

Thank for your inputs and now I have installed configured but compiled the
wrong svn modules and need your inputs on new architecture dependency error.

 I am writing this email after googling and some research and with my
finding in my install and configure in the test and prod environment.

 I have installed and configured Apache and compiled svn modules
(mod_dav_svn and mod_authnz_svn) and loaded in Apache server. But having
issues in Architecture compatibility issues for which I would like to know
the compile options to generate svn modules.

 The production environment has the *Apache 2.2.17 *installed and instance
created. It’s has Apache/2.2.17 (Unix), 32-bit, Server MPM as Prefork. The
detailed version output is listed below under title *Apache 2.2.17 Prod.
[Note: this is last release our production server is using for most of our
applications, it’s the last version used in the production server]*

 I did compiled svn modules in another server since I do not want make the
prod env dirty and to test in the lower environment. Then compiled svn
modules (svn_mod_dav and svn_mod_authnz) separately in another server for
Subversion 1.9.2 using Apache 2.4.18 which is 64 bit. Then re-started my
apache instance which shows the below error. Initially, to compile apache
svn modules I used Apache 2.2.17 and used *–apxs option and passed 2.2.17
version of apxs file path*. But subversion 1.9.2 configure script shows
error like “*Apache version is too old*” and did not proceed. I don’t have
the error output now. So installed Apache latest 2.4.18 which is stable
version and compiled subversion 1.9.2 svn modules using option
*--with-apache-libexecdir[=PATH]
*and generated svn modules. While installing and compiling in test
environment, I was not aware that I have to check/verify the Architecture
dependency for Apache and Subversion. During that time I was using x86_64
bit downloaded version of Apache 2.4.18 and Subversion 1.9.2.

 *From the error it clearly says that I am using the 32-bit Apache and
loading the mod_dav_svn module which is compiled using 64-bit Apache and
Subversion.*

*-bash-4.2$ ./instancectl restart*

httpd: Syntax error on line 68 of
/local/appweb/apache/instances/us1salx00603.80/local.conf: Syntax error on
line 6 of /local/appweb/apache/instances/us1salx00603.80/logs/httpd.extras:
Syntax error on line 7 of
/local/appweb/apache/instances/us1salx00603.80/appconf/02-SVN-modules.conf:
Cannot load /local/appweb/apache/installs/2.2.17/modules/mod_dav_svn.so
into server: /local/appweb/apache/installs/2.2.17/modules/mod_dav_svn.so:
wrong ELF class: ELFCLASS64

us1salx00603.80 graceful: failed - error 1

 To resolve the above error and load svn modules, I need to compile the
32-bit svn modules. For this I need the 32 bit supported Apache and
Subversion. mod_dav_svn modules using 32-bit Apache and 32-bit Subversion.
But what I thought during choosing the package for download is based on
Linux Architecture. I was under impression that Redhat Linux has only
x86_64 bit and I have to use 64 bit supported files for install. So, now I
have 2 options left to make http work in the production server. I have
Redhat 7 server in the production.

1. Compile SVN modules using 32 bit to support my prod Apache
2.2.17/32-bit version. I need the correct version and architecture package
for Subversion 1.9.2 and Apache 2.2.17. Since svn 1.9.2 configure script
not taking the 2.2.17 Apache version, I believe I need to use the 2.4.18
apache 32 bit version. *Please correct me if I am wrong. Do I need to have
both Apache and subversion as 32 bit or just Apache alone as 32 bit
version. I doubt because compiling svn1.9 needs the apr/apr-util and
with-apxs options which uses the apache modules. The mod_dav_svn.so is
generated from the svn compilation and it uses the Apache modules.*

2. If at all my current Apache version 2.2.17 is not supported by
Subversion 1.9.2 then I have to install Apache 2.4.18 64-bit which is
already working. I read the INSTALL file inside the subversion
1.9.2.tar.bz2 file which say Apache 2.2.X is required. So believing it is
not right. I don’t know why it throws the error for me. So, would like to
know whether 2.2.17 is supported by Subversion 1.9.2 for http access and
ldap. *Or I have go with Apache 2.4.18 version.*

I am following the below URL for downloading and installing the packages.

http://www.linuxfromscratch.org/blfs/view/svn/general/subversion.html

 So, I have few other questions which you would be aware of and I am asking
the right community.

1. First question, In the below svn URL only one package is
available and importantly no separate package like 32 or 64 bit mentioned
for Linux platform. If my understanding is correct and since Apache is
loading the modules and not subversion only apache has to be installed 32
bit and use apxs point to 32 bit apxs tool in the subversion. [ URL:
https://subversion.apache.org/download.cgi#recommended-release]

2. Second question, If SVN has not 32/64 bit dependencies then why
is Apache needs to be compiled based on Architecture. I don’t know whether
my question is right/wrong. If there are any svn options specific to 32/64
bit, then what are those options.

3. Since Apache is used http support to access svn, I believe svn
group knows the options to compile 32 and 64 bit Apache. Could you share
the page/url where I can find the correct Apache options to use for
compilation? I did checked the ./configure options but not clear on what
options to use. I see option like below has to be used. But I need to know
the correct options. I don’t want to fail again. if this options is really
important then can this be included in the INSTALL file.

a. I found below options from google. But would like to know
whether this is correct or not. Any site where I can find more information.

CFLAGS="-m32" CPPFLAGS="-m32" LDFLAGS="-L/usr/lib32" ./configure
--prefix=/usr/local/apache2 --build=i686-unknown-linux-gnu
--enable-mode-shared=all build_alias=i686-unknown-linux-gnu
--enable-modules=all --enable-mods-shared=all --enable-so --enable-rewrite
--enable-auth-digest=shared --enable-proxy --enable-deflate
make
make install

4. To Compile Apache as 32/64 bit, are there any separate packages
or configure options like above will do the install for specific
architecture .

5. Fourth question, I am using Red Hat Enterprise Linux Server
release 7.1 (Maipo) / Linux 3.10.0-229.14.1.el7.x86_64 / x86_64 x86_64
x86_64 GNU/Linux. If I want to compile 32 bit Apache – will this work since
my server version is x86_64 bit. Even if 32 bit Apache works, is the
recommended to install in 86_64 architecture. Even if 32 bit Apache works
in my 64 bit linux, is there any impact. What’s your recommendation on this?

 Please bare my question if these don’t make sense and stupid. I am using
Linux for sometime now but not an expert in Linux os. Also there could be
some grammar or the sentence may not be complete enough for understanding. L

 *Apache 2.2.17 Prod: *This is the server where I am loading the svn
modules and seeing the error while loading.

-bash-4.2$ /local/appweb/apache/installs/2.2.17/bin/httpd -V

Server version: Apache/2.2.17 (Unix)

Server built: May 17 2011 17:52:38

Server's Module Magic Number: 20051115:25

Server loaded: APR 1.4.2, APR-Util 1.3.10

Compiled using: APR 1.4.2, APR-Util 1.3.10

*Architecture: 32-bit*

*Server MPM: Prefork*

  threaded: no

    forked: yes (variable process count)

Server compiled with....

 -D BIG_SECURITY_HOLE

 -D APACHE_MPM_DIR="server/mpm/prefork"

 -D APR_HAS_SENDFILE

 -D APR_HAS_MMAP

 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)

 -D APR_USE_SYSVSEM_SERIALIZE

 -D APR_USE_PTHREAD_SERIALIZE

 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT

 -D APR_HAS_OTHER_CHILD

 -D AP_HAVE_RELIABLE_PIPED_LOGS

 -D DYNAMIC_MODULE_LIMIT=128

 -D HTTPD_ROOT="/local/appweb/apache/installs/2.2.17"

 -D SUEXEC_BIN="/local/appweb/apache/installs/2.2.17/bin/suexec"

 -D DEFAULT_PIDLOG="logs/httpd.pid"

 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"

 -D DEFAULT_LOCKFILE="logs/accept.lock"

 -D DEFAULT_ERRORLOG="logs/error_log"

 -D AP_TYPES_CONFIG_FILE="conf/mime.types"

 -D SERVER_CONFIG_FILE="conf/httpd.conf"

*Production SVN version*

-bash-4.2$ ldd /local1/apps/pkg/svn-1.9.2/bin/svn

        linux-vdso.so.1 => (0x00007ffd104c5000)

        libsvn_client-1.so.0 =>
/local1/apps/pkg/svn-1.9.2/lib/libsvn_client-1.so.0 (0x00007fdee5662000)

        libsvn_wc-1.so.0 => /local1/apps/pkg/svn-1.9.2/lib/libsvn_wc-1.so.0
(0x00007fdee53ab000)

        libsvn_ra-1.so.0 => /local1/apps/pkg/svn-1.9.2/lib/libsvn_ra-1.so.0
(0x00007fdee519d000)

        libsvn_diff-1.so.0 =>
/local1/apps/pkg/svn-1.9.2/lib/libsvn_diff-1.so.0 (0x00007fdee4f87000)

        libsvn_ra_local-1.so.0 =>
/local1/apps/pkg/svn-1.9.2/lib/libsvn_ra_local-1.so.0 (0x00007fdee4d7c000)

        libsvn_repos-1.so.0 =>
/local1/apps/pkg/svn-1.9.2/lib/libsvn_repos-1.so.0 (0x00007fdee4b45000)

        libsvn_fs-1.so.0 => /local1/apps/pkg/svn-1.9.2/lib/libsvn_fs-1.so.0
(0x00007fdee4939000)

        libsvn_fs_fs-1.so.0 =>
/local1/apps/pkg/svn-1.9.2/lib/libsvn_fs_fs-1.so.0 (0x00007fdee46e9000)

        libsvn_fs_x-1.so.0 =>
/local1/apps/pkg/svn-1.9.2/lib/libsvn_fs_x-1.so.0 (0x00007fdee4496000)

        libsvn_fs_util-1.so.0 =>
/local1/apps/pkg/svn-1.9.2/lib/libsvn_fs_util-1.so.0 (0x00007fdee4293000)

        libsvn_ra_svn-1.so.0 =>
/local1/apps/pkg/svn-1.9.2/lib/libsvn_ra_svn-1.so.0 (0x00007fdee4072000)

        libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007fdee3e35000)

        libsvn_delta-1.so.0 =>
/local1/apps/pkg/svn-1.9.2/lib/libsvn_delta-1.so.0 (0x00007fdee3c22000)

        libsvn_subr-1.so.0 =>
/local1/apps/pkg/svn-1.9.2/lib/libsvn_subr-1.so.0 (0x00007fdee3862000)

        libz.so.1 => /lib64/libz.so.1 (0x00007fdee364c000)

        libaprutil-1.so.0 =>
/local1/apps/pkg/apr-config/lib/libaprutil-1.so.0 (0x00007fdee3426000)

        libexpat.so.1 => /lib64/libexpat.so.1 (0x00007fdee31fb000)

        libapr-1.so.0 => /local1/apps/pkg/apr-config/lib/libapr-1.so.0
(0x00007fdee2fc8000)

        libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fdee2dc3000)

        librt.so.1 => /lib64/librt.so.1 (0x00007fdee2bba000)

        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fdee2983000)

        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fdee2767000)

        libdl.so.2 => /lib64/libdl.so.2 (0x00007fdee2562000)

        libc.so.6 => /lib64/libc.so.6 (0x00007fdee21a1000)

        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fdee1f86000)

        /lib64/ld-linux-x86-64.so.2 (0x00007fdee58cf000)

        libfreebl3.so => /lib64/libfreebl3.so (0x00007fdee1d82000)

*Apache version and configuration where I have compiled svn modules in test
env *

*Apr*

./configure --prefix=/local/apps/pkgs/apr-config-2 --disable-static
--with-installbuilddir=/local/apps/pkgs/apr-config-2/build

*Apr-util*

./configure --prefix=/local/apps/pkgs/apr-config-2
--with-apr=/local/apps/pkgs/apr-config-2
--with-gdbm=/local/apps/pkgs/apr-config-2
--with-openssl=/local/apps/pkgs/openssl-1.0.2e --with-crypto --with-ldap

*Apache*

./configure --prefix=/local/apps/pkgs/apache/httpd2.4.18_ldap
--enable-authnz-ldap -enable-mpms-shared=all
--with-apr=/local/apps/pkgs/apr-config-2
--with-apr-util=/local/apps/pkgs/apr-config-2
--with-pcre=/local/apps/pkgs/pcre-8.38

Apache configuration:

-bash-4.1$ /local/apps/pkgs/apache/httpd2.4.18_ldap/bin/httpd -V

Server version: Apache/2.4.18 (Unix)

Server built: Jan 7 2016 05:03:44

Server's Module Magic Number: 20120211:52

Server loaded: APR 1.5.2, APR-UTIL 1.5.4

Compiled using: APR 1.5.2, APR-UTIL 1.5.4

*Architecture: 64-bit*

*Server MPM: event*

  threaded: yes (fixed thread count)

    forked: yes (variable process count)

Server compiled with....

 -D APR_HAS_SENDFILE

 -D APR_HAS_MMAP

 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)

 -D APR_USE_SYSVSEM_SERIALIZE

 -D APR_USE_PTHREAD_SERIALIZE

 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT

 -D APR_HAS_OTHER_CHILD

 -D AP_HAVE_RELIABLE_PIPED_LOGS

 -D DYNAMIC_MODULE_LIMIT=256

 -D HTTPD_ROOT="/local/apps/pkgs/apache/httpd2.4.18_ldap"

 -D SUEXEC_BIN="/local/apps/pkgs/apache/httpd2.4.18_ldap/bin/suexec"

 -D DEFAULT_PIDLOG="logs/httpd.pid"

 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"

 -D DEFAULT_ERRORLOG="logs/error_log"

 -D AP_TYPES_CONFIG_FILE="conf/mime.types"

 -D SERVER_CONFIG_FILE="conf/httpd.conf"

Regards,

Arun

On Thu, Dec 24, 2015 at 9:59 AM, Ryan Schmidt <
subversion-2015_at_ryandesign.com> wrote:

>
> On Dec 23, 2015, at 5:26 AM, arun prasath wrote:
>
> > I have already setup the SVN using compile options using apr, apr-util
> and sqlite custom install and my svnserve is running.
> >
> > So, for using http for READ only access to svn repository path,
> Installing Apache with mod_dav_svn should provide access to svn repository.
> > (OR ) Do I need to install Subversion with Apache APR modules. I hope
> this is not required since mod_dav_svn will talk to repository and provide
> read access through http.
> >
> > What I understood is, Configuring Apache http(2.2.14 and above
> preferably) and having mod_dav_svn, mod_*_authz packages should server my
> repository path for READ only access to SVN repository. For this I don't
> need Subversion installed.
> >
> > Please correct me If my understanding is correct. I am asking this
> question since Apache will be installed first and Subversion will be
> installed second with Apr installed in Apache.
>
>
> mod_dav_svn is a part of the software called Subversion (or more properly:
> Apache Subversion, since it is owned by the Apache Software Foundation). So
> are the Subversion command line programs (including svn, svnadmin, svnlook,
> svnsync and others) and the Subversion libraries (including libsvn_base,
> libsvn_client, libsvn_delta and others).
>
> You don't need the Subversion command line programs to use Apache httpd
> and mod_dav_svn, but you do need the Subversion libraries. You also need
> mod_dav_svn to have been built for the same version of Apache httpd you're
> going to run. This is easy if you build from source, but if you're
> installing pre-compiled binaries make sure they're properly matched.
>
> Both Apache httpd and Apache Subversion require the Apache Portable
> Runtime (apr) and the Apache Portable Runtime Utility (apr-util). It's
> probably a good idea to use the same apr and apr-util libraries for
> everything. Again, this will probably take care of itself if you build from
> source, but verify this if you install a binary.
>
>
>
Received on 2016-01-08 13:07:36 CET

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.