Install libmsquic system-wide in the QUIC dev image so .NET can find it
Finding 8(c): the dev image builds the Node bridge's own libmsquic copy into a build-local directory (scripts/build-quic-native.sh), which is never on the loader's search path. .NET's System.Net.Quic resolves "libmsquic" through that path independently and failed with PlatformNotSupportedException before this. The smallest honest fix: dpkg -i the same pinned 2.5.9 deb (same URL, same SHA-256 as the build script) system-wide and run ldconfig, so both the Node bridge's own copy and .NET's independent resolution find a libmsquic. Changes the image; the new tag is cultlib-quic-native-dev:75cb89e73850 (first 12 hex of this file's sha256), built fresh on Yggdrasil. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
499315afc5
commit
e4e81d1628
1 changed files with 16 additions and 0 deletions
|
|
@ -49,6 +49,22 @@ RUN curl -fsSL https://dot.net/v1/dotnet-install.sh -o /tmp/dotnet-install.sh \
|
|||
&& ln -s /usr/share/dotnet/dotnet /usr/local/bin/dotnet
|
||||
ENV DOTNET_ROOT=/usr/share/dotnet
|
||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
|
||||
# .NET's own System.Net.Quic P/Invokes into "libmsquic" and resolves it
|
||||
# through the loader's normal search path, not through this repo's
|
||||
# CULTMESH_QUIC_NATIVE_DIR (that is the Node bridge's own binary directory,
|
||||
# never the system loader path). Without this, the interop lane's C# peer
|
||||
# fails QuicListener.IsSupported with PlatformNotSupportedException. `dpkg -i`
|
||||
# (rather than the build script's `dpkg-deb -x` into a build-local directory)
|
||||
# installs the same pinned package into /usr/lib/x86_64-linux-gnu and runs
|
||||
# ldconfig, so it is resolvable process-wide. Same version, same digest as
|
||||
# scripts/build-quic-native.sh.
|
||||
RUN curl -fsSL -o /tmp/libmsquic.deb \
|
||||
https://packages.microsoft.com/debian/13/prod/pool/main/libm/libmsquic/libmsquic_2.5.9_amd64.deb \
|
||||
&& echo "1baa61ade0b7b4a99f6dcb6b00d9aedb12b5566d00918a325be7425e878e51ba /tmp/libmsquic.deb" | sha256sum -c - \
|
||||
&& dpkg -i /tmp/libmsquic.deb \
|
||||
&& rm /tmp/libmsquic.deb \
|
||||
&& ldconfig
|
||||
# This minimal Debian image carries no ICU package, and .NET's runtime
|
||||
# FailFasts on startup without one. The interop peer already parses every
|
||||
# argument through CultureInfo.InvariantCulture, so globalization-invariant
|
||||
|
|
|
|||
Loading…
Reference in a new issue