You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Mo DeJong <su...@bayarea.net> on 2001/09/10 19:17:31 UTC

It is time to upgrade to autoconf 2.50 and libtool 1.4.

Hi all.

Now would be the perfect time to upgrade subversion to the
most recent stable releases of autoconf and libtool. We were
waiting until an issue in apr had been resolved, and the
good news is that it is no longer a problem since apr
no longer tries to build in the shmem/unix/mm dir.
I noticed there were some autoconf/libtool related
complaints recently on the list, this patch should
make many of them go away.

Upgrading will be easy, you just apply the following
patch and add the attached buildcheck.sh file to
the toplevel subversion dir. We need our own
buildcheck.sh file so that we can require autoconf
2.50 and libtool 1.4.

Also, could someone make sure the new buildcheck.sh
and the existing autogen.sh have the execute bit set?

cheers
Mo DeJong

Re: It is time to upgrade to autoconf 2.50 and libtool 1.4.

Posted by Wonko The Sane <ic...@bayarea.net>.
On 10 Sep 2001 14:20:00 -0500
Ben Collins-Sussman <su...@collab.net> wrote:

> Mo DeJong <su...@bayarea.net> writes:
> 
> > Now would be the perfect time to upgrade subversion to the
> > most recent stable releases of autoconf and libtool. We were
> > waiting until an issue in apr had been resolved, and the
> > good news is that it is no longer a problem since apr
> > no longer tries to build in the shmem/unix/mm dir.
> > I noticed there were some autoconf/libtool related
> > complaints recently on the list, this patch should
> > make many of them go away.
> 
> I thought Subversion was waiting for APR to move to the latest
> autoconf/libtool;  are you saying that APR now works with autoconf
> 2.50 and libtool 1.4?  I just had heard any news of this on the APR
> dev list.  On the other hand, I wasn't following this svn thread
> closely either.  :-)

We were just waiting until APR worked with the autoconf 2.50
and libtool 1.4 releases. APR will continue to work with the
older autoconf/libtool but subversion needs the libtool fixes (badly).
After this patch is added, configuring subversion will require
the new versions of these tools, which is why we need our
own buildconf.sh script.

> Can we really just start using the latest tools, and APR, db, and neon
> will all just work?

Yeah. The db package moved to the new autoconf in the 3.3.11 release.
Neon should be upgraded, but that is a separate issue since we
pull down an already configured tar ball for neon. Things should
just work (I know, you heard that one before). I just did a build
under Linux and it worked just fine.

> > Also, could someone make sure the new buildcheck.sh
> > and the existing autogen.sh have the execute bit set?
> 
> Execute bit?  What's that?  :-)
> 
> We're self-hosting now.  We can't have that sort of functionality
> until we get properties coming down to our working copies over DAV.
> We're working on it.

Congrats! I did my first `svn checkout` today. It felt good, real good.

Mo


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

Re: It is time to upgrade to autoconf 2.50 and libtool 1.4.

Posted by Ben Collins-Sussman <su...@collab.net>.
Mo DeJong <su...@bayarea.net> writes:

> Now would be the perfect time to upgrade subversion to the
> most recent stable releases of autoconf and libtool. We were
> waiting until an issue in apr had been resolved, and the
> good news is that it is no longer a problem since apr
> no longer tries to build in the shmem/unix/mm dir.
> I noticed there were some autoconf/libtool related
> complaints recently on the list, this patch should
> make many of them go away.

I thought Subversion was waiting for APR to move to the latest
autoconf/libtool;  are you saying that APR now works with autoconf
2.50 and libtool 1.4?  I just had heard any news of this on the APR
dev list.  On the other hand, I wasn't following this svn thread
closely either.  :-)

Can we really just start using the latest tools, and APR, db, and neon
will all just work?

> Also, could someone make sure the new buildcheck.sh
> and the existing autogen.sh have the execute bit set?

Execute bit?  What's that?  :-)

We're self-hosting now.  We can't have that sort of functionality
until we get properties coming down to our working copies over DAV.
We're working on it.


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

Re: It is time to upgrade to autoconf 2.50 and libtool 1.4.

Posted by Greg Stein <gs...@lyra.org>.
On Sat, Sep 22, 2001 at 09:30:51AM -0700, Mo DeJong wrote:
>...
> Bah! Look like I did not test a shared build recently. This patch should
> fix that db linking issue.
> 
> Index: ac-helpers/berkeley-db.m4
> ===================================================================
> --- ac-helpers/SVN/text-base/berkeley-db.m4     Mon Sep 10 09:52:38 2001
> +++ ac-helpers/berkeley-db.m4   Sat Sep 22 09:28:54 2001
> @@ -98,9 +98,7 @@
>      SVN_DB_INCLUDES="-I$dbdir"
>      svn_lib_berkeley_db=yes
>      if test "$enable_shared" = "yes"; then
> -        # Once we upgrade to libtool 1.4 we should change this to 
> -        # "$dbdir/libdb-3.3.la"
> -        SVN_DB_LIBS="-L$dbdir/.libs -ldb-3.3"
> +        SVN_DB_LIBS="-L$dbdir -ldb-3.3"
>      else
>          SVN_DB_LIBS="-L$dbdir -ldb"
>      fi

I fixed it by removing the whole conditional and simply referencing the .la
file. That is the whole point about libtool 1.4 -- you reference .la files
and it actually works during shared builds.

In libtool 1.3, you cannot reference a .la file if there are dynamic libs
specified inside of it. So... we always went into the .libs directory and
implicitly referred to the .so file directly.

In most cases, where we use -L<dir> -l<lib>, it can/should be replaced by a
direct reference to the .la file. Our berkeley-db.m4 file needs updating for
when it searches the system, it should use a .la if it finds it. The code
block you reference above only uses the .la file for an included "db" dir.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

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

Re: It is time to upgrade to autoconf 2.50 and libtool 1.4.

Posted by Mo DeJong <su...@bayarea.net>.
On Fri, 21 Sep 2001 22:18:30 -0700
Greg Stein <gs...@lyra.org> wrote:

> On Fri, Sep 21, 2001 at 01:01:56PM -0700, Mo DeJong wrote:
> >...
> > I hate to be a bother, but I was wondering if someone could take a
> > looksie at my autoconf/libtool and test case when srcdir != builddir
> > patches. I have some more patches to check for the correct version
> > of Python for running the test cases and redirect test case output
> > properly. Thing is, I can't really send them in since they build on
> > these previous patches. If there was some problem with the earlier
> > patches, I could certainly revise them to address any concerns.
> > This autoconf/libtool upgrade issue has been hanging around for
> > many months, the sooner we can get it over with the better.
> 
> I'm working on this now. Ran into a problem with my autoconf RPM, but am
> past that now. It appears there is an issue in the berkeley-db.m4 file.
> 
> Cheers,
> -g

Bah! Look like I did not test a shared build recently. This patch should
fix that db linking issue.

Index: ac-helpers/berkeley-db.m4
===================================================================
--- ac-helpers/SVN/text-base/berkeley-db.m4     Mon Sep 10 09:52:38 2001
+++ ac-helpers/berkeley-db.m4   Sat Sep 22 09:28:54 2001
@@ -98,9 +98,7 @@
     SVN_DB_INCLUDES="-I$dbdir"
     svn_lib_berkeley_db=yes
     if test "$enable_shared" = "yes"; then
-        # Once we upgrade to libtool 1.4 we should change this to 
-        # "$dbdir/libdb-3.3.la"
-        SVN_DB_LIBS="-L$dbdir/.libs -ldb-3.3"
+        SVN_DB_LIBS="-L$dbdir -ldb-3.3"
     else
         SVN_DB_LIBS="-L$dbdir -ldb"
     fi

cheers
Mo

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

Re: It is time to upgrade to autoconf 2.50 and libtool 1.4.

Posted by Greg Stein <gs...@lyra.org>.
On Fri, Sep 21, 2001 at 01:01:56PM -0700, Mo DeJong wrote:
>...
> I hate to be a bother, but I was wondering if someone could take a
> looksie at my autoconf/libtool and test case when srcdir != builddir
> patches. I have some more patches to check for the correct version
> of Python for running the test cases and redirect test case output
> properly. Thing is, I can't really send them in since they build on
> these previous patches. If there was some problem with the earlier
> patches, I could certainly revise them to address any concerns.
> This autoconf/libtool upgrade issue has been hanging around for
> many months, the sooner we can get it over with the better.

I'm working on this now. Ran into a problem with my autoconf RPM, but am
past that now. It appears there is an issue in the berkeley-db.m4 file.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

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

Re: It is time to upgrade to autoconf 2.50 and libtool 1.4.

Posted by Mo DeJong <su...@bayarea.net>.
> On 14 Sep 2001 13:34:13 -0500
> cmpilato@collab.net wrote:
> 
> > Mo DeJong <su...@bayarea.net> writes:
> > 
> > > Now would be the perfect time to upgrade subversion to the
> > > most recent stable releases of autoconf and libtool.

...

Hello again.

I hate to be a bother, but I was wondering if someone could take a
looksie at my autoconf/libtool and test case when srcdir != builddir
patches. I have some more patches to check for the correct version
of Python for running the test cases and redirect test case output
properly. Thing is, I can't really send them in since they build on
these previous patches. If there was some problem with the earlier
patches, I could certainly revise them to address any concerns.
This autoconf/libtool upgrade issue has been hanging around for
many months, the sooner we can get it over with the better.

thanks
Mo DeJong

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

Re: It is time to upgrade to autoconf 2.50 and libtool 1.4.

Posted by Mo DeJong <su...@bayarea.net>.
On 14 Sep 2001 13:34:13 -0500
cmpilato@collab.net wrote:

> Mo DeJong <su...@bayarea.net> writes:
> 
> > Now would be the perfect time to upgrade subversion to the
> > most recent stable releases of autoconf and libtool. We were
> > waiting until an issue in apr had been resolved, and the
> > good news is that it is no longer a problem since apr
> > no longer tries to build in the shmem/unix/mm dir.
> > I noticed there were some autoconf/libtool related
> > complaints recently on the list, this patch should
> > make many of them go away.
> 
> Ah, here's another patch I can't read in my mailtool.  That's kinda
> annoying, ya know?  Perhaps you'd be kind enough to submit a plaintext
> patch/log entry for this, too?

See previous mail for apology :)

2001-09-14  Mo DeJong  <su...@bayarea.net>

	Upgrade subversion to libtool 1.4 and autoconf 2.50.

	* gen-make.py: Avoid linking in libtool .libs directories.
	Subversion was doing this because libtool 1.3
	did not handle dependencies properly. Now that we require
	libtool 1.4 this hack is no longer needed.
	* autogen.sh: Run local buildcheck.sh script instead of
	depending on the apr provided one. We now require a minimum
	or autoconf 2.50 and libtool 1.4 so the apr provided script
	is no longer sufficient.
	* build.conf: Avoid linking in libtool .libs directories.
	* configure.in: Avoid linking in libtool .libs directories.
	Require autoconf 2.50 or newer.
	* buildcheck.sh: Adapt apr/build/buildcheck.sh script
	to require autoconf 2.50 and libtool 1.4 or newer.

Index: ./gen-make.py
===================================================================
--- ./SVN/text-base/gen-make.py	Mon Sep 10 09:49:53 2001
+++ ./gen-make.py	Mon Sep 10 11:11:46 2001
@@ -110,14 +110,10 @@
 
         dep_path = tlib.path
         if bldtype == 'lib':
-          # we need to hack around a libtool problem: it cannot record a
-          # dependency of one shared lib on another shared lib.
-          ### fix this by upgrading to the new libtool 1.4 release...
           # strip "lib" from the front so we have -lsvn_foo
           if lib[:3] == 'lib':
             lib = lib[3:]
-          libs.append('-L%s -l%s'
-                      % (retreat + os.path.join(dep_path, '.libs'), lib))
+          libs.append('-L%s -l%s' % (retreat + dep_path, lib))
         else:
           # linking executables can refer to .la files
           libs.append(retreat + os.path.join(dep_path, lib + '.la'))
@@ -192,15 +188,14 @@
 
       ofile.write('\ninstall-mods-static: %s\n'
                   '\t$(MKDIR) %s\n'
-                  % (string.join(la_tweaked + s_files),
-                     os.path.join('$(APACHE_TARGET)', '.libs')))
+                  % (string.join(la_tweaked + s_files), '$(APACHE_TARGET)'))
       for file in la_tweaked:
         dirname, fname = os.path.split(file)
         base = os.path.splitext(fname)[0]
         ofile.write('\t$(INSTALL_MOD_STATIC) %s %s\n'
                     '\t$(INSTALL_MOD_STATIC) %s %s\n'
-                    % (os.path.join(dirname, '.libs', base + '.a'),
-                       os.path.join('$(APACHE_TARGET)', '.libs', base + '.a'),
+                    % (os.path.join(dirname, base + '.a'),
+                       os.path.join('$(APACHE_TARGET)', base + '.a'),
                        file,
                        os.path.join('$(APACHE_TARGET)', base + '.la')))
       for file in s_files:
Index: ./autogen.sh
===================================================================
--- ./SVN/text-base/autogen.sh	Mon Sep 10 09:49:53 2001
+++ ./autogen.sh	Mon Sep 10 11:45:18 2001
@@ -65,11 +65,8 @@
 fi
 
 
-# Run a quick test to ensure APR is kosher.
-(cd apr && build/buildcheck.sh) || exit 1
-
-
-
+# Run a quick test to ensure that our autoconf and libtool verison are ok
+./buildcheck.sh || exit 1
 
 #
 # Handle some libtool helper files
Index: ./build.conf
===================================================================
--- ./SVN/text-base/build.conf	Mon Sep 10 09:49:52 2001
+++ ./build.conf	Mon Sep 10 11:04:58 2001
@@ -101,7 +101,7 @@
 type = lib
 path = subversion/libsvn_ra_dav
 ### hack to deal with libtool's busted intra-library dependencies
-libs = -L$(abs_builddir)/neon/src/.libs -lneon
+libs = -L$(abs_builddir)/neon/src -lneon
 
 # Accessing repositories via direct libsvn_fs
 [libsvn_ra_local]
Index: ./configure.in
===================================================================
--- ./SVN/text-base/configure.in	Thu Sep 13 10:57:47 2001
+++ ./configure.in	Thu Sep 13 10:57:47 2001
@@ -4,6 +4,10 @@
 
 dnl General Setup -----------------------
 
+dnl Ensure that subversion is configured with autoconf 2.50
+dnl Don't even think about removing this check!
+AC_PREREQ(2.50)
+
 dnl First line is *required*;  sanity-checks that the our src dir exists.
 AC_INIT(subversion/include/svn_types.h)
 AC_CONFIG_AUX_DIR(ac-helpers)
@@ -280,14 +284,14 @@
   AC_DEFINE(SVN_LIBSVN_CLIENT_LINKS_RA_DAV, 1,
         [Defined if libsvn_client should link against libsvn_ra_dav])
   SVN_RA_LIB_DEPS="subversion/libsvn_ra_dav/libsvn_ra_dav.la"
-  SVN_RA_LIB_LINK="-L\$(abs_builddir)/subversion/libsvn_ra_dav/.libs -lsvn_ra_dav \
-	-L\$(abs_builddir)/neon/src/.libs -lneon $NEON_LIBS"
+  SVN_RA_LIB_LINK="-L\$(abs_builddir)/subversion/libsvn_ra_dav -lsvn_ra_dav \
+	-L\$(abs_builddir)/neon/src -lneon $NEON_LIBS"
 
   if test "$svn_lib_berkeley_db" = "yes"; then
     AC_DEFINE(SVN_LIBSVN_CLIENT_LINKS_RA_LOCAL, 1,
         [Defined if libsvn_client should link against libsvn_ra_local])
     SVN_RA_LIB_DEPS="$SVN_RA_LIB_DEPS subversion/libsvn_ra_local/libsvn_ra_local.la subversion/libsvn_repos/libsvn_repos.la subversion/libsvn_fs/libsvn_fs.la"
-    SVN_RA_LIB_LINK="$SVN_RA_LIB_LINK -L\$(abs_builddir)/subversion/libsvn_ra_local/.libs -lsvn_ra_local -L\$(abs_builddir)/subversion/libsvn_repos/.libs -lsvn_repos -L\$(abs_builddir)/subversion/libsvn_fs/.libs -lsvn_fs \$(SVN_DB_LIBS)"
+    SVN_RA_LIB_LINK="$SVN_RA_LIB_LINK -L\$(abs_builddir)/subversion/libsvn_ra_local -lsvn_ra_local -L\$(abs_builddir)/subversion/libsvn_repos -lsvn_repos -L\$(abs_builddir)/subversion/libsvn_fs -lsvn_fs \$(SVN_DB_LIBS)"
   fi
 
 fi
Index: ./buildcheck.sh
===================================================================
--- ./SVN/text-base/buildcheck.sh	Fri Sep 14 12:46:31 2001
+++ ./buildcheck.sh	Mon Sep 10 11:47:05 2001
@@ -0,0 +1,46 @@
+#! /bin/sh
+
+echo "buildconf: checking installation..."
+
+# autoconf 2.50 or newer
+ac_version=`autoconf --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
+if test -z "$ac_version"; then
+echo "buildconf: autoconf not found."
+echo "           You need autoconf version 2.50 or newer installed"
+echo "           to build Apache from CVS."
+exit 1
+fi
+IFS=.; set $ac_version; IFS=' '
+if test "$1" = "2" -a "$2" -lt "50" || test "$1" -lt "2"; then
+echo "buildconf: autoconf version $ac_version found."
+echo "           You need autoconf version 2.50 or newer installed."
+exit 1
+else
+echo "buildconf: autoconf version $ac_version (ok)"
+fi
+
+# libtool 1.4 or newer
+libtool=`apr/build/PrintPath glibtool libtool`
+lt_pversion=`$libtool --version 2>/dev/null|sed -e 's/^[^0-9]*//' -e 's/[- ].*//'`
+if test -z "$lt_pversion"; then
+echo "buildconf: libtool not found."
+echo "           You need libtool version 1.4 or newer installed"
+exit 1
+fi
+lt_version=`echo $lt_pversion|sed -e 's/\([a-z]*\)$/.\1/'`
+IFS=.; set $lt_version; IFS=' '
+lt_status="good"
+if test "$1" = "1"; then
+   if test "$2" -lt "4"; then
+      lt_status="bad"
+   fi
+fi
+if test $lt_status = "good"; then
+   echo "buildconf: libtool version $lt_pversion (ok)"
+   exit 0
+fi
+
+echo "buildconf: libtool version $lt_pversion found."
+echo "           You need libtool version 1.4 or newer installed"
+
+exit 1

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

Re: It is time to upgrade to autoconf 2.50 and libtool 1.4.

Posted by cm...@collab.net.
Mo DeJong <su...@bayarea.net> writes:

> Now would be the perfect time to upgrade subversion to the
> most recent stable releases of autoconf and libtool. We were
> waiting until an issue in apr had been resolved, and the
> good news is that it is no longer a problem since apr
> no longer tries to build in the shmem/unix/mm dir.
> I noticed there were some autoconf/libtool related
> complaints recently on the list, this patch should
> make many of them go away.

Ah, here's another patch I can't read in my mailtool.  That's kinda
annoying, ya know?  Perhaps you'd be kind enough to submit a plaintext
patch/log entry for this, too?

> Also, could someone make sure the new buildcheck.sh
> and the existing autogen.sh have the execute bit set?

Heh.  Did you say execute bit?  You don't -really- think Subversion
maintains Unix file perms do you?

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