I need to run 32-bit Python in 64-bit CentOS.
I have a PCI-GPIB interface card. Its drivers are from National Instruments. It says in the drivers page:
NI-488.2 version 2.9 supports 64-bit kernels. The driver may currently be used only from 32-bit applications.
I use PyVISA wrapper to use the driver, like so:
import visa
However, I get the following error:
OSError: /usr/local/vxipnp/linux/bin/libvisa.so.7: wrong ELF class: ELFCLASS32
National Instruments says that their driver supports 64-bit kernels. Good.
But it can only be used from within 32-bit applications. Bad. My Python installation (which I compiled myself) is 64-bit.
Here is how I built 32-bit Python 2.7.15 on CentOS 6.10:
Install required packages:
sudo yum install libgcc.i686 glibc-devel.i686 glibc.i686 zlib-devel.i686\
readline-devel.i686 gdbm-devel.i686 openssl-devel.i686 ncurses-devel.i686\
tcl-devel.i686 db4-devel.i686 bzip2-devel.i686
Build 32-bit Python:
mkdir ${HOME}/{Archive,Build}
wget http://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz -O ${HOME}/Archive/Python-2.7.15.tgz
tar xzvf ~/Archive/Python-2.7.15.tgz -C ${HOME}/Build
cd ${HOME}/Build/Python-2.7.15
[sudo] mkdir -p /opt/Python-2.7.15
CFLAGS=-m32 LDFLAGS=-m32 ./configure --prefix=/E/.sbx/Python-2.7.15 --enable-shared
LD_RUN_PATH=/opt/Python-2.7.15/lib make
make install
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With