LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

asking a broader audience: missing dependencies for LabVIEW 2018 Linux

Hello all, I am posting here to ask the higher traffic general board if anyone has previously solved a dependency problem with LabVIEW Linux and Shared Library creation. 

 

Link to linux group post. Please join me in a conversation there. 

 

Long story short: Attempting to build Shared objects throws an error because the 32bit gcc components are not found despite being installed.

 

The error:

Error 1 occurred at System Exec: /usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/bin/ld: cannot find -lstdc++
collect2: error: ld returned 1 exit status
Spoiler
This is a link to a specialty board, as discussed with the unofficial rule keeper here
________/~~~~~~~~*********~~~~~~~~\________
Certified delinquent LabVIEW developer. Recertifying at next NI Days
0 Kudos
Message 1 of 10
(3,599 Views)

I'm taking a look at it now. I've found an old knowledge base, and I'm wondering what libraries you can find in the LabVIEW folder. It seems like it is either looking in the wrong place or the wrong version is installed. 

 

Try following these steps to see which libraries are directly underneath LabVIEW.

  1. Browse to the LabVIEW directory - usually /usr/local/natinst/LabVIEW
  2. Type the following to make sure all the required libraries are there: ldd labview

Let me know what you see!

Kevin S.
Technical Support Engineering
National Instruments
0 Kudos
Message 2 of 10
(3,556 Views)

that's a dead link on my end: but here is your output:

nick@linux:/usr/local/natinst/LabVIEW-2018-64> ldd labview
linux-vdso.so.1 (0x00007ffe9091b000)
libdfir.so.18 => /usr/local/natinst/LabVIEW-2018-64/./resource/libdfir.so.18 (0x00007fdf06448000)
libtdcore.so.18 => /usr/local/natinst/LabVIEW-2018-64/./resource/libtdcore.so.18 (0x00007fdf05f81000)
libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007fdf05d7e000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fdf05b6c000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fdf0582e000)
libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007fdf055c4000)
libmgcore.so.18 => /usr/local/natinst/LabVIEW-2018-64/./resource/libmgcore.so.18 (0x00007fdf05285000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fdf04efc000)
libm.so.6 => /lib64/libm.so.6 (0x00007fdf04bff000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fdf049fb000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fdf047de000)
librt.so.1 => /lib64/librt.so.1 (0x00007fdf045d6000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fdf043bf000)
libc.so.6 => /lib64/libc.so.6 (0x00007fdf0401e000)
/lib64/ld-linux-x86-64.so.2 (0x00007fdf06c45000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fdf03dfe000)
libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007fdf03bd4000)
libxcb-dri3.so.0 => /usr/lib64/libxcb-dri3.so.0 (0x00007fdf039d1000)
libxcb-present.so.0 => /usr/lib64/libxcb-present.so.0 (0x00007fdf037ce000)
libxcb-sync.so.1 => /usr/lib64/libxcb-sync.so.1 (0x00007fdf035c8000)
libxshmfence.so.1 => /usr/lib64/libxshmfence.so.1 (0x00007fdf033c5000)
libglapi.so.0 => /usr/lib64/libglapi.so.0 (0x00007fdf03197000)
libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007fdf02f94000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007fdf02d8e000)
libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007fdf02b8c000)
libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0 (0x00007fdf02974000)
libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x00007fdf0276f000)
libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007fdf02569000)
libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007fdf0235a000)
libniCPULib.so.18 => /usr/local/natinst/LabVIEW-2018-64/./resource/libniCPULib.so.18 (0x00007fdf02131000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fdf01f2d000)

________/~~~~~~~~*********~~~~~~~~\________
Certified delinquent LabVIEW developer. Recertifying at next NI Days
0 Kudos
Message 3 of 10
(3,552 Views)

Update: Workaround but not 'really' a solution:

 

'Build Shared Libraries' option works out of the box on CentOS-7

 

I will fix the missing dependencies on SuSE and post what-I-did later, but right now I need to get back on schedule.

When you think you are 90% done with a project you are 50% done.

________/~~~~~~~~*********~~~~~~~~\________
Certified delinquent LabVIEW developer. Recertifying at next NI Days
0 Kudos
Message 4 of 10
(3,537 Views)

Glad you found a workaround. The knowledge base article outlines what shared libraries LabVIEW has access to. It's interesting to see the libstdc++ in that list. I'll keep poking around and let you know what I find.

Kevin S.
Technical Support Engineering
National Instruments
0 Kudos
Message 5 of 10
(3,526 Views)

hello,

any update on the missing dependencies for LabVIEW 2018 Linux?
In my case I have the same issue on CentOS 7.6.

Error 1 occurred at System Exec: /usr/bin/ld: cannot find -lstdc++
collect2: error: ld returned 1 exit status

 

 

libstdc++ is in the list (see below), maybe LabVIEW needs an older version?

 

[user@localhost LabVIEW-2018-64]$ ldd labview
linux-vdso.so.1 => (0x00007ffdbc97e000)
libdfir.so.18 => /usr/local/natinst/LabVIEW-2018-64/./resource/libdfir.so.18 (0x00007f9c4b609000)
libtdcore.so.18 => /usr/local/natinst/LabVIEW-2018-64/./resource/libtdcore.so.18 (0x00007f9c4b142000)
libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x00007f9c4af3f000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f9c4ad2d000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f9c4a9ef000)
libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007f9c4a763000)
libmgcore.so.18 => /usr/local/natinst/LabVIEW-2018-64/./resource/libmgcore.so.18 (0x00007f9c4a424000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f9c4a11d000)
libm.so.6 => /usr/lib64/libm.so.6 (0x00007f9c49e1b000)
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f9c49c17000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f9c499fb000)
librt.so.1 => /usr/lib64/librt.so.1 (0x00007f9c497f3000)
libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f9c495dd000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007f9c49210000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9c4be06000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f9c48fe8000)
libGLX.so.0 => /usr/lib64/libGLX.so.0 (0x00007f9c48db6000)
libGLdispatch.so.0 => /usr/lib64/libGLdispatch.so.0 (0x00007f9c48b00000)
libniCPULib.so.18 => /usr/local/natinst/LabVIEW-2018-64/./resource/libniCPULib.so.18 (0x00007f9c488d7000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f9c486d3000)

0 Kudos
Message 6 of 10
(3,374 Views)

Marco,

 

Have you installed either the f1 or f2 patches of LabVIEW 2018 for Linux?

Also to confirm, which bit version are you currently trying to access?

 

Regards,

PahlM

0 Kudos
Message 7 of 10
(3,364 Views)

I just installed the f2 patch. Unfortunately nothing changed.

I am using 64 bit version (both CentOS and LabVIEW).

Other ideas?

 

Regards,

0 Kudos
Message 8 of 10
(3,349 Views)

The problem is that the linker is looking for libstdc++.so but in /usr/lib64 there is only a libstdc++.so.6

 

 

Creating a symbolic link fixes the problem

 

cd /usr/lib64

sudo ln -s libstdc++.so.6 libstdc++.so

 

 

Edit: I'm using openSUSE 15.1 with LabVIEW 2020

Message 9 of 10
(2,912 Views)

This solution also worked for Red Hat 9.0/9.5 running LabVIEW 2023 and 2024. 

 

The problem is that the linker is looking for libstdc++.so but in /usr/lib64 there is only a libstdc++.so.6

 

 

Creating a symbolic link fixes the problem

 

cd /usr/lib64

sudo ln -s libstdc++.so.6 libstdc++.so

 

Posted for future reference. 

Message 10 of 10
(39 Views)