You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Philip Martin <ph...@codematters.co.uk> on 2004/04/29 23:53:32 UTC

Is fs_loader.c a mistake?

I'm getting lots of errors like:

.libs/fs_loader.o(.text+0x440): In function `svn_fs_set_uuid':
../svn/subversion/libsvn_fs/fs_loader.c:421: multiple definition of `svn_fs_set_uuid'
.libs/fs-loader.o(.text+0x13b0):../svn/subversion/libsvn_fs/fs-loader.c:770: first defined here
/usr/bin/ld: Warning: size of symbol `svn_fs_set_uuid' changed from 34 in .libs/fs-loader.o to 5 in .libs/fs_loader.o

-- 
Philip Martin

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

Re: Is fs_loader.c a mistake?

Posted by Greg Hudson <gh...@MIT.EDU>.
On Thu, 2004-04-29 at 20:47, Philip Martin wrote:
> "make install" fails because it attempts to install libsvn_fs before
> libsvn_fs_fs (I guess you may not see this if you are installing over
> an existing installation that already provides libsvn_fs_fs).

No, I just only tested with --enable-dso.  (make install with
--disable-shared also works, and is easier.)

Unfortunately, I seem to have woven a very tangled web.  To solve this
problem with libsvn_ra, we invented the "base-libs" category, which
currently contains libsvn_ra_svn and its dependencies, and ensured (the
wrong way) that base-libs and fs-libs get installed before libs, which
contains libsvn_ra.  We can't reuse this category for the current
problem, because now libsvn_ra has to come after libsvn_ra_local which
has to come after libsvn_fs which has to come after libsvn_fs_fs.

I will hopefully have a temporary fix checked in within an hour or so,
and then I will try to untangle the situation.


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

Re: Is fs_loader.c a mistake?

Posted by Philip Martin <ph...@codematters.co.uk>.
Philip Martin <ph...@codematters.co.uk> writes:

> "make install" fails because it attempts to install libsvn_fs before
> libsvn_fs_fs (I guess you may not see this if you are installing over
> an existing installation that already provides libsvn_fs_fs).  Looking
> in build-outputs.mk I see that the install-lib target lists libsvn_fs
> before libsvn_fs_fs, I haven't yet worked out how to fix that.

The following patch allows me to install my normal build.  I'm
guessing it's not correct as it hardcodes stuff that I think is
supposed to be optional.  "make install" is currently broken unless
one is installing over an existing installation that provides
libraries sufficient to link :-(

Index: build.conf
===================================================================
--- build.conf	(revision 9573)
+++ build.conf	(working copy)
@@ -142,7 +142,7 @@
 path = subversion/libsvn_fs
 sources = *.c
 install = lib
-libs = libsvn_subr fs-libs apr
+libs = libsvn_subr libsvn_fs_fs fs-libs apr
 # conditionally add more dependencies
 add-deps = $(SVN_FS_LIB_DEPS)
 msvc-static = yes
@@ -167,7 +167,7 @@
 [libsvn_ra]
 type = lib
 path = subversion/libsvn_ra
-libs = libsvn_subr ra-libs aprutil apriconv apr
+libs = libsvn_subr libsvn_ra_local ra-libs aprutil apriconv apr
 # conditionally add more dependencies
 add-deps = $(SVN_RA_LIB_DEPS)
 install = lib

-- 
Philip Martin

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

Re: Is fs_loader.c a mistake?

Posted by Philip Martin <ph...@codematters.co.uk>.
Greg Hudson <gh...@MIT.EDU> writes:

> Yes, it's a mistake.  I'm not entirely sure how it came to be; to
> address that directory after committing the renames, I ran:
>
>     svn merge -r9488:9489 http://svn.collab.net/repos/svn/branches/fs-abstraction/subversion .
>     cd libsvn_fs
>     svn merge -r9489:HEAD http://svn.collab.net/repos/svn/branches/fs-abstraction/subversion/libsvn_fs .
>
> I figured the second merge would remove fs_loader.c, but it apparently
> didn't.

"make install" fails because it attempts to install libsvn_fs before
libsvn_fs_fs (I guess you may not see this if you are installing over
an existing installation that already provides libsvn_fs_fs).  Looking
in build-outputs.mk I see that the install-lib target lists libsvn_fs
before libsvn_fs_fs, I haven't yet worked out how to fix that.


-- 
Philip Martin

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

Re: Is fs_loader.c a mistake?

Posted by Greg Hudson <gh...@MIT.EDU>.
Yes, it's a mistake.  I'm not entirely sure how it came to be; to
address that directory after committing the renames, I ran:

    svn merge -r9488:9489 http://svn.collab.net/repos/svn/branches/fs-abstraction/subversion .
    cd libsvn_fs
    svn merge -r9489:HEAD http://svn.collab.net/repos/svn/branches/fs-abstraction/subversion/libsvn_fs .

I figured the second merge would remove fs_loader.c, but it apparently
didn't.


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

Re: Is fs_loader.c a mistake?

Posted by Philip Martin <ph...@codematters.co.uk>.
Philip Martin <ph...@codematters.co.uk> writes:

> I'm getting lots of errors like:
>
> .libs/fs_loader.o(.text+0x440): In function `svn_fs_set_uuid':
> ../svn/subversion/libsvn_fs/fs_loader.c:421: multiple definition of `svn_fs_set_uuid'
> .libs/fs-loader.o(.text+0x13b0):../svn/subversion/libsvn_fs/fs-loader.c:770: first defined here
> /usr/bin/ld: Warning: size of symbol `svn_fs_set_uuid' changed from 34 in .libs/fs-loader.o to 5 in .libs/fs_loader.o

"svn rm fs_loader.c" appears to do the trick.

Some gcc 3.4 warnings:

../svn/subversion/libsvn_fs_fs/fs_fs.c:1096: warning: comparison between signed and unsigned
../svn/subversion/libsvn_fs_fs/fs_fs.c:1099: warning: comparison between signed and unsigned
../svn/subversion/libsvn_fs_fs/fs_fs.c:1441: warning: comparison between signed and unsigned
../svn/subversion/libsvn_fs_fs/fs_fs.c:2606: warning: 'change_string' might be used uninitialized in this function

-- 
Philip Martin

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