Autogen is missing dependencies

I’m not entirely sure this is the right place to post this question, so if it isn’t please kindly let me know.

I was following the instructions of the Development/BuildingOnWindows article. Afterwards I noticed that the file autogen.input has not been created so I tried running autogen.sh manually. This resolved in the following error message:

Various low-level dependencies are missing, please install them:
         autoconf: autoconf is required
         pkg-config: pkg-config is required to be installed
         aclocal: aclocal is required

My first question would be where I could download these programms. I had a look online and found the following links. I’m not entirely sure those are the “official” sources as some of these packages are from 2004. Can someone tell me if I found the “right one”?

Links:

  • hXXps://download.gnome.org/binaries/win32/dependencies/
  • hXXps://gnuwin32.sourceforge.net/packages/autoconf.htm
  • hXXps://gnuwin32.sourceforge.net/packages/automake.htm

I was also wondering if anyone ever had the same problem or if that was a mistake on my part. If it was the former (which I consider unlikely) the instructions would need to be updated.

Here is some additional information that might help:

  • OS Edition: Windows 11 Home
  • OS Version: 25H2
  1. No it’s not the best place here - use https://www.libreoffice.org/community/developers, including “talk to developers” links there.
  2. Those dependencies are needed in your WSL (Linux) - yes, it is needed when building for Windows on Windows. You are not expected to download them from sites; the norm is to use the respective Linux distro’s package management system (use advise 1 to get a better help, including an option to get a boarding call with @ilmari).
1 Like

Hey

I just wanted to thank you real quick for answering my questions :grin:

This is the important bit in your case:

These instructions assume you have not installed any WSL container. The automated steps install an Ubuntu WSL container and the required packages only, if existing containers are not found. If you have an existing container, you may need to enter it and install packages manually. See the relevant winget file in the source code and its definition of the needed packages near the end.

Probably you had used WSL before. I believe the winget files might be improved in this regard, though. It is certainly a recurring topic.

1 Like

I did previously check if I had WSL installed, which was mot the case. I also distinctively remember having to install it via Windows Features.

After reading mikekaganskis comment however I did install the missing dependencies in the WSL container. But it seems like the issue is still persistent. Would you have any idea why that might be?

Can you paste the full output of when you run wsl ./autogen.sh in Git Bash?

The error I get is the following:

$ wsl lo/libo-core/autogen.sh
Running './configure --srcdir=/mnt/c/Users/tobil/Documents/Projects/lo/libo-core --enable-option-checking=fatal'
********************************************************************
*
*   Running LibreOffice build configuration.
*
********************************************************************

configure: error: for the moment strawberry-perl-portable is a requirement, feel free to replace it
Error running configure at lo/libo-core/autogen.sh line 338.

I also ran the command winget configure -f lo/libo-core/.config/user_steps.winget again which did not seem to solve the problem.

Alright, so that is now something different from your original message. Did you in a Command Prompt as administrator run

cd %USERPROFILE%
winget configure -f lo/libo-core/.config/admin_java_and_deps.winget

and also, why are you running it like that? Is this a conscious decision? This would have your build directory be your user profile directory, which I don’t think you want. Also, as you probably did not do this consciously, you are lacking the autogen.input file in that directory. Please, for simplicity, follow the advice in the instructions and cd lo/libo-core into the expected directory. It is fine to have a separate build directory, though, you just need to copy the autogen.input file into it. But surely you don’t want that to be the root of your user profile directory.

Okey so thanks to your comment I nearly made it work. I think the problem was actually me being in the wrong directory when running those scripts as I didn’t run them in the user profile directory.

Now I get yet another error message:

$ ./g -z
wsl ./autogen.sh
make
Running './configure --host=x86_64-pc-cygwin --disable-ccache --with-visual-studio=2022 --enable-python=fully-internal --without-lxml --disable-online-update --with-external-tar=C:\Users\<username>\lo\lo-externaltar --with-strawberry-perl-portable=C:\Users\<username>\lo\spp --with-ant-home=C:\Users\<username>\lo\apache-ant-1.10.15 --with-junit=C:\Users\<username>\lo\junit-4.10.jar --with-doxygen=C:\Users\<username>\lo\spp\c\bin\doxygen.exe --srcdir=/mnt/c/Users/<username>/lo/libo-core --enable-option-checking=fatal'
********************************************************************
*
*   Running LibreOffice build configuration.
*
********************************************************************

checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-cygwin
checking for product name... LibreOfficeDev
checking for package version... 26.8.0.0.alpha0+
checking for product version... 26.8
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for grep... (cached) /usr/bin/grep
checking for GNU Make...
configure: error: not found. install GNU Make.
Error running configure at ./autogen.sh line 338.
make: *** No targets specified and no makefile found.  Stop.

I also wanted to answer to your previous comment, I did indeed run that command in the command prompt with the Administrator.

Like Perl, make should be downloaded by the admin_java_and_deps winget file. Then, the user_steps winget file should copy make into a bin directory in your user profile (not every dep goes into bin, read the winget file to see where they go). Note to run the user_steps winget file as a normal user in Command Prompt, not as admin.

Weirdly enough the file “make.exe” is in the bin directory. I can also confirm that I ran the file admin_java_and_deps.winget as admin and user_steps.winget in the normal user context.

Also when I run the command make, I get the following output. So I’m assuming that it was installed correctly.

$ make
make: *** No targets specified and no makefile found.  Stop.

Can you share your full config.log content via a paste service such as https://pastee.dev/ ?

For some weird reason I couldn’t access https://pastee.dev/ and all alternatives I tried took forever to upload the log. I decided to upload my log file here. I hope that is fine with you.

I got it working on my own after running the follwoing commands in wsl:

  • sudo apt install make
  • sudo apt install gperf
  • sudo apt install bison
  • sudo apt install flex
  • sudo apt install zip

Thank you very much for your help :grin:

for the next time:

sudo apt install make gperf bison flex zip
1 Like

Alright, so my original answer was relevant after all :slight_smile: Per the winget files, the command to run within the WSL container would be: sudo apt install pkg-config automake make gperf bison nasm flex zip libfont-ttf-perl