On 13. 6. 25 16:40, Branko Čibej wrote:
On 13. 6. 25 16:27, Timofei Zhakov wrote:
On Fri, Jun 13, 2025 at 4:10 PM GitBox <g...@apache.org> wrote:
The GitHub Actions job "CMake" on subversion.git/trunk has failed.
Run started by GitHub user asfgit (triggered by asfgit).
Head commit for run:
d510c071272942161ccaf298bd2aef9cdcaade62 / Timofei Zhakov
<rin...@apache.org>
* .github/workflows/cmake.yml: Add Mac OS workflow.
(matrix): Add simple configuration.
(Prepare Environment): Add path to where serf would be installed to
CMAKE_PREFIX_PATH.
(Install dependencies): Get Subversion from homebrew for Serf
library.
- Pre-tested in my GitHub fork.
It was working! Most likely I didn't properly pull new commits.
- Most of the libraries should be pre-installed in the system due to
the dev-kit.
git-svn-id:
https://svn.apache.org/repos/asf/subversion/trunk@1926389
13f79535-47bb-0310-9956-ffa450edef68
Report URL:
https://github.com/apache/subversion/actions/runs/15636085735
With regards,
GitHub Actions via GitBox
I see. Mac OS works badly with pkg-config.
MacOS works just fine with pkg-config, but using it for finding
system-standard libraries is borked. There's a long history that
explains that.
I think we should change the default value of SVN_USE_PKG_CONFIG to
be enabled only on Linux (in cmake).
That would be ... suboptimal.
However, I think our autoconf script uses it on Mac as well. So maybe
the dependencies used are wrong.
The thing is the dev-kit provides non-working .pc files which say
that include dir is `/usr/include/apr-1`, which doesn't exist at all.
Yep. Ages ago, macOS (only it was called OS X back then) shipped with
Apache httpd-2.2 and apr and apr-util. They used that for "web sharing",
basically, users could (and still can, through a different mechanism)
create their own web pages on the mac and they could share them on the
local network.
At the time, I could run davheck by putting the necessary configuration
in a .htaccess file in my "public" directory.
httpd and apr and apr-util are gone now, but some useless bits and
pieces are still there in the command-line-tools install. As is, for
example, krb5-config and even the GSSAPI libraries, so for example you
can build Serf to link with those ... but Kerberos authentication
doesn't work then.
Maybe it's also better to use homebrew to download all libraries
instead of relying on those pre-installed packages.
I was looking at your patch and wondered where you got the other
dependencies.
Use Homebrew for evertything, except zlib -- that one from /usr is
fine. See Serf's implementation of -DUSE_HOMEBREW=ON for details,
Homebrew tend to use the system zlib. Everything else, including
utf8proc and lz4 and sqlite3, should come from Homebrew.
Note that MacPorts would also work, the difference being that MacPorts
requires superuser permissions to install packages, whereas Homebrew
doesn't (and the final layout is different, too). Also if you choose
to use MacPorts, do use the zlib from there, because everything else
-- including Serf and OpenSSL -- uses that version.
Note, if you use MacPorts, you can -DCMAKE_PREFIX_PATH=/opt/local and
all the dependencies will be found. Assuming you use find_package();
otherwise you might have to set PKG_CONFIG_PATH as well.
-- Brane