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

Re: static build was: 1.3.1 tarballs up for testing/signing (Again)

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2006-03-28 18:37:12 CEST

Johannes Holzer <hl-svn@arcor.de> writes:

> I want to get some static build, but i failed (again). Can somebody post me
> the correct configure-command?

Be aware that static executable don't always work if you build/run on
Linux machines with different GNU C libraries.

> My try:
> ~/tmp/src/subversion-1.3.1-alpha/configure
> --prefix=/home/hl/tmp/src/subversion-1.3.1-alphadist --enable-all-static
> --disable-nls && time make && make check && make install
>
> it did not work:
>
> $> ./svnadmin
> Segmentation fault
>
> but
>
> $> ./svnadmin create DUMMYTEST
>
> works as expected.
>
> I tried a normal build (./configure with only prefix option) and
>
> ./svnadmin
>
> seemed to work.
>
> $>./svnadmin --version
> svnadmin: Mismatched FS module version for 'bdb': found 1.3.1, expected 1.3.0
>
> [1]
> How can i solve this?

The "expected 1.3.0" bit indicates that your build is picking up
svn_version.h from somewhere other that the tarball source. Compiling
against the wrong headers is likely to cause crashes. You/we need to
investigate the compile command to determine why that is happening.

Get a compile command:

$ rm subversion/libsvn_fs/fs-loader.lo
$ make subversion/libsvn_fs/fs-loader.lo
/bin/sh /home/pm/sw/subversion-1.3.1-obj/libtool --tag=CC --silent --mode=compile gcc -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -g -O2 -g -O2 -pthread -D_LARGEFILE64_SOURCE -DNE_LFS -I../subversion-1.3.1/subversion/include -I./subversion -I/home/pm/sw/subversion-1.3.1-obj/../subversion-1.3.1/neon/src -I/usr/local/include/neon -I/home/pm/sw/subversion-1.3.1-obj/apr/include -I/home/pm/sw/subversion-1.3.1/apr/include -I/home/pm/sw/subversion-1.3.1-obj/apr-util/include -I/home/pm/sw/subversion-1.3.1/apr-util/include -o subversion/libsvn_fs/fs-loader.lo -c ../subversion-1.3.1/subversion/libsvn_fs/fs-loader.c

Now force gcc to print the include files:

$ rm subversion/libsvn_fs/fs-loader.lo
$ make subversion/libsvn_fs/fs-loader.lo EXTRA_CFLAGS=-H

and find out which svn_version.h is being used. In my case it's

../subversion-1.3.1/subversion/include/svn_version.h

which is as expected given the -I../subversion-1.3.1/subversion/include
flag near the start of the compile command.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Mar 28 18:37:53 2006

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