I am running openSUSE 12.1 with 64Bit. I need some 32bit libraries for compiling a 32Bit project. For instance I need the 32Bit development package gpm-devel-32bit. Unfortunately there is no such package:
$ sudo zypper search gpm
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+-----------+---------------------------------------------------+-----------
i | gpm | Console Mouse Support | package
| gpm | Console Mouse Support | srcpackage
| gpm-32bit | Console Mouse Support | package
i | gpm-devel | Development files for gpm (Console Mouse Support) | package
Now I tried to build the package “gpm-devel-32bit” locally with the “build” tool. This worked so far
But unfortunately “-32bit” was not automatically appended to the package name.
Now my question is: Is there any option, RPM macro or whatever to automatically build packages with the “-32bit” extension? Renaming the package name in SPEC file is elaborate, because also the dependencies must be renamed with care. A local solution would be ideal, but a build service solution would be OK too.
The simple reason can be that the headers for gpm-devel are for both
architectures and there is no need for an extra 32bit devel package. But
of course you need to install gpm-32bit (which is as I see from your
output not installed).
–
PC: oS 11.4 (dual boot 12.1) 64 bit | Intel Core i7-2600@3.40GHz | KDE
4.6.0 | GeForce GT 420 | 16GB Ram
Eee PC 1201n: oS 11.4 64 bit | Intel Atom 330@1.60GHz | KDE 4.7.4 |
nVidia ION | 3GB Ram
There can be important differences between the x86 and x86-64 versions of a devel package, but there are not a lot of sensible situations where you could need to install both of them at the same time. Since the headers at the very least are going to be installed at the same place the packages would conflict between them anyway.
Meaning, if you really need the i586 version of the devel package… install the i586 version of the devel package (and probably uninstall the x86-64 version in the process). No, it doesn’t have a “-32bit” appended to the name… so what?
I can only think of one case where a 32bit devel package makes sense. It’s the always special case of wine and just because of how the OBS works.
The difference is small, but important. /usr/lib64/libgpm.so points to /usr/lib64/libgpm.so.2.1.0 in “gpm-devel” (64bit). I need a link from /usr/lib/libgpm.so to /usr/lib/libgpm.so.2.1.0. Of course I can create the link manually. But why we have RPM?
Yes, this would be a solution. It’s not so nice, because I cannot easily distinguish between 32bit and 64bit packages, if I install 32bit packages without “-32bit” in it’s name.
Am 16.01.2012 16:16, schrieb bjoernv:
>
> martin_helm;2430811 Wrote:
>> The simple reason can be that the headers for gpm-devel are for
>> both architectures and there is no need for an extra 32bit devel
>> package. But of course you need to install gpm-32bit (which is as
>> I see from your output not installed).
>
> The difference is small, but important. /usr/lib64/libgpm.so points
> to /usr/lib64/libgpm.so.2.1.0 in “gpm-devel” (64bit). I need a link
> from /usr/lib/libgpm.so to /usr/lib/libgpm.so.2.1.0. Of course I can
> create the link manually. But why we have RPM?
>
I did not inspect the package in detail so it was just a thought. I
would say contact the packager (or file a bug) and ask to provide the
(very small in this case) 32bit devel package since this can simply be
something which was forgotten.
The next one who runs into that problem will be happy if it is solved
for everyone.
–
PC: oS 11.4 (dual boot 12.1) 64 bit | Intel Core i7-2600@3.40GHz | KDE
4.6.0 | GeForce GT 420 | 16GB Ram
Eee PC 1201n: oS 11.4 64 bit | Intel Atom 330@1.60GHz | KDE 4.7.4 |
nVidia ION | 3GB Ram
The package gpm-devel-32bit-1.20.6-472.3.1.x86_64.rpm build now fine on openSUSE build service. Unfortunately until now I didn’t managed the local build with the “build” tool. I get this error:
$ sudo build --baselibs --arch i586 --repo zypp://repo-oss <path-to>/gpm-1.20.6-472.1.3.src.rpm
...]
chroot: failed to run command `rpm': No such file or directory