LINX target installed on Raspberry Pi 4 B is: 20.0.0-4
Raspberry Pi OS (32-bit) with desktop version: August 2020 (2020-08-20)
Kervel Version: 5.4
I follow the following steps found here: https://www.labviewmakerhub.com/doku.php?id=learn:tutorials:libraries:linx:misc:build-on-target
For code, I try to make the simplest C code that I can think of. I know I can compile and run it as an exe outside of chroot on Raspberry Pi:
int returnZero() {
return 0;
}
int returnOne() {
return 1;
}
int main() {
return 0;
}
I place this code here: root@raspberrypi:/home/pi/lv_ccode/test_func.c
I run this command with no error while in labview chroot: gcc -c -Wall -Werror -fpic test_func.c
I enter the next command: gcc -shared -o libtest_func.so test_func.o
And proceed to get the following information:
/usr/lib/gcc/arm-poky-linux-gnueabi/4.9.2/../../../../arm-poky-linux-gnueabi/bin/ld: cannot find crti.o: No such file or directory
/usr/lib/gcc/arm-poky-linux-gnueabi/4.9.2/../../../../arm-poky-linux-gnueabi/bin/ld: cannot find crtbeginS.o: No such file or directory
/usr/lib/gcc/arm-poky-linux-gnueabi/4.9.2/../../../../arm-poky-linux-gnueabi/bin/ld: cannot find -lgcc
/usr/lib/gcc/arm-poky-linux-gnueabi/4.9.2/../../../../arm-poky-linux-gnueabi/bin/ld: cannot find -lgcc_s
/usr/lib/gcc/arm-poky-linux-gnueabi/4.9.2/../../../../arm-poky-linux-gnueabi/bin/ld: cannot find -lc
/usr/lib/gcc/arm-poky-linux-gnueabi/4.9.2/../../../../arm-poky-linux-gnueabi/bin/ld: cannot find -lgcc
/usr/lib/gcc/arm-poky-linux-gnueabi/4.9.2/../../../../arm-poky-linux-gnueabi/bin/ld: cannot find -lgcc_s
/usr/lib/gcc/arm-poky-linux-gnueabi/4.9.2/../../../../arm-poky-linux-gnueabi/bin/ld: cannot find crtendS.o: No such file or directory
/usr/lib/gcc/arm-poky-linux-gnueabi/4.9.2/../../../../arm-poky-linux-gnueabi/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
I do not understand why others have had no problems at this step, however I am having errors on a simple C program.
So I exit labview chroot and return to the normal file location: cd /home/pi/lv_ccode
And repeat the above two gcc lines of commands with no errors. So now I have libtest_func.so, which I then place into chroot /usr/lib here: cp libtest_func.so /srv/chroot/labview/usr/lib
And verify that it is in fact there at labview chroot /usr/lib, which it is.
So now I use a Call Library Function Node to call this .so file that I have now created, and place it in a LabVIEW while loop will all the correct connections.
![labview0.jpg labview0.jpg](https://forums.ni.com/t5/image/serverpage/image-id/272719iA42A8E74A146FA95/image-size/medium?v=v2&px=400)
And then click on "Run"
Initializing...
Calculating dependencies...
Checking items for conflicts. This operation could take a while...
Preparing items for download. This operation could take a while...
Deploying LMH-LINX.lvlib
Deploying LMH-LINX.lvlib:Local IO.lvlib
Deploying LMH-LINX.lvlib:Device.lvlib
Deploying LMH-LINX.lvlib:myRIO.lvlib
Deploying LMH-LINX.lvlib:Interaction Parts Kit.lvlib
Deploying LMH-LINX.lvlib:Servo.lvlib
Deploying LMH-LINX.lvlib:LTC2631.lvlib
Deploying LMH-LINX.lvlib:AD9850.lvlib
Deploying LMH-LINX.lvlib:TCN75A.lvlib
Deploying LMH-LINX.lvlib:TMP3x.lvlib
Deploying LMH-LINX.lvlib:SSD1306.lvlib
Deploying LMH-LINX.lvlib:PmodACL.lvlib
Deploying LMH-LINX.lvlib:PmodACL2.lvlib
Deploying LMH-LINX.lvlib:PmodALS.lvlib
Deploying LMH-LINX.lvlib:PmodJSTK.lvlib
Deploying LMH-LINX.lvlib:PmodGYRO.lvlib
Deploying LMH-LINX.lvlib:PmodTC1.lvlib
Deploying LMH-LINX.lvlib:PmodMIC3.lvlib
Deploying LMH-LINX.lvlib:PmodMAXSONAR.lvlib
Deploying LMH-LINX.lvlib:PmodBT2.lvlib
Deploying LMH-LINX.lvlib:PmodCMPS.lvlib
Deploying LMH-LINX.lvlib:PmodTMP3.lvlib
Deploying LMH-LINX.lvlib:PmodGPS.lvlib
Deploying LMH-LINX.lvlib:HiTechnic.lvlib
Deploying LMH-LINX.lvlib:HiTechnic.lvlib:Accelerometer.lvlib
Deploying LMH-LINX.lvlib:DS1307.lvlib
Deploying LMH-LINX.lvlib:Ultrasonic.lvlib
Deploying LMH-LINX.lvlib:MMA8452.lvlib
Deploying LMH-LINX.lvlib:MPU60X0.lvlib
Deploying LMH-LINX.lvlib:ADXL345.lvlib
Deploying LMH-LINX.lvlib:MMA8451.lvlib
Deploying LMH-LINX.lvlib:BlinkM.lvlib
Deploying LMH-LINX.lvlib:WS2812.lvlib
Deploying raspberrypi(successfully deployed target settings)
Deploying LMH-LINX.lvlib:Device.lvlib:Packet Number FGV Action.ctl (1.49 K)
Deploying LMH-LINX.lvlib:Interface.ctl (1.49 K)
Deploying LMH-LINX.lvlib:Device Data.ctl (1.65 K)
Deploying LMH-LINX.lvlib:User Platform.ctl (1.49 K)
Deploying LMH-LINX.lvlib:Device.lvlib:TCP Config.ctl (1.57 K)
Deploying whitespace.ctl (1.49 K)
Deploying Trim Whitespace.vi (3.17 K)
Deploying LMH-LINX.lvlib:Device Firmware.ctl (1.70 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Firmware Version.ctl (1.56 K)
Deploying LMH-LINX.lvlib:Clean Error Call Chain.vi (10.74 K)
Deploying LMH-LINX.lvlib:Platform.ctl (1.49 K)
Deploying LMH-LINX.lvlib:Get Platform.vi (3.36 K)
Deploying LMH-LINX.lvlib:Device.lvlib:LINX VI API Version.vi (2.94 K)
Deploying LMH-LINX.lvlib:All Firmware Data FGV States.ctl (1.49 K)
Deploying LMH-LINX.lvlib:All Firmware Data FGV.vi (5.96 K)
Deploying LMH-LINX.lvlib:Error Type.ctl (1.49 K)
Deploying VISA Configure Serial Port (Instr).vi (6.69 K)
Deploying Error Cluster From Error Code.vi (7.54 K)
Deploying LMH-LINX.lvlib:Channels.ctl (1.85 K)
Deploying LMH-LINX.lvlib:Device.lvlib:LINX Device Config.ctl (1.95 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Serial Set Baud.vi (5.18 K)
Deploying LMH-LINX.lvlib:Device ID to Name.vi (6.96 K)
Deploying LMH-LINX.lvlib:Device.lvlib:TCP Close.vi (5.05 K)
Deploying LMH-LINX.lvlib:Set Device Name.vi (5.18 K)
Deploying LMH-LINX.lvlib:Device.lvlib:TCP Read.vi (5.60 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Serial Flush.vi (4.41 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Serial Write.vi (5.22 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Wait For Bytes.vi (8.91 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Checksum.vi (6.00 K)
Deploying LMH-LINX.lvlib:Device.lvlib:TCP Flush.vi (5.82 K)
Deploying LMH-LINX.lvlib:LINX Ref.ctl (1.98 K)
Deploying LMH-LINX.lvlib:Local IO.lvlib:Load Device Channels.vi (29.18 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Serial Read.vi (5.83 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Packet Number.vi (5.37 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Packetize.vi (7.36 K)
Deploying LMH-LINX.lvlib:Generate Error.vi (18.51 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Wait For Packet.vi (16.97 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Set Device Baud Rate.vi (9.98 K)
Deploying LMH-LINX.lvlib:Local IO.lvlib:Load Device Info.vi (10.42 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Serial Open.vi (6.55 K)
Deploying LMH-LINX.lvlib:Device.lvlib:TCP Open.vi (7.48 K)
Deploying LMH-LINX.lvlib:Device.lvlib:TCP Write.vi (9.18 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Send Command.vi (15.44 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get I2C Channels.vi (8.76 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get AI Ref.vi (8.66 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get Servo Channels.vi (8.76 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get QE Channels.vi (8.76 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get Max Baud Rate.vi (7.42 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get AO Channels.vi (8.76 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Synchronize.vi (11.84 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get Firmware Version.vi (8.21 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Close Device.vi (5.90 K)
Deploying LMH-LINX.lvlib:Close.vi (8.61 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get Device Name.vi (7.93 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get UART Channels.vi (8.76 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get PWM Channels.vi (8.76 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get AI Channels.vi (8.76 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get SPI Channels.vi (8.76 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get DIO Channels.vi (8.76 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Check Firmware Version.vi (11.38 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get Device ID.vi (7.23 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Get CAN Channels.vi (8.76 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Load Device Config.vi (12.20 K)
Deploying LMH-LINX.lvlib:Device.lvlib:Initialize Device.vi (15.67 K)
Deploying LMH-LINX.lvlib:Initialize.vi (12.36 K)
Deploying LMH-LINX.lvlib:Open Local.vi (5.59 K)
Deploying soImportTest.visoImportTest.vi loaded with errors on the target and was closed.
Deployment completed with errors
Where did things go wrong? Any help is appreciated.