On 24. 5. 26 22:12, Daniel Sahlberg wrote:
Den sön 24 maj 2026 kl 03:20 skrev Branko Čibej <[email protected]>:
On 24. 5. 26 02:52, [email protected] wrote:
Author: brane
Date: Sun May 24 00:52:17 2026
New Revision: 1934546
Log:
Add svnbrowse to the autotools build.
Building svnbrowse is optional and can be enabled with --enable-svnbrowse.
When enabled, --with-ncurses can be used to find the ncurses installation.
[...]
This was a bit of an adventure, during which I found a bug in one
of the Makefile generator's templates ... Anyway, svnbrowse works
on my Mac, and by "works" I mean it doesn't crash immediately and
it does browse the remote repository. Nice.
Thanks for doing this!
I tried it out on Ubuntu 26.04 (in WSL) but it failed with a link
error related to apr_palloc:
[[[
if true ; then cd subversion/svnbrowse && /bin/bash
"/home/dsg/svn_trunk4/libtool" --tag=CC --silent --mode=link gcc -g3
-fno-omit-frame-pointer -fno-inline -DSVN_DEBUG -DAP_DEBUG
-L/home/dsg/bin/lib/pkgconfig/../../lib -rpath /home/dsg/bin/lib -o
svnbrowse model.lo svnbrowse.lo
../../subversion/libsvn_client/libsvn_client-1.la
<http://libsvn_client-1.la> ../../subversion/libsvn_ra/libsvn_ra-1.la
<http://libsvn_ra-1.la> ../../subversion/libsvn_subr/libsvn_subr-1.la
<http://libsvn_subr-1.la>
../../subversion/libsvn_delta/libsvn_delta-1.la
<http://libsvn_delta-1.la> -lncurses -ltinfo ; else echo "fake" >
subversion/svnbrowse/svnbrowse ; fi
/usr/bin/x86_64-linux-gnu-ld.bfd: .libs/model.o: undefined reference
to symbol 'apr_palloc'
/usr/bin/x86_64-linux-gnu-ld.bfd:
/usr/lib/x86_64-linux-gnu/libapr-1.so.0: error adding symbols: DSO
missing from command line
collect2: error: ld returned 1 exit status
make: *** [build-outputs.mk:1204 <http://build-outputs.mk:1204>:
subversion/svnbrowse/svnbrowse] Error 1
]]]
As usual, I'm way out of my depth but in the spirit of "fake it 'till
you make it" I patched build.conf like this:
[[[
Index: build.conf
===================================================================
--- build.conf (revision 1934566)
+++ build.conf (working copy)
@@ -229,7 +229,7 @@
# 'when' is ignored without 'compile-cmd'
compile-cmd = $(LT_COMPILE) -o $@ -c
path = subversion/svnbrowse
-libs = libsvn_client libsvn_ra libsvn_subr libsvn_delta ncurses
+libs = libsvn_client libsvn_ra libsvn_subr libsvn_delta ncurses apr
install = tui
# Support for GNOME Keyring
]]]
Is this required or did I mess something else up?
This is definitely required. If you look at other targets in build.conf
that use APR functions directly, you'll find they all explicitly list
APR(-Util) as a dependency. I'm surprised this worked on macOS; looks
like it's a feature of the linker that it uses indirect dependencies. I
expect this must be the case on Windows, too? Or does the CMake build
always add apr and apr-util to the link dependencies?
-- Brane