• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ossia / libossia / 31275445545
51%

Build:
DEFAULT BRANCH: master
Ran 08 Aug 2026 08:30PM UTC
Jobs 1
Files 495
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

08 Aug 2026 07:50PM UTC coverage: 50.828% (+2.5%) from 48.367%
31275445545

push

github

jcelerier
build: version Boost.Asio's global symbols on Windows

Since 1.91, Asio names its global symbols through BOOST_ASIO_VERSIONED_NAME,
which with no version namespace expands to the bare asio_ prefix - byte for
byte the names standalone Asio uses. Before 1.91 they carried a boost_asio_
prefix and could not collide.

Where Asio is compiled separately we emit strong definitions of them, so
anything else in the link carrying its own standalone Asio collides with us.
score's LSL addon bundles Asio and compiles asio/impl/src.hpp, and the two meet
as

  lld-link : error : duplicate symbol: asio_signal_handler
    >>> defined at ossia_x64.lib(unity_0_cxx.obj)
    >>> defined at lsl.lib(asio_objects.obj)

which is what stopped score's MSVC job linking as soon as our Boost floor moved
to 1.91.

Enabling the version namespace renames ours - asio_v103801_bdemo_signal_handler
- and leaves standalone Asio's alone. It holds together only with the
_WIN32_WINNT pin above: the namespace tag encodes the Asio configuration, so
without a fixed configuration it varies per translation unit and the duplicate
symbol merely becomes an undefined one. It also requires that nothing declare
an Asio type outside that namespace, which is what the libremidi update in the
previous commit settles.

Set both at the top level, so that the dependencies we build as subdirectories
are configured the same way, and PUBLIC on the ossia target, because this is
part of our ABI rather than only of how we are built. The namespace is an
inline namespace, so it is baked into the mangled name of every Asio type our
headers expose: resolve.cpp explicitly instantiates resolve_sync_v4 for
boost::asio::ip::udp and ::tcp, and a consumer that disagrees about the
namespace names a different specialisation and does not link.

Verified against Boost 1.91: libossia builds clean with VS2026, ossia_x64.lib
exports asio_v103801_bdemo_signal_handler and no longer contains the bare
asio_signal_handler at all; and sco... (continued)

29314 of 57673 relevant lines covered (50.83%)

182772.1 hits per line

Coverage Regressions

Lines Coverage ∆ File
81
27.8
-0.09% src/ossia/dataflow/nodes/sound_mmap.hpp
63
72.19
3.25% src/ossia/editor/scenario/detail/scenario_execution.cpp
56
76.72
18.97% src/ossia/editor/scenario/time_interval.cpp
45
25.56
2.48% src/ossia/dataflow/execution_state.cpp
36
88.89
8.32% src/ossia/dataflow/token_request.hpp
22
0.0
0.0% src/ossia/dataflow/graph/tick_methods.hpp
19
79.52
2.5% src/ossia/dataflow/nodes/timestretch/rubberband_stretcher.hpp
14
80.0
1.69% src/ossia/dataflow/nodes/sound.hpp
7
89.55
10.14% src/ossia/dataflow/nodes/sound_sampler.hpp
6
34.33
8.96% src/ossia/dataflow/nodes/sound_utils.hpp
5
93.62
21.74% src/ossia/editor/scenario/time_value.hpp
4
98.87
0.09% tests/Dataflow/SoundTest.cpp
2
86.67
-0.83% src/ossia/dataflow/exec_pool.hpp
2
68.02
2.14% src/ossia/dataflow/graph_node.cpp
2
0.0
0.0% src/ossia/editor/scenario/scenario.hpp
1
96.55
-3.45% src/ossia/detail/math.hpp
1
88.89
0.0% src/ossia/editor/scenario/time_interval.hpp
Jobs
ID Job ID Ran Files Coverage
1 31275445545.1 08 Aug 2026 08:30PM UTC 495
50.83
GitHub Action Run
Source Files on build 31275445545
  • Tree
  • List 495
  • Changed 31
  • Source Changed 0
  • Coverage Changed 31
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • cdeb2619 on github
  • Prev Build on master (#30753938563)
  • Next Build on master (#31433404441)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc