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

Reply via email to