You are not logged in.
I'm trying to install LabVIEW, but that doesn't matter. The point is it's 32-bit and a .rpm
It comes with statically compiled rpm2cpio, cpio, and rpmq binaries so that it can be installed on non-redhat distros.
When I run the script to install without rpm, I get this error:
[rob LabVIEW ]$ ./bin/install.norpm labview85-core-8.5-1.i386.rpm
/home/rob/software/LabVIEW/./bin/rpm2cpio: error while loading shared libraries: libbz2.so.1: wrong ELF class: ELFCLASS64
/home/rob/software/LabVIEW/./bin/cpio: premature end of archive
/home/rob/software/LabVIEW/./bin/rpmq: error while loading shared libraries: libbz2.so.1: wrong ELF class: ELFCLASS64
So, I installed the lib32-bzip2 package from AUR and now I have libbz2.so.1 in /opt/lib32/lib, but it still throws the same error. How do I get it to look for the libraries in /opt/lib32/lib?
Here is the script:
#!/bin/sh -
# This is a simple script to install an RPM on a non-Red Hat Linux system
# (or pre-RPM 4.0 Red Hat system).
VERS=8.1
RELEASE=1
ARCH=i386
DDIR=lv81
BINPATH="`pwd`"
PACKAGE=labview81-core
INSTPREFIX=/usr/local
DESTPATH=$INSTPREFIX
CPIOOPTS="--quiet --no-preserve-owner -i -d -u"
BINPATH="`dirname $0`"
case "$BINPATH" in
/*) ;;
.) BINPATH="`pwd`" ;;
*) BINPATH="`pwd`/$BINPATH" ;;
esac
install_rpm () {
rpm2cpio "$1" | cpio $CPIOOPTS
# Run RPM post-install script
$BINPATH/rpmq --rcfile=/dev/null -qp --qf "RPM_INSTALL_PREFIX=$DESTPATH\n%|POSTIN?{%{POSTIN}}|" "$1" > /tmp/rpmpostun.$$
/bin/sh /tmp/rpmpostun.$$
rm -f /tmp/rpmpostun.$$
}
if [ "$1" != "" ]; then
case "$1" in
*.*) RPM=$1 ;;
*) PACKAGE=$1 ;;
esac
else
echo "Usage: $0 package-base-name [install-dir]"
echo "e.g. $0 labview61-app"
exit 1
fi
if [ "$RPM" = "" ]; then
RPM="$PACKAGE-$VERS-$RELEASE.$ARCH.rpm"
fi
if [ "$2" != "" ]; then
DESTPATH=$2
fi
RPMPATH="`dirname $BINPATH`"
RPMPATH="$RPMPATH/$RPM"
if [ ! -f "$RPMPATH" ]; then
echo "Cannot find $RPM"
exit 1
fi
if [ "$DESTPATH" = "$INSTPREFIX" ]; then # no relocation
cd /
install_rpm "$RPMPATH"
else
TEMPDEST=/tmp/lvrpm.$$.d
mkdir -p "$TEMPDEST"
cd "$TEMPDEST"
mkdir -p usr
ln -s "$DESTPATH" usr/local
echo "Installing $RPM into $DESTPATH..."
install_rpm "$RPMPATH"
cd /tmp
#rm -rf "$TEMPDEST"
fi
exit 0
Offline
I'd suggest using a chroot, I had labview installed in one previously (now I just use the windows machine the lab provides, since the linux labview is really crippled).
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
I had thought of that, but I rather try to get this working first, because I like the lib32* method better. If I can't, I'll just have to use a chroot.
Offline
Do you have lib32-bzip2 installed?
Somewhere, just out of sight, the Penguins are gathering!
Offline
Do you have lib32-bzip2 installed?
Yes, I do.
So, I did a horrible thing to get it to install. I replaced the libbz2.so files with the 32-bit ones from /opt/lib32 just long enough to install it, then I put the 64-bit ones back. It worked, but LabVIEW wont run and it doesn't give me any info about the problem.
I guess I'll just have to chroot it. I hate that method, it makes twice as many updates.
Last edited by pogeymanz (2010-04-29 20:57:24)
Offline
Maybe extract the rpm and build it as Arch package would be better here.
Also have you tried using LD_LIBRARY_PATH to point the application where to look for the libs.
Offline
Maybe extract the rpm and build it as Arch package would be better here.
Also have you tried using LD_LIBRARY_PATH to point the application where to look for the libs.
You misunderstand the issue, he's trying to install a 32-bit app in a 64-bit install.
And to the OP, its not as much work as repeatedly updating lib32 libraries from the AUR.... binary downloads are always faster.
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline