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

Reply via email to