mirror of
https://github.com/qmlnet/qmlnet.git
synced 2026-05-15 14:15:54 -06:00
[GH-ISSUE #102] Support for running on ARM. #61
Labels
No labels
bug
enhancement
help wanted
help wanted
pull-request
question
todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/qmlnet#61
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @MaxMommersteeg on GitHub (Dec 27, 2018).
Original GitHub issue: https://github.com/qmlnet/qmlnet/issues/102
If Qt can run on arm (for example a Raspberry Pi) should we support it? Would performance be reasonable enough?
Was publishing my app with
dotnet publish -r linux-armand running withdotnet [app_name].dllbut resulted in an exceptionCould not find Qml.Net libraryor something like that.@pauldotknopf commented on GitHub (Dec 27, 2018):
It is possible currently, you just need to compile
libQmlNet.soyourself.I think it's a bit too early to provide precompiled binaries for it though. Maybe in the future.
@seebosmile commented on GitHub (Feb 11, 2019):
result I try running on raspbery pi3
~/Desktop/netcoreapp2.2/publish /dotnet PhotoFrame.App.dll
Unhandled Exception: System.TypeInitializationException: The type initializer for 'Qml.Net.Internal.Interop' threw an exception. ---> System.Exception: Couldn't find the native Qml.Net library.
at Qml.Net.Internal.Interop..cctor()
--- End of inner exception stack trace ---
at Qml.Net.Internal.Qml.NetVariantList..ctor()
at Qml.Net.QGuiApplication.Create(List`1 args)
at Qml.Net.QGuiApplication..ctor(String[] args)
at PhotoFrame.App.Program.Main(String[] args) in D:\Hardware\Raspbery PI\qmlnet-develop\qmlnet-develop\samples\PhotoFrame\PhotoFrame.App\Program.cs:line 25
Aborted
@seebosmile commented on GitHub (Feb 11, 2019):
i try to compile Native On raspberypi 3 , but problem on compile
pi@kiosk:~/Desktop/QmlNet/native $ qmake --version
QMake version 3.0
Using Qt version 5.7.1 in /usr/lib/arm-linux-gnueabihf
pi@kiosk:~/Desktop/QmlNet/native $ sudo sh build.sh
Project ERROR: Unknown module(s) in QT: quickcontrols2
make: *** No targets specified and no makefile found. Stop.
make: *** No rule to make target 'install'. Stop.
@ernest-morariu commented on GitHub (Mar 1, 2019):
We would like to use your library on Yocto ARM.
I managed to compile the native layer, libQmlNet.so, for Yocto ARM & QT 5.12 by running your build.sh.
Inside the folder "output' I got:
However, using these new binaries into the project Features doesn't seem to be that easy. I will probably do a 'portable' dotnet publish because that creates a 'runtimes' subfolder that contains that contains target specific subfolders with a structure similar to what I got from build.sh.
This kind of publish doesn't create the executable, so to run it i need netcore2.2 on Yocto.
The next step would be to install netcore2.2 on Yocto; this task doesn't seem easy either. I found a link that explains how to do it for netcore2.0. I hope it will work for 2.2, as well.
https://github.com/dotnet/core/blob/master/samples/YoctoInstructions.md
@pauldotknopf commented on GitHub (Mar 1, 2019):
With Yocto, the .NET publishing should touch any native libs. You should build/package the libQmlNet.so into the Yocto distribution like any other recipe.
As for adding dotnet into the Yocto build, use this: https://github.com/pauldotknopf/meta-dotnet
Also, there is a Yocto layer for the native libs of QmlNet here: https://github.com/qmlnet/meta-qmlnet/tree/master/recipes-qmlnet/qmlnet
@ed10vi commented on GitHub (Mar 11, 2019):
I managed to build the lib (just the native part) in a Raspberry Pi 3 running Ubuntu 18.10 arm64 using this:
https://bazaar.launchpad.net/~ed10vi86/+junk/qmlnet-native/view/head:/snap/snapcraft.yaml
($ snapcraft prime)
But when I execute dotnet run, it exits with code 139
Using qt 5.11.1 and dotnet 3.0.0-preview3
@pauldotknopf commented on GitHub (Mar 11, 2019):
Exit code 139 is a segfault.
Can you grab the core dump, and get me a stack trace?
@ed10vi commented on GitHub (Mar 11, 2019):
This?
@pauldotknopf commented on GitHub (Apr 16, 2019):
See this comment about adding support for ARM.
@ed10vi, sorry for the delay, back that segfault looks unrelated to Qml.Net.
@noomio commented on GitHub (Aug 30, 2019):
Hi,
I tried this for a linux-arm and got the following error below. Can you please advise you to fix this?
@pauldotknopf commented on GitHub (Aug 30, 2019):
We don't support Qt 5.9, but I suspect that we could easily support it if you remove the
JsNetArraysupport. It should be easy to carve that out in the source.@noomio commented on GitHub (Aug 30, 2019):
Hi,
I tried to use the latest release by changing the preferred version in layer.conf. I then got the following below. What do you suggest I do? I'm not familiar with yocto much.
@noomio commented on GitHub (Aug 30, 2019):
Hi,
I removed the QTest.o from the make file and it sucessfully was built. libQmlNet.so was created.
What's needed to be done after this step?
@pauldotknopf commented on GitHub (Aug 30, 2019):
Looks like
qWaitForisn't supported in 5.9. See here.There may be more things that aren't present, you'll have to just refer to the docs.
@noomio commented on GitHub (Aug 30, 2019):
So which QT version is supported 5.10? It's not stated in the readme.
@noomio commented on GitHub (Aug 30, 2019):
I was able to build with tag v.0.6.0 against Qt5.9.
Where should you place the *.so on Linux?
I just want to try out before I use the yocto build.
@WingedToaster commented on GitHub (Sep 18, 2019):
Anyone care to share their linux-arm build for QmlNet? Or share instructions as to how it's done? I have build host setup on a vm, just not sure what to do next...
@hesa2020 commented on GitHub (Mar 29, 2022):
+1 I would really appreciate some doc on how to compile to project for ARM.
I need to be able to run my qmlnet project on a raspberry pi pretty soon.