Install the 32 bit version and the 64 bit version, on multilib system.
Hi, i'm running Slackware 14, multilib. I have installed TiMidity++ from Slackbuilds.org, compiled as 32 bit. I would also like to install it as a 64 bit application as well, is this possible? I was thinking the naming would be an issue. Pkgtool reports it as this: TiMidity++-2.14.0-x86_64-1
|
Quote:
My guess is, you didn't build a 32-bit package on your multilib installation. To do so: Code:
. /etc/profile.d/32dev.sh # (or 32dev.csh if you use that). Code:
convertpkg-compat32 /path/to/TiMidity++-2.14.0-i?86-1.tgz Now you'll have 2 separate packages and can install them normally. |
Hi TommyC7. Thanks for the advice. Eric has stated the following when compiling packages as 32 bit.
Quote:
|
In that case, I would recommend appending the ARCH variable manually like so:
Code:
. /etc/profile.d/32dev.sh # source 32dev.sh |
Hello,
Quote:
Quote:
Note that, regardless of the input package ARCH field value, convertpkg-compat32, will warn you if it seems to contain 64-bit libraries : Code:
# Check if the user fed us a 64bit package: -- SeB |
It's not making the package that i'm concerned about.
I desire to install both the 32bit and 64bit version of the same package. I am concerned there might be files that'll get over written, or maybe won't even be able to install since they will be named the same. |
Hello,
Quote:
-- SeB |
Quote:
Code:
ARCH=i486 ./gpicview.SlackBuild Quote:
|
Using setarch(1) in addition to setting $ARCH could be useful, too.
|
As the name "multilib" already says, it is intended to provide 32 bit libraries for applications that don't exist as 64 bit binaries. It is not intended to have the 32 and 64 bit version of an application installed simultaneously. This wouldn't make sense anyway, why would you install the 32 bit version if you have already the 64 bit version? If you really want to have both versions available I would opt for a chroot with a 32 bit Slackware system.
|
I think I need to re-visit the instructions for compiling 32-bit software on a multilib 64-bit Slackware computer. Setting ARCH to i486 appears to work correctly these days - when I wrote these instructions around the time of Slackware 13.0, I just got compliler errors.
What I think will change in those instructions, is this: you simply set ARCH=i486 and then you'll end up with a package name like foobar-1.1-i486-1.txz. The ARCH variable nicely distinguishes it from the 64-bit version of such a package. And then, when you convert it to a "compat32" package I would like the resulting package "foobar-compat32" to have an arch "x86_64" because setting it to "i486" would perhaps cause too much confusion after all these years of multilib. Knightron, rename your 32-bit package from TiMidity++-2.14.0-x86_64-1 to TiMidity++-2.14.0-i486-1 and then run convertpkg-compat32 on it. That should solve your issue. phenixia2003 - changing the package arch for 32-bit packages on multilib to "i486" may have impact on your scripts. Please check if you have to change anything, I won't do anything until you know how to handle this. Like I said, I would like to keep the ARCH for compat32 packages to "x86_64". So perhaps you do not have to change a bit. Eric |
Hello,
Quote:
Cheers. -- SeB |
Quote:
|
All times are GMT -5. The time now is 09:37 PM. |