[GH-ISSUE #228] Linux armhf 32bit support #145

Closed
opened 2026-05-05 11:06:44 -06:00 by gitea-mirror · 5 comments
Owner

Originally created by @raven-worx on GitHub (Nov 9, 2020).
Original GitHub issue: https://github.com/qmlnet/qmlnet/issues/228

Hi,
we managed to compile libQmlNet.so for Linux armv7 (32bit). But during runtime we encounter the following runtime exception:

Unhandled exception. System.Exception: Unsupported target
at Qml.Net.Runtimes.RuntimeManager.RuntimeTargetToString(RuntimeTarget target)
at Qml.Net.Runtimes.RuntimeManager.FindQtRuntime(String[] runtimeDirectories, String qtVersion, RuntimeTarget target)
at Qml.Net.Runtimes.RuntimeManager.FindSuitableQtRuntime(RuntimeSearchLocation runtimeSearchLocation)
at Qml.Net.Runtimes.RuntimeManager.DiscoverOrDownloadSuitableQtRuntime(RuntimeSearchLocation runtimeSearchLocation)
at Features.Program.Main(String[] args) in /source/qmlnet-examples/src/Features/Program.cs:line 12

Digging into the source we spotted the explicit check for 64bit pointer width.
https://github.com/qmlnet/qmlnet/blob/develop/src/net/Qml.Net/Runtimes/RuntimeManager.cs#L47

What is the need for explicit 64bit?
And is there any chance to easily support 32bit?

Originally created by @raven-worx on GitHub (Nov 9, 2020). Original GitHub issue: https://github.com/qmlnet/qmlnet/issues/228 Hi, we managed to compile libQmlNet.so for Linux armv7 (32bit). But during runtime we encounter the following runtime exception: > Unhandled exception. System.Exception: Unsupported target at Qml.Net.Runtimes.RuntimeManager.RuntimeTargetToString(RuntimeTarget target) at Qml.Net.Runtimes.RuntimeManager.FindQtRuntime(String[] runtimeDirectories, String qtVersion, RuntimeTarget target) at Qml.Net.Runtimes.RuntimeManager.FindSuitableQtRuntime(RuntimeSearchLocation runtimeSearchLocation) at Qml.Net.Runtimes.RuntimeManager.DiscoverOrDownloadSuitableQtRuntime(RuntimeSearchLocation runtimeSearchLocation) at Features.Program.Main(String[] args) in /source/qmlnet-examples/src/Features/Program.cs:line 12 Digging into the source we spotted the explicit check for 64bit pointer width. https://github.com/qmlnet/qmlnet/blob/develop/src/net/Qml.Net/Runtimes/RuntimeManager.cs#L47 What is the need for explicit 64bit? And is there any chance to easily support 32bit?
Author
Owner

@pauldotknopf commented on GitHub (Nov 9, 2020):

If you've manually compiled libQmlNet.so and it's installed into the proper location (/usr/lib, or LD_LIBRARY_PATH), then you shouldn't need to call the RuntimeManager.DiscoverOrDownloadSuitableQtRuntime anymore.

<!-- gh-comment-id:724123719 --> @pauldotknopf commented on GitHub (Nov 9, 2020): If you've manually compiled ```libQmlNet.so``` and it's installed into the proper location (```/usr/lib```, or ```LD_LIBRARY_PATH```), then you shouldn't need to call the ```RuntimeManager.DiscoverOrDownloadSuitableQtRuntime``` anymore.
Author
Owner

@pauldotknopf commented on GitHub (Nov 9, 2020):

Using RuntimeManager is only for using the pre-compiled Qt/lib bits that we manage.

<!-- gh-comment-id:724124012 --> @pauldotknopf commented on GitHub (Nov 9, 2020): Using ```RuntimeManager``` is only for using the pre-compiled Qt/lib bits that we manage.
Author
Owner

@raven-worx commented on GitHub (Nov 9, 2020):

i built libQmlNet.so by simply invoking build.sh and the result was linked against our custom Qt libs (verified by ldd).
Then i built qmlnet-examples and run it on the armv7 target device via dotnet Features.dll and the exception is raised.

<!-- gh-comment-id:724134698 --> @raven-worx commented on GitHub (Nov 9, 2020): i built libQmlNet.so by simply invoking `build.sh` and the result was linked against our custom Qt libs (verified by ldd). Then i built [qmlnet-examples](https://github.com/qmlnet/qmlnet-examples) and run it on the armv7 target device via `dotnet Features.dll` and the exception is raised.
Author
Owner

@pauldotknopf commented on GitHub (Nov 9, 2020):

Uncomment the usage of RuntimeManager in the examples project.

<!-- gh-comment-id:724178732 --> @pauldotknopf commented on GitHub (Nov 9, 2020): Uncomment the usage of ```RuntimeManager``` in the examples project.
Author
Owner

@raven-worx commented on GitHub (Nov 10, 2020):

ok, i uncommented the RuntimeManager line and it works now. thank you!

<!-- gh-comment-id:724659448 --> @raven-worx commented on GitHub (Nov 10, 2020): ok, i uncommented the RuntimeManager line and it works now. thank you!
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#145
No description provided.