tors 19 juni 2025 kl. 14:48 skrev Graham Leggett via dev < dev@subversion.apache.org>:
> Hi all, > > Trying a routine build of subversion-trunk on EL9, and have added the > --with-serf=yes option expecting it to find the /usr/lib64/pkgconfig/serf.pc > file. > > No luck: > > [minfrin@rocky9 subversion-trunk]$ ./configure --with-serf=yes > > configure: Configuring Subversion 1.15.0 > > [snip] > > configure: serf library configuration via pkg-config > > checking for serf-2 library... no > > checking for serf-1 library... no > > checking was serf enabled... no > > > An appropriate version of serf could not be found, so libsvn_ra_serf > > will not be built. If you want to build libsvn_ra_serf, please > > install serf 1.3.4 or newer. > > > configure: error: Serf was explicitly enabled but an appropriate version > was not found. > > This appears to have been broken for quite some time: > https://stackoverflow.com/questions/68725757/how-to-properly-configure-serf-during-subversion-compilation > > This quick hack seems to fix it, can anyone confirm this is correct? > > Index: build/ac-macros/serf.m4 > > =================================================================== > > --- build/ac-macros/serf.m4 (revision 1926483) > > +++ build/ac-macros/serf.m4 (working copy) > > @@ -140,7 +140,7 @@ > > [ > > AC_MSG_NOTICE([serf library configuration via pkg-config]) > > if test -n "$PKG_CONFIG"; then > > - for serf_major in serf-2 serf-1; do > > + for serf_major in serf-2 serf-1 serf; do > > AC_MSG_CHECKING([for $serf_major library]) > > if test -n "$serf_prefix" ; then > > dnl User provided a prefix so we try to find the pc file under > I downloaded Rocky Linux 9 and it indeed seems the case that only serf.pc exists. I also downloaded Fedora 42 and it seems to provide both serf.pc and serf-1.pc (the former a symlink to the latter). >From the spec[1] file in F42, it seems to use CMake to build Serf. It also seems like Joe Orton patched the spec file in December -24 to actually create the symlink. Unfortunately I couldn't figure out how to find the spec file for Rocky Linux 9 but I assume they use a previous version of the file found in F42. Since Serf 1.3 didn't contain CMake support, I assume Fedora took the CMakeList.txt file from trunk[2] and it actually doesn't install the PC file with a version number. This changed in r1925911 (authored by brane). So in summary: - Serf used to only provide serf.pc (in an unreleased CMakeList.txt file) - Fedora, and subsequently RHEL/Rocky, took CMakeList.txt from trunk and used it for building - Joe spotted the error in time for F42 and made sure it provided serf-1.pc as well - Brane has made sure future Serf releases will provide serf-1.pc. So the patch is probably correct, but only for RHEL9 and it should not be necessary for future releases. Cheers, Daniel [1] https://src.fedoraproject.org/rpms/libserf/blob/rawhide/f/libserf.spec#_59 [2] https://svn.apache.org/repos/asf/serf/trunk/CMakeLists.txt/?r=1923121