Den ons 4 nov. 2026 kl 20:02 skrev Ivan Zhakov <[email protected]>: > On Mon, 4 Jul 2022 at 21:49, Daniel Sahlberg <[email protected]> > wrote: > >> Den mån 4 juli 2022 kl 17:09 skrev Bert Huijben <[email protected]>: >> >>> 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!) >> >> Hi Daniel, > > I am also confused by this change: libsvn_ra_serf is unrelated > to SVN_FS_LIB_INSTALL_DEPS. Maybe we have the problem, but the fix doesn't > look right. > > I would suggest that we either investigate the root cause of the problem > or revert the change. >
Hi, I must admit that I don't fully understand the build system but I've tried to dig into this today. (Full disclosure, I've been using a fair bit of GPT-6 Luna in VSCode to dig around this and explain things. The patch below is also generated by GPT-6 Luna). As I understand the problem, libsvn_ra_serf is depending on libsvn_subr and libsvn_delta to be built and installed before libsvn_ra_serf can be build. They were previously installed by the fsmod-lib step and thus the "easy" solution was to install that first. What I've tried to do is to break out libsvn_subr and libsvn_delta to a separate target and install that first. The below patch seems to work: [[[ Index: Makefile.in =================================================================== --- Makefile.in (revision 1940171) +++ Makefile.in (working copy) @@ -64,6 +64,7 @@ prefix = @prefix@ exec_prefix = @exec_prefix@ libdir = @libdir@ +support_libdir = @libdir@ fsmod_libdir = @libdir@ ramod_libdir = @libdir@ gnome_keyring_libdir = @libdir@ @@ -315,6 +316,7 @@ INSTALL = @INSTALL@ INSTALL_LIB = $(LIBTOOL) --mode=install $(INSTALL) +INSTALL_SUPPORT_LIB = $(INSTALL_LIB) INSTALL_FSMOD_LIB = $(INSTALL_LIB) INSTALL_RAMOD_LIB = $(INSTALL_LIB) INSTALL_APR_MEMCACHE_LIB = $(INSTALL_LIB) Index: build.conf =================================================================== --- build.conf (revision 1940171) +++ build.conf (working copy) @@ -262,7 +262,7 @@ [libsvn_delta] description = Subversion Delta Library type = lib -install = fsmod-lib +install = support-lib path = subversion/libsvn_delta libs = libsvn_subr aprutil apriconv apr zlib msvc-export = svn_delta.h private/svn_editor.h private/svn_delta_private.h @@ -342,7 +342,8 @@ 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) +add-deps = install-support-lib +add-install-deps = install-support-lib msvc-export = ../libsvn_ra_serf/ra_init.h ../libsvn_ra_serf/ra_serf.h # Accessing repositories via SVN @@ -376,7 +377,7 @@ [libsvn_subr] description = Subversion General Utility Library type = lib -install = fsmod-lib +install = support-lib path = subversion/libsvn_subr sources = *.c lz4/*.c libs = aprutil apriconv apr xml zlib apr_memcache ]]] I'm fine to update build.conf in this way or any other way (but please give me pointers where to start looking!). Now, with the change above, make install-fsmod-lib fail. Seems like it would also require add-deps or add-install-deps. Kind regards, Daniel

