You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Matt England <me...@mengland.net> on 2005/09/26 15:22:20 UTC
Minimal build instructions for svnserver & fsfs only?
Hello,
I have a Subversion 1.2.0-RC1 server running on my Redhat9 system. I run
only svnserve- and fsfs-based capabilities. I want zero
dependencies/interaction with Apache or BerkleyDB; in short, I like my
Subversion running with minimally "dependencies." My current configuration
calls for lots of svn+ssh: client looks (and WebSVN stuff)...and that's
it. Nothing else.
Unfortunately, I forgot to write down my build process to get my 1.2.0-RC1
to build like this. I'm looking to document the procedure.
I am presuming that I can build such a Subversion binary set from a 1.2.3
source tarball without little if any dependencies on Apache, apr, neon,
bdb, dav, or any of the similar stuff outside of the extracted
subversion-1.2.3 directory?
Also, how can I force autogen.sh or configure to make build files that only
allow non-Apache and non-bdb stuff?
Here's the process as I see it right now:
1) extract the tarball
2) cd into subversion-x.y.z
3) sh ./autogen.sh
4) ./configure
5) make
6) make check
7) make install
Prior to executing this, delete any /usr/local/lib/libsvn*
files. Presumably with the "minimal" builds, I won't need to delete
anything else, correct?
The problem with the above procedure for 1.2.3: the ./configure takes
**forever**. This leads me to suspect that there are build processes for
other things (apr, Apache, dav, bdb, whatever) going on __that I
specifically do not want__.
So...I author this email.
Any tips, guidance?
Thanks for any help,
-Matt
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Minimal build instructions for svnserver & fsfs only?
Posted by Matt England <me...@mengland.net>.
Summary:
Do I need the --with-apr and --with-apr-util switches?
Details:
Ok, I'm getting closer, but now I'm getting an error with my ./configure line.
First the procedure:
1) extract the tarball for subversion-x.y.z
2) cd into subversion-x.y.z
3) ./configure --without-berkeley-db --with-apr=/usr --with-apr-util=/usr
--prefix=<prefix>
4) make
5) make check
6) delete <prefix>/lib/libsvn*
7) make install
(Berkeley now spelled correctly. :)
Details at the end of this email. It complains about the APR config:
"
configure: Apache Portable Runtime (APR) library configuration
checking for APR... configure: error: the --with-apr parameter is
incorrect. It must specify an install prefix, a build directory, or an
apr-config file.
"
My guess is there is some source dependency for this apr stuff...and I
don't have the src rpms install for apr nor apr-util...but I'm not
sure. /usr/include/httpd/apr* stuff exists...but I'm not sure what that means.
In any case, is there any reason why I can't just use the apr and apr-util
dirs in the my subversion source extracted tarball? Does this make the
params "--with-arp=. --with-apr-util=." ...or do I simply not provide the
params and it defaults to the stuff in the subversion tarball extract? I
presume the latter and will run it this way...but it's hard to tell via the
cmdline output, and so I thought I'd double check here.
-Matt
------------------------ install cmdline details as promised
---------------------------
mengland@example 5:08pm [...builds/subversion-1.2.3] 19> ./configure
--without-berkeley-db --with-apr=/usr --with-apr-util=/usr --prefix=/usr/local
configure: Configuring Subversion 1.2.3
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
configure: creating config.nice
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking whether ln -s works... yes
configure: Apache Portable Runtime (APR) library configuration
checking for APR... configure: error: the --with-apr parameter is
incorrect. It must specify an install prefix, a build directory, or an
apr-config file.
mengland@example 5:09pm [...builds/subversion-1.2.3] 20> pwd
/home/builds/subversion-1.2.3
mengland@example 5:09pm [...builds/subversion-1.2.3] 21> uname -a
Linux example.com 2.4.20-021stab028.17.777-enterprise #1 SMP Tue Jul 19
19:31:27 MSD 2005 i686 i686 i386 GNU/Linux
mengland@example 5:09pm [...builds/subversion-1.2.3] 22> date
Mon Sep 26 17:09:50 CDT 2005
mengland@example 5:09pm [...builds/subversion-1.2.3] 23>
mengland@example 5:10pm [...builds/subversion-1.2.3] 23> ls -ld
/usr/lib/libapr*
1 lrwxrwxrwx 1 root root 15 Oct 22 2004
/usr/lib/libapr.so -> libapr.so.0.0.0*
1 lrwxrwxrwx 1 root root 15 Aug 31 2004
/usr/lib/libapr.so.0 -> libapr.so.0.0.0*
1223 -rwxr-xr-x 1 root root 1247912 Jun 4 2004
/usr/lib/libapr.so.0.0.0*
1 lrwxrwxrwx 1 root root 19 Oct 22 2004
/usr/lib/libaprutil.so -> libaprutil.so.0.0.0*
1 lrwxrwxrwx 1 root root 19 Aug 31 2004
/usr/lib/libaprutil.so.0 -> libaprutil.so.0.0.0*
682 -rwxr-xr-x 1 root root 694434 Jun 4 2004
/usr/lib/libaprutil.so.0.0.0*
mengland@example 5:10pm [...builds/subversion-1.2.3] 24>
mengland@biz2tek 5:32pm [/usr/include] 36> date
Mon Sep 26 17:32:42 CDT 2005
mengland@biz2tek 5:32pm [/usr/include] 37> pwd
/usr/include
mengland@biz2tek 5:32pm [/usr/include] 38> find . -iname apr.h
./httpd/apr.h
mengland@biz2tek 5:32pm [/usr/include] 39> ls httpd
total 1233
1 ap_compat.h 5 apr_optional.h 5 http_main.h
12 ap_config.h 6 apr_optional_hooks.h 29 http_protocol.h
6 ap_config_auto.h 13 apr_poll.h 18 http_request.h
5 ap_config_layout.h 26 apr_pools.h 5 http_vhost.h
6 ap_listen.h 20 apr_portable.h 61 httpd.h
7 ap_mmn.h 7 apr_proc_mutex.h 5 mod_cgi.h
11 ap_mpm.h 6 apr_reslist.h 5 mod_core.h
12 ap_regkey.h 19 apr_ring.h 87 mod_dav.h
4 ap_release.h 7 apr_rmm.h 13 mod_include.h
11 apr.h 9 apr_sdbm.h 4 mod_log_config.h
9 apr_allocator.h 6 apr_sha1.h 12 mod_proxy.h
7 apr_anylock.h 7 apr_shm.h 25 mod_ssl.h
11 apr_atomic.h 5 apr_signal.h 4 mpm.h
6 apr_base64.h 15 apr_strings.h 12 mpm_common.h
57 apr_buckets.h 5 apr_strmatch.h 4 mpm_default.h
9 apr_compat.h 4 apr_support.h 3 os.h
6 apr_date.h 18 apr_tables.h 3 pcreposix.h
12 apr_dbm.h 7 apr_thread_cond.h 4 rfc1413.h
5 apr_dso.h 6 apr_thread_mutex.h 11 scoreboard.h
50 apr_errno.h 30 apr_thread_proc.h 5 ssl_expr.h
16 apr_file_info.h 7 apr_thread_rwlock.h 1 ssl_expr_parse.h
31 apr_file_io.h 11 apr_time.h 7 ssl_toolkit_compat.h
4 apr_fnmatch.h 10 apr_uri.h 5 ssl_util_ssl.h
10 apr_general.h 9 apr_user.h 11 ssl_util_table.h
9 apr_getopt.h 4 apr_uuid.h 6 unixd.h
9 apr_global_mutex.h 5 apr_version.h 5 util_cfgtree.h
10 apr_hash.h 5 apr_want.h 4 util_charset.h
12 apr_hooks.h 9 apr_xlate.h 5 util_ebcdic.h
4 apr_inherit.h 15 apr_xml.h 23 util_filter.h
5 apr_ldap.h 5 apu.h 15 util_ldap.h
10 apr_lib.h 7 apu_compat.h 5 util_md5.h
7 apr_md4.h 42 http_config.h 9 util_script.h
7 apr_md5.h 7 http_connection.h 5 util_time.h
9 apr_mmap.h 23 http_core.h 4 util_xml.h
29 apr_network_io.h 14 http_log.h
mengland@biz2tek 5:35pm [/usr/include] 40>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Minimal build instructions for svnserver & fsfs only?
Posted by Eric Hanchrow <of...@blarg.net>.
>>>>> "Matt" == Matt England <me...@mengland.net> writes:
Matt> Hello, I have a Subversion 1.2.0-RC1 server running on my
Matt> Redhat9 system. I run only svnserve- and fsfs-based
Matt> capabilities. I want zero dependencies/interaction with
Matt> Apache or Berkley DB
I don't think it's possible to entirely eliminate dependencies on
Berkeley DB: subversion depends on apr (the "Apache portable runtime",
which despite the name is not actually Apache), which itself depends
on Berkeley DB.
--
I've laid out in my will that my heirs should continue working
on my .emacs
-- johnw
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Minimal build instructions for svnserver & fsfs only?
Posted by Matt England <me...@mengland.net>.
At 9/26/2005 10:50 PM, Bob Proulx wrote:
>Because you say you are running on a GNU/Linux and would normally use
>shared libraries there I would use the following configure options:
>
> ./configure --without-berkeley-db
>
>Then check the resulting shared libraries that are linked against the
>svn binary.
>
> ldd svn
Ahh, this seems to make sense. Very helpful.
Additionally note: I found (via ldd) I had a ton of dependencies on
external, old svn/apr/etc libs...and hence I probably need (or at least I
presume) to update the procedure to delete said libs in advance prior to
running the build. Updated procedure follows.
Also: I want to run Dale Hirt's (sp?) python script to merge repositories,
hence I want to install the python bindings. Should I run the 'make
swig-py' and 'make install-swig-py' commands at the end of the procedure as
per below?
1) delete the following from <prefix>/lib: libsvn*, libapr*, libneon*
2) extract the tarball for subversion-x.y.z
3) cd into subversion-x.y.z
4) ./configure --without-berkeley-db --prefix=<prefix>
5) make
6) make check
7) make install
8) make swig-py
9) make install-swig-py
Unfortunately, this brings down the existing server for the duration of the
build. No fun, but hence I'm up early in the morning so as to not break
stuff for my developers.
Is my analysis and procedure correct?
-Matt
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Minimal build instructions for svnserver & fsfs only?
Posted by Bob Proulx <bo...@proulx.com>.
Matt England wrote:
> Himanshu Gohel wrote:
> >This is my config that builds on SGI IRIX:
> >
> >./configure -C --disable-nls --without-berkeley-db
> >--disable-mod-activation --without-be --without-axps --enable-all-static
> >--disable-shared
My configure options that build on HP-UX are the following:
./configure \
--without-berkeley-db \
--disable-nls \
--disable-shared
> >I'm not quite sure what "--without-be" does, but it was suggested to me by
> >another IRIX user. Maybe someone on this list can say more about it.
I don't see that in the --help output. But it looks to be a substring
of --without-berkeley-db. Perhaps it is redundant with your inclusion
of that?
> Interesting. How/where can I read more about what all these
> packages/things (nls, mod-activation, be, axps, shared) do and/or how they
> are used? I'd like to disable as much stuff as possible (and therefore
> remove as many functional dependencies as possible)...but I don't want to
> shoot myself in the foot (eg, break the existing Subversion-based
> mechanisms/processes we already have in place) in the process.
Because you say you are running on a GNU/Linux and would normally use
shared libraries there I would use the following configure options:
./configure --without-berkeley-db
Then check the resulting shared libraries that are linked against the
svn binary.
ldd svn
Bob
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
RE: Minimal build instructions for svnserver & fsfs only?
Posted by Matt England <me...@mengland.net>.
At 9/26/2005 10:17 PM, Himanshu Gohel wrote:
> > Interesting. How/where can I read more about what all these
> > packages/things (nls, mod-activation, be, axps, shared) do
> > and/or how they are used?
>
>Matt,
>
>Part of the answer there was in what you snipped:
Part of it, but a very small part as per the excerpt below. It lists just
a couple packages, ones that I know a little about already; however I don't
know what those things do, nor what happens when they are disabled. Also,
some packages are not even listed (eg, the "nls" package) and for those I
have even less info.
I'm curious if there's a doc set somewhere that describes all these
packages? I have yet to see anything in any docs (although I have yet to
do a thorough search--I was hoping someone here would point me in the right
direction).
-Matt
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-apr=PATH prefix for installed APR, path to APR build tree,
or the full path to apr-config
--with-apr-util=PATH prefix for installed APU, path to APU build tree,
or the full path to apu-config
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
--with-pic try to use only PIC/non-PIC objects [default=use
both]
--with-tags[=TAGS]
include additional configurations [automatic]
--with-neon=PREFIX Determine neon library configuration based on
'PREFIX/bin/neon-config'. Default is to search for
neon in a subdirectory of the top source directory
and then to look for neon-config in $PATH.
--with-apache=DIR Build static Apache module. DIR is the path to the
top-level Apache source directory.
--with-apxs[=FILE] Build shared Apache module. FILE is the optional
pathname to the Apache apxs tool; defaults to
"apxs".
--with-berkeley-db=PATH
The Subversion Berkeley DB based filesystem library
requires Berkeley DB $db_version or newer. If you
specify `--without-berkeley-db', that library will
not be built. Otherwise, the configure script
builds
that library if and only if APR-UTIL is linked
against a new enough version of Berkeley DB.
If and only if you are building APR-UTIL as part of
the Subversion build process, you may help APR-UTIL
to find the correct Berkeley DB installation by
passing a PATH to this option, to cause APR-UTIL to
look for the Berkeley DB header and library in
`PATH/include' and `PATH/lib'. If PATH is of the
form `HEADER:LIB', then search for header files in
HEADER, and the library in LIB. If you omit the
`=PATH' part completely, the configure script will
search for Berkeley DB in a number of standard
places.
--with-ssl This option does NOT affect the Subversion build
process in any way. It enables OpenSSL support in
the Neon library. If and only if you are building
Neon as an integrated part of the Subversion build
process, rather than linking to an already installed
version of Neon, you probably want to pass this
option so that Neon (and so indirectly, Subversion)
will be capable of https:// access.
--with-editor=PATH Specify a default editor for the subversion client.
--with-zlib enable zlib support
--with-jdk=PATH Try to use 'PATH/include' to find the JNI headers.
If PATH is not specified, look for a Java
Development Kit at JAVA_HOME.
--with-jikes=PATH Specify the path to a jikes binary to use it as your
Java compiler. The default is to look for jikes
(PATH optional). This behavior can be switched off
by supplying 'no'.
--with-swig=PATH Try to use 'PATH/bin/swig' to build the swig
bindings. If PATH is not specified, look for a
'swig' binary in your PATH.
--with-ruby-sitedir=SITEDIR
install Ruby bindings in SITEDIR (default is same as
ruby's one)
--with-junit=PATH Specify a path to the junit JAR file.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
RE: Minimal build instructions for svnserver & fsfs only?
Posted by Matt England <me...@mengland.net>.
At 9/26/2005 06:55 PM, Himanshu Gohel wrote:
>This is my config that builds on SGI IRIX:
>
>./configure -C --disable-nls --without-berkeley-db
>--disable-mod-activation --without-be --without-axps --enable-all-static
>--disable-shared
>
>I'm not quite sure what "--without-be" does, but it was suggested to me by
>another IRIX user. Maybe someone on this list can say more about it.
Interesting. How/where can I read more about what all these
packages/things (nls, mod-activation, be, axps, shared) do and/or how they
are used? I'd like to disable as much stuff as possible (and therefore
remove as many functional dependencies as possible)...but I don't want to
shoot myself in the foot (eg, break the existing Subversion-based
mechanisms/processes we already have in place) in the process.
-Matt
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
RE: Minimal build instructions for svnserver & fsfs only?
Posted by Himanshu Gohel <go...@cse.usf.edu>.
> From: Matt England [mailto:mengland@mengland.net]
>
> I have a Subversion 1.2.0-RC1 server running on my Redhat9
> system. I run only svnserve- and fsfs-based capabilities. I want zero
> dependencies/interaction with Apache or BerkleyDB; in short,
> I like my Subversion running with minimally "dependencies." My current
> configuration calls for lots of svn+ssh: client looks (and WebSVN
> stuff)...and that's it. Nothing else.
If you type in "./configure --help" you will get a list of options that you
can use. This is my config that builds on SGI IRIX:
./configure -C --disable-nls --without-berkeley-db --disable-mod-activation
--without-be --without-axps --enable-all-static --disable-shared
I'm not quite sure what "--without-be" does, but it was suggested to me by
another IRIX user. Maybe someone on this list can say more about it.
--
Himanshu
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org