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-2...@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. > > >