I noticed that there is no glib2-devel-32bit package both for opensuse 11.3 and 11.2 (x86_64), I was wondering what is the reason for this lack. Is it an aware choice ?
Is there some drawback in having 32 bit glib2 libraries under /usr/lib/ in a 64 bit linux system ? (Or to say it better the related symbolic links because the library are there indeed)
On a 64 bit processor (x86_64), by default you will compile binaries to run on a 64 bit system. These binaries will not run on 32 bit systems.
You shouldn’t need 32 bit libraries on a 64 bit system unless you are cross compiling (compiling on one processor architecture to run on a different processor architecture).
Indeed there are -devel-32bit packages for a lot of libraries, so it looks odd that there is no glib2-devel-32bit package because glib2 is not really an exotic library.
x86 64 bit architetures are able to run 32 bit binaries so I’m not sure if it should be called cross compiling, anyway I need it.
I’d like to be clearer the 32 bit glib2 libraries are available through a set of lib-32bit packages but they have versioned sonames, a glib2-devel-32bit package should provide symbolic links with an unversioned soname to these shared libraries. I could do it manually, this is not the problem. (there is even a glib2-devel-32bit package self made by a user on the Open Suse Factory site). What a would like to know is if there is a sensible reason because such a package is not provided by default: are there system stability issues ? or the linker get confused ? or waht else ?
There is not a package named „glib2-devel-32“, but for the package „glib2-devel“ you can either install the 64-bit or 32-bit version, but not in parallel. The 64-bit version does not allow linking 32-bit applications against glib2. Using the 32-bit version, linking against 32-bit applications works fine, but then you cannot link 64-bit applications.
Furthermore, using the 32-bit package of „glib2-devel“ breaks „pkg-config“ for glib2 because the config file „glib-2.0.pc" resides in „/usr/lib/pkgconfig“ (instead of „/usr/lib64/pkgconfig“) which seems not to be in the default search path of this tool.
The libraries are provided via the lib packages which separately exist for both architectures. The versionless symlink is provided by the developer packages, which can only be installed for one of both architectures at the same time. So, it seems glib2-devel is broken (also see here
Exactly I’d like that such a package (glib2-devel-32bit) exists as it is for a lot of other libraries (libX11, libgcc, … )
The versionless symlinks are provided by the developer packages: *-devel packages for 64 bit libraries and by *-devel-32bit packages for 32 bit libraries (I mean they are avaible in parallel). What I was wondering is if there is a sensible reason because the glib2-devel-32bit package is not provided.
If all you want are the unversioned symbolic links (without the rationale for their lack) you could try to install this package.
Kind regards,
Marco