From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

64/32 bit nightmare! NIvisaic not starting in Linux

I think my issue boils down to 32/64 bit issues:

I'm a long-time Linux user (about 90% GUI-level only, though), but am completely new to instrumentation control.  I am running Scientific Linux 6.5 (64 bit) in VirtualBox 4.3.10 on a Windows 7 (64 bit) machine.  I first read at this link

http://digital.ni.com/public.nsf/allkb/4857A755082E9E228625778900709661

that NI VISA 5.4 (for Linux) did support 64-bit, but later read in the README that only 32 bit was supported.  I thought I'd trym though, since I had read online that some people were getting things going on a 64-bit system (the link below is more about pyvisa, but the person used an NI VISA driver, so...):

http://comments.gmane.org/gmane.comp.python.pyvisa.devel/59

Anyway, I followed the instruction in the NI-VISA-5.4.0.iso README and everything seemed to install.  When I ran "NIvisaic" from the command line (as root), I got:

[root@localhost bin]# NIvisaic

bash: /usr/local/bin/NIvisaic: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

I found this was a "32-bit application on a 64-bit computer" issue. (http://stackoverflow.com/questions/14030306/lib-ld-linux-so-2-bad-elf-interpreter-no-such-file-or-di...).  The link seems to indicate I need to install ld-linux.so.2, so I checked yum:  "yum whatprovides ld-linux.so.2" and got (among other hits):

glibc-2.12-1.132.el6.i686 : The GNU libc libraries

Repo        : installed

Matched from:

Other       : Provides-match: ld-linux.so.2

which seems to indicate it's installed.

Anyway, I then ran "updateNIDrivers" and that seemed to go okay, but running "NIvisaic" again produced the same error.

My next step is to get Scientific Linux in 32-bit as mentioned in another post, but wondered if perhaps this one issue could easily be resolved meaning I won't have to reinstall/update/tweak a new OS.  I also read somewhere that useing "-m32" when building an application would work, and wondered if anyone knew how to apply that to the situation above.  Finally, I read a 64-bit Linux driver might be available in Fall 2014, and since market size is the key motivator, I'd like to let NI know there's at least one more person hearitly encourging its development!

So that's my issue; you can stop reading if you'd like, but for more background: I'm an EE intern and am trying, as a proof of concept, to communicate and control an NI USB-5132 Digitizer using Linux.  I don't have funding, but need to log data, so my intent was to use PyVISA (or maybe Python IVI, which I just discovered, but know nothing about) to do this.  Unfortunately, I need 32-bit Python for the NI VISA driver, and getting 32-bit Python on Linux is way harder than I guessed it would be.  I am using the book "Real World Instrumentation with Python" by J.M. Hughes as a guide (but he uses Python 2.6 and I'd like to "convert" it to 3.x, but getting either in 32-bits is, like I mentioned, seemingly impossible (for my skill level, anyway)).  Any help would be great!

0 Kudos
Message 1 of 3
(5,765 Views)

Make sure the following packages are installed. This is a list I pulled off of a Scientific Linux 6.5 64-bit machine that runs LabVIEW (what visaic is built from). Pretty sure not all of them are required, but this should get you going quickly.

libselinux-2.0.94-5.3.el6_4.1.i686

mesa-libGL-9.2-0.5.el6.i686

libXfixes-5.0-3.el6.i686

libdrm-2.4.45-2.el6.i686

expat-2.0.1-11.el6_2.i686

ncurses-libs-5.7-3.20090208.el6.i686

elfutils-libelf-0.152-1.el6.i686

libXext-1.3.1-2.el6.i686

zlib-1.2.3-29.el6.i686

libgcc-4.4.7-4.el6.i686

libstdc++-4.4.7-4.el6.i686

glibc-devel-2.12-1.132.el6.i686

libXinerama-1.1.2-2.el6.i686

mesa-private-llvm-3.3-0.3.rc3.el6.i686

libxcb-1.8.1-1.el6.i686

popt-1.13-7.el6.i686

nss-softokn-freebl-3.14.3-9.el6.i686

mesa-dri-filesystem-9.2-0.5.el6.i686

mesa-dri-drivers-9.2-0.5.el6.i686

libXxf86vm-1.1.2-2.el6.i686

glibc-2.12-1.132.el6.i686

libXau-1.0.6-4.el6.i686

libpciaccess-0.13.1-2.el6.i686

libXdamage-1.1.3-4.el6.i686

compat-libstdc++-296-2.96-144.el6.i686

libX11-1.5.0-4.el6.i686

compat-glibc-headers-2.5-46.2.x86_64

lpg-java-compat-1.1.0-4.1.el6.noarch

rarian-compat-0.8.1-5.1.el6.x86_64

compat-opensm-libs-3.3.5-3.el6.x86_64

redhat-lsb-compat-4.0-7.el6.x86_64

libreport-compat-2.0.9-19.el6.x86_64

compat-openmpi-psm-1.4.3-1.1.el6.x86_64

compat-gcc-34-3.4.6-19.el6.x86_64

geronimo-specs-compat-1.0-3.5.M2.el6.noarch

compat-db42-4.2.52-15.el6.x86_64

compat-expat1-1.95.8-8.el6.x86_64

compat-openmpi-1.4.3-1.1.el6.x86_64

compat-db43-4.3.29-15.el6.x86_64

compat-libcap1-1.10-1.x86_64

compat-gcc-34-c++-3.4.6-19.el6.x86_64

compat-glibc-2.5-46.2.x86_64

compat-openldap-2.3.43-2.el6.x86_64

compat-libstdc++-33-3.2.3-69.el6.x86_64

compat-db-4.6.21-15.el6.x86_64

compat-libf2c-34-3.4.6-19.el6.x86_64

compat-readline5-5.2-17.1.el6.x86_64

xz-lzma-compat-4.999.9-0.3.beta.20091007git.el6.x86_64

compat-libtermcap-2.0.8-49.el6.x86_64

compat-libgfortran-41-4.1.2-39.el6.x86_64

0 Kudos
Message 2 of 3
(3,713 Views)

Posting for posterity: There's a shorter list in the knowledge base (KB 600GI5ES), which refers to Red Hat 64 bit, which of course means it also applies to Scientific Linux (and CentOS, possibly).

0 Kudos
Message 3 of 3
(3,713 Views)