[GH-ISSUE #248] RuntimeManager.DiscoverOrDownloadSuitableQtRuntime() fails on .NET 6.0 #160

Open
opened 2026-05-05 11:07:13 -06:00 by gitea-mirror · 3 comments
Owner

Originally created by @vadi2 on GitHub (Aug 7, 2022).
Original GitHub issue: https://github.com/qmlnet/qmlnet/issues/248

Using .NET 6.0.302:

An unhandled exception of type 'System.Exception' occurred in Qml.Net.dll: 'Couldn't ready block'
   at Qml.Net.Runtimes.Tar.ReadHeader(Stream stream)
   at Qml.Net.Runtimes.Tar.ExtractTarFromGzipStream(Stream stream, String destinationDirectory)
   at Qml.Net.Runtimes.RuntimeManager.GetUrlStream(String url, Action`1 action)
   at Qml.Net.Runtimes.RuntimeManager.DiscoverOrDownloadSuitableQtRuntime(RuntimeSearchLocation runtimeSearchLocation)
Originally created by @vadi2 on GitHub (Aug 7, 2022). Original GitHub issue: https://github.com/qmlnet/qmlnet/issues/248 Using .NET 6.0.302: ``` An unhandled exception of type 'System.Exception' occurred in Qml.Net.dll: 'Couldn't ready block' at Qml.Net.Runtimes.Tar.ReadHeader(Stream stream) at Qml.Net.Runtimes.Tar.ExtractTarFromGzipStream(Stream stream, String destinationDirectory) at Qml.Net.Runtimes.RuntimeManager.GetUrlStream(String url, Action`1 action) at Qml.Net.Runtimes.RuntimeManager.DiscoverOrDownloadSuitableQtRuntime(RuntimeSearchLocation runtimeSearchLocation) ```
Author
Owner

@Redforce04 commented on GitHub (Nov 15, 2022):

Same issue here (roughly)

An error has occurred while trying to discover or download a suitable QT runtime. Exception: System.Exception: Couldn't read bytes
   at Qml.Net.Runtimes.Tar.ExtractTarFromGzipStream(Stream stream, String destinationDirectory)
   at Qml.Net.Runtimes.RuntimeManager.GetUrlStream(String url, Action1 action)
   at Qml.Net.Runtimes.RuntimeManager.DiscoverOrDownloadSuitableQtRuntime(RuntimeSearchLocation runtimeSearchLocation)
   at Tarp.Program.Main(String[] args) in C:\Users\redfo\source\repos\Tarp\Tarp\Program.cs
<!-- gh-comment-id:1315597299 --> @Redforce04 commented on GitHub (Nov 15, 2022): Same issue here (roughly) ``` An error has occurred while trying to discover or download a suitable QT runtime. Exception: System.Exception: Couldn't read bytes at Qml.Net.Runtimes.Tar.ExtractTarFromGzipStream(Stream stream, String destinationDirectory) at Qml.Net.Runtimes.RuntimeManager.GetUrlStream(String url, Action1 action) at Qml.Net.Runtimes.RuntimeManager.DiscoverOrDownloadSuitableQtRuntime(RuntimeSearchLocation runtimeSearchLocation) at Tarp.Program.Main(String[] args) in C:\Users\redfo\source\repos\Tarp\Tarp\Program.cs
Author
Owner

@ChugunovRoman commented on GitHub (Dec 6, 2022):

Same issue (dotnet --version: 7.0.100)

Unhandled exception. System.Exception: Couldn't ready block
   at Qml.Net.Runtimes.Tar.ReadHeader(Stream stream)
   at Qml.Net.Runtimes.Tar.ExtractTarFromGzipStream(Stream stream, String destinationDirectory)
   at Qml.Net.Runtimes.RuntimeManager.<>c__DisplayClass7_0.<DownloadRuntimeToDirectory>b__0(Stream stream)
   at Qml.Net.Runtimes.RuntimeManager.GetUrlStream(String url, Action`1 action)
   at Qml.Net.Runtimes.RuntimeManager.DownloadRuntimeToDirectory(String qtVersion, RuntimeTarget runtimeTarget, String destinationDirectory)
   at Qml.Net.Runtimes.RuntimeManager.DiscoverOrDownloadSuitableQtRuntime(RuntimeSearchLocation runtimeSearchLocation)
   at Features.Program.Main(String[] args) in /home/ruut/Projects/qmlnet-examples/src/Features/Program.cs:line 12
<!-- gh-comment-id:1339140433 --> @ChugunovRoman commented on GitHub (Dec 6, 2022): Same issue (dotnet --version: 7.0.100) ``` Unhandled exception. System.Exception: Couldn't ready block at Qml.Net.Runtimes.Tar.ReadHeader(Stream stream) at Qml.Net.Runtimes.Tar.ExtractTarFromGzipStream(Stream stream, String destinationDirectory) at Qml.Net.Runtimes.RuntimeManager.<>c__DisplayClass7_0.<DownloadRuntimeToDirectory>b__0(Stream stream) at Qml.Net.Runtimes.RuntimeManager.GetUrlStream(String url, Action`1 action) at Qml.Net.Runtimes.RuntimeManager.DownloadRuntimeToDirectory(String qtVersion, RuntimeTarget runtimeTarget, String destinationDirectory) at Qml.Net.Runtimes.RuntimeManager.DiscoverOrDownloadSuitableQtRuntime(RuntimeSearchLocation runtimeSearchLocation) at Features.Program.Main(String[] args) in /home/ruut/Projects/qmlnet-examples/src/Features/Program.cs:line 12 ```
Author
Owner

@tondrej commented on GitHub (Oct 8, 2023):

Can be worked around by downloading and extracting the QT runtime manually:

cd ~/.qmlnet-qt-runtimes/
wget https://github.com/qmlnet/qt-runtimes/releases/download/releases/qt-5.15.1-7fc8b10-linux-x64-dev.tar.gz
tar -xvf qt-5.15.1-7fc8b10-linux-x64-dev.tar.gz

The version string is configured in QmlNetConfig.QtBuildVersion.

<!-- gh-comment-id:1751998215 --> @tondrej commented on GitHub (Oct 8, 2023): Can be worked around by downloading and extracting the QT runtime manually: ``` cd ~/.qmlnet-qt-runtimes/ wget https://github.com/qmlnet/qt-runtimes/releases/download/releases/qt-5.15.1-7fc8b10-linux-x64-dev.tar.gz tar -xvf qt-5.15.1-7fc8b10-linux-x64-dev.tar.gz ``` The version string is [configured](https://github.com/qmlnet/qmlnet/blob/0836ae783a3ed5fb404db68d0706f9a7fa3765b4/src/net/Qml.Net/QmlNetConfig.cs#L9) in `QmlNetConfig.QtBuildVersion`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/qmlnet#160
No description provided.