Linux Users

cancel
Showing results for 
Search instead for 
Did you mean: 

64 bit software?

All of our drivers that have 64-bit support currently only have support for the kernel, and provide 32-bit user-mode libraries/applications.  If you are on a 64-bit Linux distro (you have a 64-bit kernel) then you need to install the x86_64 kernel components, and can not install the i386 kernel components.  This is what caused the conflicts when you tried to install the rpms manually.

So in general what should happen is if it is a kernel component then you need to install only the x86_64 rpm and if it is a user-mode component you can install the i386 or x86_64 (we currently only provide the i386).  The INSTALL script should have some logic that checks "uname -m" to determine if you have a 64-bit kernel and install the correct rpms.  Right now since we do not support 64-bit user-mode it will install the x86_64 rpm when both i386 and x86_64 are present and install the i386 rpm if there is no x86_64 rpm with the same name.

The sh -x trick could also help figure out why NI-VISA isn't installing anything when you run the INSTALL script.  At some point it should run "rpm -Uvh <list of rpms>".

Use NI products on Linux? Come join the NI Linux Users Community
0 Kudos
Message 11 of 31
(1,268 Views)

Umm, so even if everything installs correctly, I can't use Python to access the gpib card (because an x86_64 distro would naturally have a 64 bit Python)?

- Mike

0 Kudos
Message 12 of 31
(1,268 Views)

Yeah, if your goal is to use python on your 64-bit distro to access the APIs then you might be out of luck.

Use NI products on Linux? Come join the NI Linux Users Community
0 Kudos
Message 13 of 31
(1,268 Views)

Sigh. This is painful.

Do you know if the opensource driver can co-exist with the NI driver?

That way I could use the open driver with 64-bit Python, and the NI driver with 32-bit LabView.

- Mike

0 Kudos
Message 14 of 31
(1,268 Views)

Is there any reason that you can't install and use a 32-bit version of Python? Do you really need access to that much memory in your python scripts?

0 Kudos
Message 15 of 31
(1,268 Views)

I could in theory install a 32 bit Python in a non-standard directory, so it didn't conflict with the distro-provided install.

I'm not sure how to do that in practice, though. How do you install Python from tar.gz as a 32 bit app? Is there a special flag? Figuring out what i386 libraries are required might not be fun either...

- Mike

0 Kudos
Message 16 of 31
(1,268 Views)

I would expect a decent distribution to support both 32-bit and 64-bit versions of most libraries for just these kinds of cases, and it may even have a 32-bit build of Python available already. It's worth a shot at least.

If you do have to install from source then there are probably ./configure arguments to specify the compiler and architecture to use. I've never tried it before, but I'm sure it can be done.

0 Kudos
Message 17 of 31
(1,268 Views)

OK, it is possible to install a 32 bit python instance on 64 bit Fedora, something like this:

Get various libs:

yum install libgcc.{i386,x86_64} glibc-common.{i386,x86_64} glibc-devel.{i386,x86_64} glibc-headers.{i386,x86_64}

Get the python tar file, untar it, and run the configure script like this:
./configure --prefix=/opt/python32 CC="gcc -m32" CXX="g++ -m32" LD="ld -m elf_i386"

and then make; make install.

Perhaps this will help others...
0 Kudos
Message 18 of 31
(1,268 Views)

OK, back to debugging the visa install scripts. I think I found a flaw with it. It does something like this:

rpm -Uvh foo bar hah

which is fine, except that a more recent version of "foo" has been installed by the NIKAL and ni4882 install scripts.

rpm DOES NOT then install "bar" and "hah". The script assumes it does, I think. Basically, nothing gets installed!

- Mike

0 Kudos
Message 19 of 31
(1,268 Views)

... so I used the "sh -x" trick to identify the "rpm -Uvh foo bar hah" string, removed the already-installed bits, and ran the rpm install.

That claimed success. The rpms are installed.

But... now nothing works:

[mjc@xena Desktop]$ /usr/local/natinst/ni4882/bin/gpibintctrl
libnipalu.so failed to initialize
Perhaps you need to run updateNIDrivers
Aborted
[mjc@xena Desktop]$

Sigh. gpibintctrl was working after the NIKAL/ni4882 installs, but the visa install broke it.

A system-report output file is attached...

- Mike

0 Kudos
Message 20 of 31
(1,268 Views)