"coolwsd" deleted after compilation: `rotation=never` causes cleanup failure

Hi, I’m building Collabora Online from source in a Docker container (Ubuntu 24.04) and encountered an issue where the compiled coolwsd binary gets deleted during the build process.

What happened:

  1. make -j$(nproc) compiles coolwsd successfully
  2. During setup-wsd, the Makefile runs: ./coolwsd --cleanup || rm -f ./coolwsd
  3. The cleanup command fails with error: “Null pointer: strategy”
  4. The binary gets deleted as a result

What I found:

The issue seems related to the logging configuration in coolwsd.xml.in:

<property name="rotation" desc="Log file rotation strategy. See Poco FileChannel.">never</property>

When rotation=never, Poco FileChannel appears to fail during initialization, causing the cleanup to fail.

My workaround:

I changed the rotation value to daily in coolwsd.xml.in:

<property name="rotation" desc="Log file rotation strategy. See Poco FileChannel.">daily</property>

After this change, cleanup succeeds and the binary is preserved.

My questions:

  1. Is rotation=never supposed to be a valid configuration value?
  2. If not, should the default template use a different value?
  3. Is there a better way to handle this, or is my workaround the correct approach?

I’m new to Collabora development, so I’d appreciate any guidance. The Makefile’s cleanup mechanism (lines 534-540) seems designed to protect CI environments, but it’s confusing when a configuration issue triggers binary deletion.

Thanks for your help!

Welcome! :slight_smile:

Can you please post what Poco version you use to build COOL? I wonder if we try to use some Poco API that’s not available in that version and configure should fail early for known-problematic / old Poco versions.

Thanks.