You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Karl Fogel <kf...@newton.ch.collab.net> on 2002/08/05 20:02:39 UTC

Re: BUG: Error in the INSTALL doc

Jani Averbach <ja...@cc.jyu.fi> writes:
> less -N INSTALL (r. 1721)
> 
>    329        Unpack it, and use the standard GNU procedure to compile:
>    330
>    331            $ ./configure --enable-maintainer-mode --disable-shared
>    332            $ make
>    333
>    334        (The first switch to ./configure turns on debugging, and the
>    335         second switch builds a statically-linked client binary.)
> 
> However, this produce dynamically linked binary, when there are
> subversion's libraries statically linked inside of it.
> 
> Strickly speaking, this kind of binary isn't statically linked client
> binary.

Hmmm, yeah.

Can you write some alternate language for the INSTALL file and post
the patch?

Thanks,
-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: BUG: Error in the INSTALL doc

Posted by Daniele Nicolodi <da...@grinta.net>.
On Fri, Aug 09, 2002 at 03:33:58PM -0500, Karl Fogel wrote:
> Daniele Nicolodi <da...@grinta.net> writes:
> > Better patch, same log:
> 
> Sorry, what log?  The subject line refers to an error in the INSTALL
> doc, but the patch below is to Makefile.in and configure.in.
> 
> Threads do drift, and it's not always clear when to change the subject
> line, I understand...  just trying to straighten things out here.  I
> can tell this adds the `--enable-all-static' flag to configuration,
> but it would help to have your log message anyway.  (Always post it
> with the patch, so everything's together in one email...)

Original bug report from Jani Averbach <ja...@cc.jyu.fi>:

> Hi!
> 
> less -N INSTALL (r. 1721)
> 
>   329        Unpack it, and use the standard GNU procedure to compile:
>   330
>   331            $ ./configure --enable-maintainer-mode --disable-shared
>   332            $ make
>   333
>   334        (The first switch to ./configure turns on debugging, and the
>   335         second switch builds a statically-linked client binary.)  
>
> However, this produce dynamically linked binary, when there are
> subversion's libraries statically linked inside of it.
> 
> Strickly speaking, this kind of binary isn't statically linked client
> binary.

Aftar that report we have agrred that this it the correct beviatour. To
produce a full static binary we need to pass the -all-static flag to
libtool. Then my patch. I haven't changed INSTALL to explain this
because me english is very bad and i can make any sort of error writing
in that language.

Here the log:

Make a new --enable-all-static configure switch to turn on the build of
full static binaries.

* configure.in
  (AC_ARG_ENABLE(all-static, ...)): New macro.

* Makefile.in
  (LINK): changed the order of variables that compose that command to
          place -all-static in the right place
  (LINK_APACHE_MOD): removed $LT_LDLIBS from that command because
                     -all-static hasen't sense here.

Attached there is the patch.

Ciao
-- 
Daniele
		    --- http://www.grinta.net ---

Re: BUG: Error in the INSTALL doc

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
Daniele Nicolodi <da...@grinta.net> writes:
> Better patch, same log:

Sorry, what log?  The subject line refers to an error in the INSTALL
doc, but the patch below is to Makefile.in and configure.in.

Threads do drift, and it's not always clear when to change the subject
line, I understand...  just trying to straighten things out here.  I
can tell this adds the `--enable-all-static' flag to configuration,
but it would help to have your log message anyway.  (Always post it
with the patch, so everything's together in one email...)

Thanks,
-Karl

> Index: ./Makefile.in
> ===================================================================
> --- ./Makefile.in
> +++ ./Makefile.in       2002-08-09 02:26:20.000000000 +0200
> @@ -44,7 +44,7 @@
>  SHELL = @SHELL@
>  LIBTOOL = $(SHELL) $(abs_builddir)/libtool
>  LTFLAGS = --silent
> -LT_LDFLAGS =
> +LT_LDFLAGS = @LT_LDFLAGS@
>  
>  INCLUDES = @SVN_EXTRA_INCLUDES@ @SVN_NEON_INCLUDES@ \
>                 @SVN_DB_INCLUDES@ @SVN_APR_INCLUDES@
> @SVN_APRUTIL_INCLUDES@
> @@ -70,8 +70,8 @@
>  # special SWIG compilation
>  COMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) -DSWIGPYTHON $(CFLAGS) $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@
> -c $<
>  
> -LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(LT_LDFLAGS) $(COMPILE) $(LDFLAGS) -rpath $(libdir)
> -LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(LT_LDFLAGS) $(COMPILE) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR)
> +LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LT_LDFLAGS) $(LDFLAGS) -rpath $(libdir)
> +LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR)
>  
>  INSTALL = @INSTALL@
>  INSTALL_LIB = $(LIBTOOL) --mode=install $(INSTALL)
> Index: ./configure.in
> ===================================================================
> --- ./configure.in
> +++ ./configure.in      2002-08-09 01:34:12.000000000 +0200
> @@ -108,6 +108,17 @@
>  echo "configuring libtool now"
>  AC_PROG_LIBTOOL
>  
> +dnl Before configuring libtool check for --enable-all-static option
> +AC_ARG_ENABLE(all-static,
> +[  --enable-all-static build completely static (standalone) binaries],
> +[
> +    if test "$enableval" = "yes" ; then
> +       LT_LDFLAGS="-all-static $LT_LDFLAGS"
> +    fi
> +])
> +
> +AC_SUBST(LT_LDFLAGS)
> +
>  NEON_WANTED_REGEX="`sed -n '/NEON_WANTED_REGEX=/s/.*=//p'
> $srcdir/build/buildcheck.sh`"
>  dnl You can skip the neon version check only if you know what you are doing 
>  AC_ARG_ENABLE(neon-version-check,
> 
> 
> 
> Ciao
> -- 
> Daniele
> 		    --- http://www.grinta.net ---
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: BUG: Error in the INSTALL doc

Posted by Daniele Nicolodi <da...@grinta.net>.
On Thu, Aug 08, 2002 at 04:15:29PM +0200, Daniele Nicolodi wrote:

Better patch, same log:


Index: ./Makefile.in
===================================================================
--- ./Makefile.in
+++ ./Makefile.in       2002-08-09 02:26:20.000000000 +0200
@@ -44,7 +44,7 @@
 SHELL = @SHELL@
 LIBTOOL = $(SHELL) $(abs_builddir)/libtool
 LTFLAGS = --silent
-LT_LDFLAGS =
+LT_LDFLAGS = @LT_LDFLAGS@
 
 INCLUDES = @SVN_EXTRA_INCLUDES@ @SVN_NEON_INCLUDES@ \
                @SVN_DB_INCLUDES@ @SVN_APR_INCLUDES@
@SVN_APRUTIL_INCLUDES@
@@ -70,8 +70,8 @@
 # special SWIG compilation
 COMPILE_SWIG_PY = $(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) $(CPPFLAGS) -DSWIGPYTHON $(CFLAGS) $(SWIG_PY_INCLUDES) $(INCLUDES) -o $@
-c $<
 
-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(LT_LDFLAGS) $(COMPILE) $(LDFLAGS) -rpath $(libdir)
-LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(LT_LDFLAGS) $(COMPILE) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR)
+LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LT_LDFLAGS) $(LDFLAGS) -rpath $(libdir)
+LINK_APACHE_MOD = $(LIBTOOL) $(LTFLAGS) --mode=link $(COMPILE) $(LDFLAGS) -rpath $(APACHE_LIBEXECDIR)
 
 INSTALL = @INSTALL@
 INSTALL_LIB = $(LIBTOOL) --mode=install $(INSTALL)
Index: ./configure.in
===================================================================
--- ./configure.in
+++ ./configure.in      2002-08-09 01:34:12.000000000 +0200
@@ -108,6 +108,17 @@
 echo "configuring libtool now"
 AC_PROG_LIBTOOL
 
+dnl Before configuring libtool check for --enable-all-static option
+AC_ARG_ENABLE(all-static,
+[  --enable-all-static build completely static (standalone) binaries],
+[
+    if test "$enableval" = "yes" ; then
+       LT_LDFLAGS="-all-static $LT_LDFLAGS"
+    fi
+])
+
+AC_SUBST(LT_LDFLAGS)
+
 NEON_WANTED_REGEX="`sed -n '/NEON_WANTED_REGEX=/s/.*=//p'
$srcdir/build/buildcheck.sh`"
 dnl You can skip the neon version check only if you know what you are doing 
 AC_ARG_ENABLE(neon-version-check,



Ciao
-- 
Daniele
		    --- http://www.grinta.net ---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: BUG: Error in the INSTALL doc

Posted by Daniele Nicolodi <da...@grinta.net>.
On Mon, Aug 05, 2002 at 04:43:02PM -0500, Karl Fogel wrote:

> > I haven't any knoweledge of autoconf and automake so if you want me to
> > supply a path this could take a lot of time.
> 
> Okay; is anyone else feeling up to this?

I have acked up this solution:

Log:

Make a new --enable-all-static configure switch to turn on the build of
true static binaries.

* configure.in 
  (AC_ARG_ENABLE(all-static, ...)): New macro.

Patch:

ndex: ./configure.in
===================================================================
--- ./configure.in
+++ ./configure.in      2002-08-08 16:02:30.000000000 +0200
@@ -106,6 +106,18 @@
 
 dnl Check for libtool -- we'll definitely need it for all our shared
libs!
 echo "configuring libtool now"
+
+dnl Before configuring libtool check for --enable-all-static option
+AC_ARG_ENABLE(all-static,
+[  --enable-all-static build completely static (standalone) binaries],
+[
+    if test "$enableval" = "yes" ; then
+      AC_ENABLE_STATIC(yes)
+      AC_DISABLE_SHARED(yes)
+      LDFLAGS="-all-static $LD_FLAGS"
+    fi
+])
+
 AC_PROG_LIBTOOL
 
 NEON_WANTED_REGEX="`sed -n '/NEON_WANTED_REGEX=/s/.*=//p' $srcdir/build/buildcheck.sh`"


Ciao
-- 
Daniele
		    --- http://www.grinta.net ---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: BUG: Error in the INSTALL doc

Posted by Karl Fogel <kf...@newton.ch.collab.net>.
Daniele Nicolodi <da...@grinta.net> writes:
> > Can you write some alternate language for the INSTALL file and post
> > the patch?
> 
> What about to add a configure switch to build a standalone client (and
> standalone svnadmin and svnlook) ?? At this time to do this you must
> edit your Makefile and add -all-static to LINK variable by hand.

Maybe that would be a better solution, since our intention in
documenting "--disable-shared" was probably to get a completely static
binary.

> You cannot use ``configure LDFLAGS=-all-static`` because in this way the
> configure check for a working compiler fails (?? i think that there is 
> something wronk here).

Gack.

> I haven't any knoweledge of autoconf and automake so if you want me to
> supply a path this could take a lot of time.

Okay; is anyone else feeling up to this?

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: BUG: Error in the INSTALL doc

Posted by Daniele Nicolodi <da...@grinta.net>.
On Mon, Aug 05, 2002 at 03:02:39PM -0500, Karl Fogel wrote:
> Jani Averbach <ja...@cc.jyu.fi> writes:
> > less -N INSTALL (r. 1721)
> > 
> >    329        Unpack it, and use the standard GNU procedure to compile:
> >    330
> >    331            $ ./configure --enable-maintainer-mode --disable-shared
> >    332            $ make
> >    333
> >    334        (The first switch to ./configure turns on debugging, and the
> >    335         second switch builds a statically-linked client binary.)
> > 
> > However, this produce dynamically linked binary, when there are
> > subversion's libraries statically linked inside of it.
> > 
> > Strickly speaking, this kind of binary isn't statically linked client
> > binary.
> 
> Hmmm, yeah.
> 
> Can you write some alternate language for the INSTALL file and post
> the patch?

What about to add a configure switch to build a standalone client (and
standalone svnadmin and svnlook) ?? At this time to do this you must
edit your Makefile and add -all-static to LINK variable by hand.

You cannot use ``configure LDFLAGS=-all-static`` because in this way the
configure check for a working compiler fails (?? i think that there is 
something wronk here).

I haven't any knoweledge of autoconf and automake so if you want me to
supply a path this could take a lot of time.

Ciao
-- 
Daniele
		    --- http://www.grinta.net ---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org