Trouble with new lo-build

Christian Lohmaier lohmaier at googlemail.com
Wed Jul 2 11:07:01 UTC 2025


Hi Jürgen, *,

On Mon, Jun 30, 2025 at 11:14 PM Juergen Funk <j-funk at outlook.de> wrote:
>
> i have install Win11 (in Hyper-V),

Then you might also have used the wsl-as-helper approach as opposed to
using cygwin.

> for install the LibreOffice build i have use this docu https://wiki.documentfoundation.org/Development/BuildingOnWindows
> and use  the hard way (not with LODE).

> my autogen.input is
>    --with-ant-home=/cygdrive/d/src/lo/sources/java/apache-ant-1.9.5
>    --with-junit=/cygdrive/d/src/lo/sources/java/junit-4.10.jar
>    --with-hamcrest=/cygdrive/d/src/lo/sources/java//hamcrest-2.2.jar
> […]

Junit 4.10 should still include hamcrest, so if you're already using
the separate hamcrest you could/should also be using newer junit
probably...

> In this case i get a lot of errors:
>
> checking for pkgconf-2.4.3.exe... no
> configure: error:
>             A windows version of pkgconf is required to build harfbuzz.
>             Add PKG_CONFIG=/path/to/pkgconf-2.4.3.exe to autogen.input or put it in PATH
> Error running configure at ./autogen.sh line 333.
>
> and

Well, if configure is failing, the build is known to not work, so any
further errors are expected.

> [meson configure of harfbuzz]
> Found pkg-config: YES (D:/dev/cygwin64/bin/pkgconf-2.4.3.exe) 2.4.3
> Found CMake: C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.EXE (3.31.6)
> Run-time dependency graphite2 found: NO (tried pkgconfig and cmake)
>
> meson.build:147:16: ERROR: Dependency "graphite2" not found, tried pkgconfig and cmake

That looks like you were trying to use a cygwin/unix version of
pkgconf. That won't work. configure does look for the versioned
executable to prevent accidental mixups with cygwin-provided pkgconf
or pkg-config.

> After that I have compare the hard way with LODE and found a lot of diffs.
> I have adapted, testing and improve the docu of https://wiki.documentfoundation.org/Development/BuildingOnWindows

Well, wouldn't call that "lot of diffs" and furthermore: Lode's cygwin
install script is not authoritative due to the chicken-and-egg issue.
You first have to install cygwin to clone. Also by looking at the
changes it is clear that there is personal bias by including  emacs
and nano for example. And while I don't have hard feelings on adding
those, I have a problem with removing vim from the list in return.

All CI bots have been set up by using the cygwin package list from the
wiki, not from the file in lode.

The changes in the lode package list are absolutely unrelated to you
ignoring configure's warning (or "fixing" the warning the wrong  way).
"A windows version of pkgconf is required", so using a cygwin version
won't do.

> But I have not download/install the meson 1.7.2,

You don't need to provide meson anymore. Too few people read
configure's output/explicitly disrespected it so meson is now provided
as an external, downloaded and extracted during the build.

> above have get the error in meason, after my adaption is all fine, for what need meson?

Well obviously it was not fine. it requires a windows version so it
can use windows-style paths. meson might claim to be working nicely in
cross-compilation szenarios, but that only holds true in very small
preconditions.
It is just a lot easier to please meson by using an appropriate
pkgconf than to patch fundamentals of meson to work within cygwin for
building for windows.

> A other question or hint (only a wrong output)
>
> When start ./autogen.sh the ouptut is okay and right
> but
> when start make the output is mixed up (with color or without):
> […]

That didn't make it across properly in the mail, but also looks like
an explicit override or not using the default cygwin terminal:
solenv/gbuild/Output.mk:
# default to color output, if interactive
ifeq ($(origin gb_COLOR),undefined)
ifneq ($(MAKE_TERMOUT),)
# Cygwin mintty has issues where gb_Output_error is swallowed
# but git-bash/wsl-as-helper seems fine with it
ifneq ($(OS)$(MSYSTEM),WNT)
gb_COLOR=$(true)
endif
endif
endif

MSYSTEM is only set in git-bash (i.e. in the wsl-as-helper method),
not in the default cygwin terminal, so unless you manually set
gb_COLOR to true (something non-empty), it should not use colored
output to begin with.

ciao
Christian


More information about the LibreOffice mailing list