Page 1 of 1

[SOLVED] 32 bits libraries in 64 bits system

PostPosted: Mar 16th, '14, 20:05
by fmolina
Hi all,

I have just upgraded mageia 3 to mageia 4 (x86_64); it is a nice distro, but I faced a problem. I am trying to install the Intel Fortran compiler suite, but the installer says:
"This product release requires the presence of 32-bit compatibility libraries when running on Intel(R) 64 architecture systems. One or more of these libraries could not be found:
libstdc++ (including libstdc++6)
glibc
libgcc
Without these libraries, the compiler and the debugger will not function properly. Please refer to Release Notes for more information."

I opened the control center, went to software install, and searched for these libraries in i586 version, but could not find them, even enabling a lot of repositories. I downloaded and installed them manually (from pkgs.org), but still no luck. I even tried to install both libstdc++5 versions (i586 and x86_64) but the installer does not allow me to check both, thus I assume that there is some compatibility problem. How can this problem be solved?

Regards,

Fernando

Re: 32 bits libraries in 64 bits system

PostPosted: Mar 16th, '14, 20:23
by doktor5000
fmolina wrote:I opened the control center, went to software install, and searched for these libraries in i586 version, but could not find them, even enabling a lot of repositories. I downloaded and installed them manually (from pkgs.org), but still no luck.

You should not blindly enable any repositories, or install packages from some foreign source. Best ask first about the consequences.

All packages are available:

Code: Select all
[doktor5000@Mageia4 ~]$ urpmf -f -m --name libstdc++
Core Release:libstdc++5-3.3.6-9.mga4.x86_64
Core Release:libstdc++5-devel-3.3.6-9.mga4.x86_64
Core Release:libstdc++-static-devel-4.8.2-3.mga4.x86_64
Core Release:libstdc++6-4.8.2-3.mga4.x86_64
Core Release:libstdc++5-static-devel-3.3.6-9.mga4.x86_64
Core Release:libstdc++-devel-4.8.2-3.mga4.x86_64
Core Release:libstdc++-docs-4.8.2-3.mga4.noarch
Core 32bit Release:libstdc++-devel-4.8.2-3.mga4.i586
Core 32bit Release:libstdc++6-4.8.2-3.mga4.i586
Core 32bit Release:libstdc++-static-devel-4.8.2-3.mga4.i586
Core 32bit Release:libstdc++-docs-4.8.2-3.mga4.noarch
Core 32bit Release:libstdc++5-devel-3.3.6-9.mga4.i586
Core 32bit Release:libstdc++5-3.3.6-9.mga4.i586
Core 32bit Release:libstdc++5-static-devel-3.3.6-9.mga4.i586
[doktor5000@Mageia4 ~]$ urpmf -f -m --name glibc
Core Release:lib64glibc_lsb-2.4.7-9.mga4.x86_64
Core Release:glibc-devel-2.18-9.mga4.x86_64
Core Release:glibc-static-devel-2.18-9.mga4.x86_64
Core Release:glibc-utils-2.18-9.mga4.x86_64
Core Release:glibc-profile-2.18-9.mga4.x86_64
Core Release:glibc-doc-2.18-9.mga4.noarch
Core Release:glibc-2.18-9.mga4.x86_64
Core Release:glibc-i18ndata-2.18-9.mga4.x86_64
Core 32bit Release:libglibc_lsb-2.4.7-9.mga4.i586
Core 32bit Release:glibc-2.18-9.mga4.i586                                                                                                                               
Core 32bit Release:glibc-i18ndata-2.18-9.mga4.i586                                                                                                                     
Core 32bit Release:glibc-static-devel-2.18-9.mga4.i586                                                                                                                 
Core 32bit Release:glibc-devel-2.18-9.mga4.i586                                                                                                                         
Core 32bit Release:glibc-doc-2.18-9.mga4.noarch
Core 32bit Release:glibc-profile-2.18-9.mga4.i586
Core 32bit Release:glibc-utils-2.18-9.mga4.i586
[doktor5000@Mageia4 ~]$ urpmf -f -m --name libgcc
Core Release:libgcc1-4.8.2-3.mga4.x86_64
Core 32bit Release:libgcc1-4.8.2-3.mga4.i586


Also 32bit compatibility libraries does not automatically mean i586 packages.
Please provide a link to the Intel compiler you're trying to install for others to reproduce this.

Re: 32 bits libraries in 64 bits system

PostPosted: Mar 16th, '14, 21:29
by fmolina
Hi doktor 5000,

Thanks for your reply.
The Intel product is the IntelĀ® Fortran Composer XE 2013 for Linux, available at
http://http://software.intel.com/en-us/ ... evelopment

I know that these libraries are available, I downloaded them from the Mageia core repositories:
libstdc++6-4.8.2-3.mga4.i586.rpm
glibc-2.18-9.mga4.i586.rpm
libgcc1-4.8.2-3.mga4.i586.rpm
But the software installer refuses to even show them up. I know that it should be possible to have both versions installed.

Re: 32 bits libraries in 64 bits system

PostPosted: Mar 16th, '14, 22:57
by doktor5000
What packages are installed when you install task-c++-devel metapackage?

Re: 32 bits libraries in 64 bits system

PostPosted: Mar 17th, '14, 04:17
by fmolina
It installs the following:
Code: Select all
gcc-c++                                                                         
libstdc++-devel                                                                 
rpmlib(PayloadFilesHavePrefix) <= 4.0-1                                         
rpmlib(CompressedFileNames) <= 3.0.4-1                                         
rpmlib(PayloadIsXz) <= 5.2-1                                                   
task-c-devel-2011.0-3.mga4.noarch


task-c-devel in turn requires:
Code: Select all
autoconf
automake
binutils
bison
byacc
gcc-cpp
ctags
diffutils
flex
gcc
glib2-devel
glibc-devel
libslang-devel
libtool
libz-devel
m4
make
ncurses-devel
patch
texinfo
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsXz) <= 5.2-1


After installing these, ifort can compile 32 and 64 bits executables OK. Somehow the libraries got working.

Thanks for your help.

Re: 32 bits libraries in 64 bits system

PostPosted: Mar 17th, '14, 22:45
by doktor5000
fmolina wrote:After installing these, ifort can compile 32 and 64 bits executables OK. Somehow the libraries got working.


You're welcome. FWIW, I've tried to install it yesterday and it threw the same error about 32bit libraries.
But to the best of my knowledge, it's not possible to install i586 and x86_64 glibc or ligcc at the same time, as they are conflicting.

This also explains why trying to install it via urpmi it will not provide any output or error,
even when trying to use --ignorearch or similar.

Please mark the thread accordingly by editing the topic of the first post and prefix it by [SOLVED], thanks