Skip to content

domoticz: disable LTO (for breaking the build)#29239

Open
ryjelsum wants to merge 1 commit intoopenwrt:masterfrom
ryjelsum:domoticz-fix
Open

domoticz: disable LTO (for breaking the build)#29239
ryjelsum wants to merge 1 commit intoopenwrt:masterfrom
ryjelsum:domoticz-fix

Conversation

@ryjelsum
Copy link
Copy Markdown

📦 Package Details

Maintainer: @dwmw2

Description:
Sometime in Dec 2025, domoticz's package started to fail to build after a dependency update. The root of the problem is LTO, seemingly in combination with usage of -D_FORTIFY_SOURCE=1. LTO doesn't seem to be actively tested in domoticz's development anymore, so it is probably best to disable it. (Unless someone else has a better suggestion!)
See #29004


🧪 Run Testing Details

  • OpenWrt Version: 25.12.2
  • OpenWrt Target/Subtarget: ipq40xx/chromium
  • OpenWrt Device: Google Wifi (gale)
    (Compiled into an image and run on a device, and checked for basic functionality.)

✅ Formalities

  • I have reviewed the CONTRIBUTING.md file for detailed contributing guidelines.

@commodo
Copy link
Copy Markdown
Contributor

commodo commented Apr 26, 2026

Formalities need fix

@ryjelsum ryjelsum changed the title domoticz: Disable LTO (for breaking the build) domoticz: disable LTO (for breaking the build) Apr 26, 2026
@ryjelsum
Copy link
Copy Markdown
Author

I think that force-push should fix the commit message formality issues? Let me know if there's anything else I need to fix up.

@hnyman
Copy link
Copy Markdown
Contributor

hnyman commented Apr 27, 2026

You could bump also the PKG_RELEASE
PKG_RELEASE:=4

Sometime in Dec 2025, domoticz's package started to fail to build after a
dependency update.The root of the problem is LTO, seemingly in combination
with usage of -D_FORTIFY_SOURCE=1.
LTO doesn't seem to be actively tested in domoticz's development anymore,
so it is probably best to disable it.

See openwrt#29004

Signed-off-by: Rudi Knauss <ryjelsum@gmail.com>
@commodo
Copy link
Copy Markdown
Contributor

commodo commented May 1, 2026

Are you sure that just the LTO thing is the issue?

I am seeing also some:

      |                         ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/builder/shared-workdir/build/sdk/staging_dir/target-i386_pentium-mmx_musl/usr/include/boost/asio/detail/initiate_post.hpp:52:29: error: no match for call to '(const boost_asio_require_fn::impl) (boost::asio::associated_executor_t<tcp::server::CTCPServerInt::stop()::<lambda()>, boost::asio::basic_inline_executor<boost::asio::execution::detail::inline_exception_handling::propagate_t<0> > >&, const boost::asio::execution::detail::blocking_t<>::never_t&)'
   52 |         boost::asio::require(ex, execution::blocking.never),

This looks like boost compat failure?

Mind taking a look at this patch?
commodo@f378afe

There may be something else missing.

commodo added a commit to commodo/packages that referenced this pull request May 2, 2026
boost::asio::post() without an explicit executor fails to compile with
Boost >= 1.82 due to changes in the executor model: bare lambdas no
longer have an implicit system executor that satisfies the
blocking.never requirement.

Pass io_context_ explicitly as the first argument so the handler is
dispatched on the correct io_context thread, which is the original
intent of the call (making stop() safe to call from any thread).

Add test.sh
domoticz is a daemon requiring a database and network port; it does not
implement a --version flag. Verify the binary is present and executable.

Disable LTO to fix link failure on i386 with musl fortify
Suggested via openwrt#29239
Also tested.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
commodo added a commit to commodo/packages that referenced this pull request May 2, 2026
boost::asio::post() without an explicit executor fails to compile with
Boost >= 1.82 due to changes in the executor model: bare lambdas no
longer have an implicit system executor that satisfies the
blocking.never requirement.

Pass io_context_ explicitly as the first argument so the handler is
dispatched on the correct io_context thread, which is the original
intent of the call (making stop() safe to call from any thread).

Add test.sh
domoticz is a daemon requiring a database and network port; it does not
implement a --version flag. Verify the binary is present and executable.

Disable LTO to fix link failure on i386 with musl fortify
Suggested via openwrt#29239
Also tested.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
commodo added a commit to commodo/packages that referenced this pull request May 2, 2026
boost::asio::post() without an explicit executor fails to compile with
Boost >= 1.82 due to changes in the executor model: bare lambdas no
longer have an implicit system executor that satisfies the
blocking.never requirement.

Pass io_context_ explicitly as the first argument so the handler is
dispatched on the correct io_context thread, which is the original
intent of the call (making stop() safe to call from any thread).

Add test.sh
domoticz is a daemon requiring a database and network port; it does not
implement a --version flag. Verify the binary is present and executable.

Disable LTO to fix link failure on i386 with musl fortify
Suggested via openwrt#29239
Also tested.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
GeorgeSapkin pushed a commit to commodo/packages that referenced this pull request May 2, 2026
boost::asio::post() without an explicit executor fails to compile with
Boost >= 1.82 due to changes in the executor model: bare lambdas no
longer have an implicit system executor that satisfies the
blocking.never requirement.

Pass io_context_ explicitly as the first argument so the handler is
dispatched on the correct io_context thread, which is the original
intent of the call (making stop() safe to call from any thread).

Add test.sh
domoticz is a daemon requiring a database and network port; it does not
implement a --version flag. Verify the binary is present and executable.

Disable LTO to fix link failure on i386 with musl fortify
Suggested via openwrt#29239
Also tested.

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants