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

Re: [PATCH] reenable libtool options (was: svn commit: r36153 - in trunk: . build)

From: Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA_at_GMail.Com>
Date: Sun, 1 Mar 2009 01:38:56 +0100

2009-02-28 22:01:15 Greg Stein napisaƂ(a):
> Arfrever pointed out that the --(enable|disable)-(shared|static)
> options are no longer available. Does the attached patch do the trick?

No. There are 4 problems:

1. If e.g. --enable-shared was passed to `configure`, then -enable-shared is
passed to gcc during linking of executables (e.g. svn, svnadmin, svnlook),
which causes linker warning:

cd subversion/svn && /usr/bin/libtool --tag=CC --silent --mode=link gcc -enable-static -enable-shared -g -O2 -pthread -L/usr/lib64 -rpath /usr/local/lib -o svn add-cmd.o blame-cmd.o cat-cmd.o changelist-cmd.o checkout-cmd.o cleanup-cmd.o commit-cmd.o conflict-callbacks.o copy-cmd.o delete-cmd.o diff-cmd.o export-cmd.o help-cmd.o import-cmd.o info-cmd.o list-cmd.o lock-cmd.o log-cmd.o main.o merge-cmd.o mergeinfo-cmd.o mkdir-cmd.o move-cmd.o notify.o propdel-cmd.o propedit-cmd.o propget-cmd.o proplist-cmd.o props.o propset-cmd.o resolve-cmd.o resolved-cmd.o revert-cmd.o status-cmd.o status.o switch-cmd.o tree-conflicts.o unlock-cmd.o update-cmd.o util.o ../../subversion/libsvn_client/libsvn_client-1.la ../../subversion/libsvn_wc/libsvn_wc-1.la ../../subversion/libsvn_ra/libsvn_ra-1.la ../../subversion/libsvn_delta/libsvn_delta-1.la ../../subversion/libsvn_diff/libsvn_diff-1.la ../../subversion/libsvn_subr/libsvn_subr-1.la /usr/lib64/libaprutil-1.la -lldap -llber -lexpat /usr/lib64/libapr-1.la -luuid -lrt -lcrypt -lpthread -ldl
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/../../../../x86_64-pc-linux-gnu/bin/ld: warning: cannot find entry symbol nable-shared; defaulting to 0000000000405970

If I run this command without --silent, I get this output:

libtool: link: gcc -enable-static -enable-shared -g -O2 -pthread -o .libs/svn add-cmd.o blame-cmd.o cat-cmd.o changelist-cmd.o checkout-cmd.o cleanup-cmd.o commit-cmd.o conflict-callbacks.o copy-cmd.o delete-cmd.o diff-cmd.o export-cmd.o help-cmd.o import-cmd.o info-cmd.o list-cmd.o lock-cmd.o log-cmd.o main.o merge-cmd.o mergeinfo-cmd.o mkdir-cmd.o move-cmd.o notify.o propdel-cmd.o propedit-cmd.o propget-cmd.o proplist-cmd.o props.o propset-cmd.o resolve-cmd.o resolved-cmd.o revert-cmd.o status-cmd.o status.o switch-cmd.o tree-conflicts.o unlock-cmd.o update-cmd.o util.o -L/usr/lib64 ../../subversion/libsvn_client/.libs/libsvn_client-1.so /home/Arfrever/subversion_trunk/subversion/libsvn_wc/.libs/libsvn_wc-1.so /home/Arfrever/subversion_trunk/subversion/libsvn_ra/.libs/libsvn_ra-1.so ../../subversion/libsvn_wc/.libs/libsvn_wc-1.so /home/Arfrever/subversion_trunk/subversion/libsvn_diff/.libs/libsvn_diff-1.so ../../subversion/libsvn_ra/.libs/libsvn_ra-1.so /home/Arfrever/subversion_trunk/subversion/libsvn_ra_local/.libs/libsvn_ra_local-1.so /home/Arfrever/subversion_trunk/subversion/libsvn_repos/.libs/libsvn_repos-1.so /home/Arfrever/subversion_trunk/subversion/libsvn_fs/.libs/libsvn_fs-1.so /home/Arfrever/subversion_trunk/subversion/libsvn_fs_fs/.libs/libsvn_fs_fs-1.so /home/Arfrever/subversion_trunk/subversion/libsvn_fs_util/.libs/libsvn_fs_util-1.so /home/Arfrever/subversion_trunk/subversion/libsvn_ra_svn/.libs/libsvn_ra_svn-1.so /home/Arfrever/subversion_trunk/subversion/libsvn_delta/.libs/libsvn_delta-1.so ../../subversion/libsvn_delta/.libs/libsvn_delta-1.so ../../subversion/libsvn_diff/.libs/libsvn_diff-1.so /home/Arfrever/subversion_trunk/subversion/libsvn_subr/.libs/libsvn_subr-1.so ../../subversion/libsvn_subr/.libs/libsvn_subr-1.so /usr/lib64/libsqlite3.so /usr/lib64/libaprutil-1.so /usr/lib64/libldap.so /usr/lib64/libsasl2.so /usr/lib64/libgnutls.so /usr/lib64/libtasn1.so -lz /usr/lib64/libgcrypt.so/usr/lib64/libgpg-error.so /usr/lib64/liblber.so -lresolv /usr/lib64/libexpat.so /usr/lib64/libapr-1.so -luuid -lrt -lcrypt -lpthread -ldl -pthread -Wl,-rpath -Wl,/usr/local/lib
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/../../../../x86_64-pc-linux-gnu/bin/ld: warning: cannot find entry symbol nable-shared; defaulting to 0000000000405970

It is because "-enable-shared" is interpreted as linker option "-e" (see `man ld`) with argument "nable-shared".

2. Shared libraries are still created when --disable-shared was passed to `configure`.
Executables (e.g. svn) are still dynamically linked against shared libraries.

3. Static libraries are still created when --disable-static was passed to `configure`.

4. enable_shared variable should be set also when --enable-shared option wasn't passed to `configure`.
Otherwise the following error happens:

$ ./configure --with-kwallet
configure: Configuring Subversion 1.7.0
configure: creating config.nice
checking for gcc... gcc
...
checking for bind_textdomain_codeset... yes
checking if we are using GNU gettext... yes
checking whether to look for KWallet... yes
configure: error: --with-kwallet conflicts with --disable-shared

This problem can be solved by the updated patch which I'm attaching.

In connection with the first 3 problems I suggest to revert r36153.

> On Thu, Feb 26, 2009 at 09:24, Justin Erenkrantz <jerenkrantz_at_apache.org> wrote:
> > For efficiency reasons, the system has converted the large body of this message into an attachment.
> >
> > ---------- Forwarded message ----------
> > From: jerenkrantz_at_tigris.org
> > To: svn_at_subversion.tigris.org
> > Date: Thu, 26 Feb 2009 00:23:54 -0800
> > Subject: svn commit: r36153 - in trunk: . build
> > Author: jerenkrantz
> > Date: Thu Feb 26 00:23:54 2009
> > New Revision: 36153
> >
> > Log:
> > Remove detection for GNU libtool and always use APR's libtool (be it GNU or
> > jlibtool or whatever).
> >
> > * configure.ac: Always enable using APR's libtool.
> > * autogen.sh, build/buildcheck.sh: Remove anything related to libtool detection.
> > * build/
> > (svn:ignore): Remove config.guess and config.sub from ignore list.
> > * build/config.guess, build/config.sub
> > (added): Take latest drops from FSF.
> >
> > Added:
> > trunk/build/config.guess
> > trunk/build/config.sub (contents, props changed)
> > Modified:
> > trunk/autogen.sh
> > trunk/build/ (props changed)
> > trunk/build/buildcheck.sh
> > trunk/configure.ac

-- 
Arfrever Frehtes Taifersar Arahesis

Received on 2009-03-01 01:40:06 CET

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