NI Linux Real-Time Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

C cross-compilation toolchain setup for NILRT

Solved!
Go to solution

Hello,

I want to compile a C file into a .so file, in order to call it within a LabVIEW 2020 rtexe running on a 9039-cRIO.

Thus, I am trying to setup a cross-compilation toolchain for NILRT, but the guide I am following doesn't look up to date. Indeed, this guide (https://nilrt-docs.ni.com/cross_compile/config_dev_system.html) require the download of the Toolchain (https://www.ni.com/en/support/downloads/software-products/download.gnu-c---c---compile-tools-x64.htm... and then to extract the downloaded archive into a location.

That is where things go wrong, the downloaded file is a .iso file, that I installed with NI package manager. Nothing that looks like what the guide is showing :

Sammath28_0-1739202068931.png

Any idea of what to do with that ISO file to catch on the guide ?

 

I am tempted to use the old https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000YHR7CAO&l=en-GB, it looks way easier.

 

Do I even need a NILRT specific cross-compilation toolchain ? Or could I just compile on a classic Linux distribution like Ubuntu using gcc and make ?

 

Thanks for reading 🙂

0 Kudos
Message 1 of 6
(399 Views)

What version are you downloading and what are you actually seeing? 2023 Q4 is a tarball archive and newer than that are nipkg based installers so it's not clear what ISO you're talking about nor what you might be seeing.

 

Now that I've noticed they've updated the distribution of the toolchain those instructions definitely need to get updated.

~ Helping pave the path to long-term living and thriving in space. ~
0 Kudos
Message 2 of 6
(393 Views)

Thanks for your reply !

I downloaded the 2024 Q4 version, and yes the nipkg installer is downloaded in the form of an ISO file (I installed it with nipkg but then I have no idea what to do).

I will try with 2023 Q4 following the guide 🙂

 

0 Kudos
Message 3 of 6
(373 Views)

I think the confusion here is that the Installing the C/C++ Cross Compile Toolchains step has 2 options. The Option 1 (Extract the Toolchain) is referring to how the toolchain WAS packaged - which was essentially a tar that users would have to extract in a certain way in order for it to function correctly. Option 1 is for downloads of GNU C & C++ Compile Tools x64, version "2018-2019" and older.

The Option 2 (Install the Toolchain (x64 only)) is referring to how the toolchain is now packaged - as a NIPKG installer. This option is intended to reduce the complexities some found with Option 1. Option 2 are the instructions for the GNU C & C++ Compile Tools x64, version "2023 Q1" and later.

 

The instructions could definitely be more explicit and I will work to clarify them

Can Wong
0 Kudos
Message 4 of 6
(361 Views)

The nipkg has a component claiming to be VS Code support but I don't see instructions referring to that?

~ Helping pave the path to long-term living and thriving in space. ~
0 Kudos
Message 5 of 6
(348 Views)
Solution
Accepted by topic author Sammath28

The 2024 toolchain was correctly extracted, but as I couldn't specify the target directoy it went to another drive that I was not paying attention at all, that's why I couldn't find it !
I still used the method to extract the tar.gz from an older version of NILRT, as those toolchain are not retro-compatible and I'm working with both NILRT2024 and 2020.

I used toolchain V2024Q4 -> worked on NILRT2024, but not on NILRT2020 (missing lib at execution on RT target).

So I also installed toolchain V2018_2019 -> it worked on NILRT2020.

 

Problem solved, thanks for your help ! 🙂

 

0 Kudos
Message 6 of 6
(337 Views)