You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by Bert Huijben <be...@qqmail.nl> on 2022/07/04 14:07:23 UTC

RE: svn commit: r1902364 - /subversion/trunk/build.conf

> ==============================================================================
> --- subversion/trunk/build.conf (original)
> +++ subversion/trunk/build.conf Thu Jun 30 08:10:48 2022
> @@ -340,6 +340,7 @@ type = ra-module
>  path = subversion/libsvn_ra_serf
>  install = serf-lib
>  libs = libsvn_delta libsvn_subr aprutil apriconv apr serf zlib
> +add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS)
>  msvc-static = yes
>  
>  # Accessing repositories via SVN

Why add this dependency to libsvn_ra_serf?

I think you have a different problem in your build if you need the fs libraries for building the serf ra layer.

	Bert


RE: svn commit: r1902364 - /subversion/trunk/build.conf

Posted by Bert Huijben <be...@qqmail.nl>.
Most likely this user just has a bunch of libraries in that environment variable, and this links the ra layers to quite a few dependencies it doesn't need, potentially loading things like BDB in cases where it Is absolutely not necessary.

There are other better ways to add the depencies to specific libraries, like that libs line right above this. This line links the fake serf target, which does have the dependencies for serf... And that one would need fixing if the user has a problem.

-----Original Message-----
From: Bert Huijben <be...@qqmail.nl> 
Sent: Monday, July 4, 2022 4:07 PM
To: dev@subversion.apache.org; commits@subversion.apache.org
Subject: RE: svn commit: r1902364 - /subversion/trunk/build.conf

> ==============================================================================
> --- subversion/trunk/build.conf (original)
> +++ subversion/trunk/build.conf Thu Jun 30 08:10:48 2022
> @@ -340,6 +340,7 @@ type = ra-module
>  path = subversion/libsvn_ra_serf
>  install = serf-lib
>  libs = libsvn_delta libsvn_subr aprutil apriconv apr serf zlib
> +add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS)
>  msvc-static = yes
>  
>  # Accessing repositories via SVN

Why add this dependency to libsvn_ra_serf?

I think you have a different problem in your build if you need the fs libraries for building the serf ra layer.

	Bert



Re: svn commit: r1902364 - /subversion/trunk/build.conf

Posted by Daniel Sahlberg <da...@gmail.com>.
Den mån 4 juli 2022 kl 17:09 skrev Bert Huijben <be...@qqmail.nl>:

> That line will add the ./configure time dependencies (or gen-make.py for
> Windows). The dependencies on our own libraries are added by the ‘libs =’
> line right above.
>

The libs at issue (libsvn_delta and libsvn_subr) are already in libs. The
problem seems to be that the linker is looking for these libs in the
install location ($PREFIX/lib) and they are not installed there when it
tries to link libsvn_ra_serf.

libsvn_delta and libsvn_subr seems to be installed by install-fsmod-lib.

 If you don’t get these, then it is most likely because the files don’t
> exist/aren’t build at the right time, and in that case you need to use a
> different make target, like you already suggested.
>

I tried to change the dependency to $(SVN_RA_LIB_INSTALL_DEPS) (as with
libsvn_ra a few lines above), however I get a warning about a circular
dependency. I could also depend directly on install-fsmod but I'm not sure
this is better.

Adding more and more unneeded dependencies will make things far harder to
> diagnose in the future, so we should remove strange inner dependencies for
> just a specific environment, or use the proper systems if we ever want to
> be able to find bugs in this space.
>

Agreed. Thanks for taking your time to explain!

Can you take the time to check the reproduction receipt to see if there is
anything obvious missing? I'm doing this in a fairly clean Ubuntu 21.10 (in
particular, with no SVN packages installed - I removed them before making
the tests and I use the freshly built client whenever need to access the
repo).

Would it be better to factor out libsvn_delta and libsvn_subr to their own
install target and make everything else depend on this new target?
(Grasping for straws here!)

/Daniel

Re: svn commit: r1902364 - /subversion/trunk/build.conf

Posted by Daniel Sahlberg <da...@gmail.com>.
Den mån 4 juli 2022 kl 17:09 skrev Bert Huijben <be...@qqmail.nl>:

> That line will add the ./configure time dependencies (or gen-make.py for
> Windows). The dependencies on our own libraries are added by the ‘libs =’
> line right above.
>

The libs at issue (libsvn_delta and libsvn_subr) are already in libs. The
problem seems to be that the linker is looking for these libs in the
install location ($PREFIX/lib) and they are not installed there when it
tries to link libsvn_ra_serf.

libsvn_delta and libsvn_subr seems to be installed by install-fsmod-lib.

 If you don’t get these, then it is most likely because the files don’t
> exist/aren’t build at the right time, and in that case you need to use a
> different make target, like you already suggested.
>

I tried to change the dependency to $(SVN_RA_LIB_INSTALL_DEPS) (as with
libsvn_ra a few lines above), however I get a warning about a circular
dependency. I could also depend directly on install-fsmod but I'm not sure
this is better.

Adding more and more unneeded dependencies will make things far harder to
> diagnose in the future, so we should remove strange inner dependencies for
> just a specific environment, or use the proper systems if we ever want to
> be able to find bugs in this space.
>

Agreed. Thanks for taking your time to explain!

Can you take the time to check the reproduction receipt to see if there is
anything obvious missing? I'm doing this in a fairly clean Ubuntu 21.10 (in
particular, with no SVN packages installed - I removed them before making
the tests and I use the freshly built client whenever need to access the
repo).

Would it be better to factor out libsvn_delta and libsvn_subr to their own
install target and make everything else depend on this new target?
(Grasping for straws here!)

/Daniel

RE: svn commit: r1902364 - /subversion/trunk/build.conf

Posted by Bert Huijben <be...@qqmail.nl>.
That line will add the ./configure time dependencies (or gen-make.py for Windows). The dependencies on our own libraries are added by the ‘libs =’ line right above.

 �

If you don’t get these, then it is most likely because the files don’t exist/aren’t build at the right time, and in that case you need to use a different make target, like you already suggested.

 �

 �

Adding more and more unneeded dependencies will make things far harder to diagnose in the future, so we should remove strange inner dependencies for just a specific environment, or use the proper systems if we ever want to be able to find bugs in this space.

 �

               Bert

 �

From: Daniel Sahlberg <da...@gmail.com> 
Sent: Monday, July 4, 2022 4:29 PM
To: Subversion Development <de...@subversion.apache.org>
Cc: commits@subversion.apache.org
Subject: Re: svn commit: r1902364 - /subversion/trunk/build.conf

 �

Den mån 4 juli 2022 kl 16:07 skrev Bert Huijben <bert@qqmail.nl <ma...@qqmail.nl> >:

> ==============================================================================
> --- subversion/trunk/build.conf (original)
> +++ subversion/trunk/build.conf Thu Jun 30 08:10:48 2022
> @@ -340,6 +340,7 @@ type = ra-module
> � path = subversion/libsvn_ra_serf
> � install = serf-lib
> � libs = libsvn_delta libsvn_subr aprutil apriconv apr serf zlib
> +add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS)
> � msvc-static = yes
> � 
> � # Accessing repositories via SVN

Why add this dependency to libsvn_ra_serf?

I think you have a different problem in your build if you need the fs libraries for building the serf ra layer.

 �

Probably :-). I think I need some pointers where to look to understand the build system.

 �

The problem (the longer version has been discussed here already here and is documented in issue #4901) is that �make install-serf-lib  fail when linking �libtool: warning: relinking 'libsvn_ra_serf-1.la <http://libsvn_ra_serf-1.la> ':

/usr/bin/ld: cannot find -lsvn_delta-1
/usr/bin/ld: cannot find -lsvn_subr-1

 �

As far as I could determine these were installed by �make  install-fsmod-lib. But again, I'm new to this...

 �

Kind regards,

Daniel

 �


RE: svn commit: r1902364 - /subversion/trunk/build.conf

Posted by Bert Huijben <be...@qqmail.nl>.
That line will add the ./configure time dependencies (or gen-make.py for Windows). The dependencies on our own libraries are added by the ‘libs =’ line right above.

 �

If you don’t get these, then it is most likely because the files don’t exist/aren’t build at the right time, and in that case you need to use a different make target, like you already suggested.

 �

 �

Adding more and more unneeded dependencies will make things far harder to diagnose in the future, so we should remove strange inner dependencies for just a specific environment, or use the proper systems if we ever want to be able to find bugs in this space.

 �

               Bert

 �

From: Daniel Sahlberg <da...@gmail.com> 
Sent: Monday, July 4, 2022 4:29 PM
To: Subversion Development <de...@subversion.apache.org>
Cc: commits@subversion.apache.org
Subject: Re: svn commit: r1902364 - /subversion/trunk/build.conf

 �

Den mån 4 juli 2022 kl 16:07 skrev Bert Huijben <bert@qqmail.nl <ma...@qqmail.nl> >:

> ==============================================================================
> --- subversion/trunk/build.conf (original)
> +++ subversion/trunk/build.conf Thu Jun 30 08:10:48 2022
> @@ -340,6 +340,7 @@ type = ra-module
> � path = subversion/libsvn_ra_serf
> � install = serf-lib
> � libs = libsvn_delta libsvn_subr aprutil apriconv apr serf zlib
> +add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS)
> � msvc-static = yes
> � 
> � # Accessing repositories via SVN

Why add this dependency to libsvn_ra_serf?

I think you have a different problem in your build if you need the fs libraries for building the serf ra layer.

 �

Probably :-). I think I need some pointers where to look to understand the build system.

 �

The problem (the longer version has been discussed here already here and is documented in issue #4901) is that �make install-serf-lib  fail when linking �libtool: warning: relinking 'libsvn_ra_serf-1.la <http://libsvn_ra_serf-1.la> ':

/usr/bin/ld: cannot find -lsvn_delta-1
/usr/bin/ld: cannot find -lsvn_subr-1

 �

As far as I could determine these were installed by �make  install-fsmod-lib. But again, I'm new to this...

 �

Kind regards,

Daniel

 �


Re: svn commit: r1902364 - /subversion/trunk/build.conf

Posted by Daniel Sahlberg <da...@gmail.com>.
Den mån 4 juli 2022 kl 16:07 skrev Bert Huijben <be...@qqmail.nl>:

> >
> ==============================================================================
> > --- subversion/trunk/build.conf (original)
> > +++ subversion/trunk/build.conf Thu Jun 30 08:10:48 2022
> > @@ -340,6 +340,7 @@ type = ra-module
> >  path = subversion/libsvn_ra_serf
> >  install = serf-lib
> >  libs = libsvn_delta libsvn_subr aprutil apriconv apr serf zlib
> > +add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS)
> >  msvc-static = yes
> >
> >  # Accessing repositories via SVN
>
> Why add this dependency to libsvn_ra_serf?
>
> I think you have a different problem in your build if you need the fs
> libraries for building the serf ra layer.
>

Probably :-). I think I need some pointers where to look to understand the
build system.

The problem (the longer version has been discussed here already here and is
documented in issue #4901) is that make install-serf-lib fail when
linking libtool:
warning: relinking 'libsvn_ra_serf-1.la':
/usr/bin/ld: cannot find -lsvn_delta-1
/usr/bin/ld: cannot find -lsvn_subr-1

As far as I could determine these were installed by make install-fsmod-lib.
But again, I'm new to this...

Kind regards,
Daniel

Re: svn commit: r1902364 - /subversion/trunk/build.conf

Posted by Daniel Sahlberg <da...@gmail.com>.
Den mån 4 juli 2022 kl 16:07 skrev Bert Huijben <be...@qqmail.nl>:

> >
> ==============================================================================
> > --- subversion/trunk/build.conf (original)
> > +++ subversion/trunk/build.conf Thu Jun 30 08:10:48 2022
> > @@ -340,6 +340,7 @@ type = ra-module
> >  path = subversion/libsvn_ra_serf
> >  install = serf-lib
> >  libs = libsvn_delta libsvn_subr aprutil apriconv apr serf zlib
> > +add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS)
> >  msvc-static = yes
> >
> >  # Accessing repositories via SVN
>
> Why add this dependency to libsvn_ra_serf?
>
> I think you have a different problem in your build if you need the fs
> libraries for building the serf ra layer.
>

Probably :-). I think I need some pointers where to look to understand the
build system.

The problem (the longer version has been discussed here already here and is
documented in issue #4901) is that make install-serf-lib fail when
linking libtool:
warning: relinking 'libsvn_ra_serf-1.la':
/usr/bin/ld: cannot find -lsvn_delta-1
/usr/bin/ld: cannot find -lsvn_subr-1

As far as I could determine these were installed by make install-fsmod-lib.
But again, I'm new to this...

Kind regards,
Daniel

RE: svn commit: r1902364 - /subversion/trunk/build.conf

Posted by Bert Huijben <be...@qqmail.nl>.
Most likely this user just has a bunch of libraries in that environment variable, and this links the ra layers to quite a few dependencies it doesn't need, potentially loading things like BDB in cases where it Is absolutely not necessary.

There are other better ways to add the depencies to specific libraries, like that libs line right above this. This line links the fake serf target, which does have the dependencies for serf... And that one would need fixing if the user has a problem.

-----Original Message-----
From: Bert Huijben <be...@qqmail.nl> 
Sent: Monday, July 4, 2022 4:07 PM
To: dev@subversion.apache.org; commits@subversion.apache.org
Subject: RE: svn commit: r1902364 - /subversion/trunk/build.conf

> ==============================================================================
> --- subversion/trunk/build.conf (original)
> +++ subversion/trunk/build.conf Thu Jun 30 08:10:48 2022
> @@ -340,6 +340,7 @@ type = ra-module
>  path = subversion/libsvn_ra_serf
>  install = serf-lib
>  libs = libsvn_delta libsvn_subr aprutil apriconv apr serf zlib
> +add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS)
>  msvc-static = yes
>  
>  # Accessing repositories via SVN

Why add this dependency to libsvn_ra_serf?

I think you have a different problem in your build if you need the fs libraries for building the serf ra layer.

	Bert