Repository navigation
Port corehost to QNX7 #33374
Description
Activity
- addedarea-Infrastructure-coreclrOnly use for closed issuesOnly use for closed issuesuntriagedNew issue has not been triaged by the area ownerNew issue has not been triaged by the area owner
on Mar 9, 2020 - addedquestionAnswer questions and provide assistance, not an issue with source code or documentation.Answer questions and provide assistance, not an issue with source code or documentation.and removedarea-Infrastructure-coreclrOnly use for closed issuesOnly use for closed issues
on Mar 9, 2020 Any suggestions on how to build corehost for qnx?
The same way as coreclr? It lives under https://github.com/dotnet/runtime/tree/master/src/installer/corehost
How about the .nuget packages downloaded for specific RID? I used this repo https://github.com/dotnet/core-setup/tree/v2.2.8, when I tried on linux, it pulls down some .nuget files for linux platform, but I don't have these files for QNX to pull down.
You may want to build it from dotnet/runtime repo. dotnet/runtime has everything together that avoids the issues with publishing and downloading packages between repos.
@jkotas Oh. Thanks! Shall I start with all subprojects or only coreclr and corehost should be enough for me?
You can start src\coreclr, src\libraries\Native and corehost; and get the managed libraries from other Unix flavor.
Thanks! By saying managed libraries, do you mean the .dll libraries?
Right
@jkotas I tried the dotnet core 5.0.0-dev on linux and it can build a binary dotnet under artifacts directory, but when I tried to execute it, it gave me an error "A fatal error occurred. The folder [/home/<user_dir>/Github/runtime/artifacts/obj/linux-x64.Debug/cli/dotnet/host/fxr] does not exist". This is the same error when I tried the v2.2.8 version of ccorehost on linux. If I download the cli tar file and untar it, it has sub-directories host. What did I miss? Is the built dotnet directly executable or I have to do some post-processing?
objis directory for intermediate build files. It does not have the right directory layout.Try the one under
bin, e.g. artifacts/bin/testhost/netcoreapp5.0-linux-Debug-x64@jkotas Thanks! I will try it out and let you know the progress.
104 remaining items
also debug/release needs to match, right?
Yes, I've mentioned that in a comment above.
@janvorli It seems we still have issue with Linux-version of System.Private.CoreLib.dll, any idea what does this error mean? The new error is that the PE Image file is not in native machine format.
Can you please set the following env variables and try again? This should let the runtime load only the IL code from the System.Private.CoreLib.dll and not the already precompiled binary code that is likely causing the trouble.
COMPlus_ZapDisable=1 COMPlus_ReadyToRun=0@quesshe, it was discovered that the COMPlus_ZapDisable handling was accidentally disabled for some time and fixed four days ago in #35741. I'm not sure what state of the repository you are using, but you'll likely need that fix to be able to load the System.Private.CoreLib.dll built on Linux. You can easily port that change to any state of the repository as it just removes an #ifdef around getting the option related to that env variable.
/x86_64/usr/bin/x86_64-pc-nto-qnx7.0.0-ld: ../../../pal/src/libcoreclrpal.a(context2.S.o): relocation R_X86_64_PC32 against symbol `CONTEXT_CaptureContext' can not be used when making a shared object; recompile with -fPIC
I was also getting this error when compiling coreclr's superpmi project with illumos sysroot on Ubuntu 18.04. I was using gcc v8.4.0 and binutils v2.25.1, both built for illumos target. The fix was to upgrade binutils to v2.33.1, without code modifications in coreclr. It was due to an upstream bug in binutils's assembler (as) or archiver (ar), which was fixed around v2.29-v2.30.
- removeduntriagedNew issue has not been triaged by the area ownerNew issue has not been triaged by the area owner
on Jul 7, 2020 @guesshe Can you please tell me if you get the corehost to work?
- added this to Triage POD for Reflection, META, etc.and Triage POD for Reflection, META, etc. and removed this from Triage POD for Reflection, META, etc.and Triage POD for Reflection, META, etc.
on Nov 2, 2021
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsFuture
Hi,
I am trying to port the entire runtime to qnx7 platform on x64 arch. I am able to build coreclr but it won't run unless I have dotnet executable built. Any suggestions on how to build corehost for qnx?