Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!

Need 32bit libraries on 64bit Ubuntu

Brian_A_
Novice
1,973 Views

I am trying to install IFC 2013 update 6 on my Ubuntu 16 64 bit version.

I need to get the 32 bit libraries installed.   I thought that I had them all install, but the IFC installer is still complaining.

32-bit libraries not found on this system.
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.

Please help.

0 Kudos
22 Replies
Eugene_E_Intel
Employee
1,929 Views

Hello,

For Unubtu 16, perhaps these instructions will help:

https://blog.teststation.org/ubuntu/2016/05/12/installing-32-bit-software-on-ubuntu-16.04/

Thank you,

Eugene

mecej4
Black Belt
1,929 Views

What the Intel installer is asking you to do is to install the GCC/GLIBC 32-bit components first.

In other words, on your machine install the necessary packages (typically, their names contain '32', such as 'compat32') to be able to compile a 32-bit a.out from, say, a "Hello Fortran World" program written in C. Try gcc -m32 <some_file>.c and, if that works, go on to the Intel installer.

Brian_A_
Novice
1,929 Views

Eugene Epshteyn (Intel) wrote:

Hello,

For Unubtu 16, perhaps these instructions will help:

https://blog.teststation.org/ubuntu/2016/05/12/installing-32-bit-softwar...

Thank you,

Eugene

 

I have already done that.  IFC installer still tells me to install the 32bit libraries

Eugene_E_Intel
Employee
1,929 Views

As previous poster suggested, please create a simple C program and try to compile it for 32 bits.  This will show, whether 32 bit libraries installed correctly.  For example, here's hello.c:

#include <stdio.h>

int main()
{
    printf("Hello world!\n") ;
    return 0 ;
}

Then run "gcc -m32 -o hello32 hello.c" and ensure that "hello32" runs correctly.

At the moment, I have access to Ubuntu 14 system.  Here's the output of ldd command on 32 bit and 64 bit executables on that system:

$ ldd hello32
        linux-gate.so.1 =>  (0xf774c000)
        libc.so.6 => /lib32/libc.so.6 (0xf7590000)
        /lib/ld-linux.so.2 (0x56576000)
$ ldd hello64
        linux-vdso.so.1 =>  (0x00007ffe7d887000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5baadc9000)
        /lib64/ld-linux-x86-64.so.2 (0x000055eb2a6ea000 

 Are you able to compile and execute hello32?

Brian_A_
Novice
1,929 Views

Eugene Epshteyn (Intel) wrote:

As previous poster suggested, please create a simple C program and try to compile it for 32 bits.  This will show, whether 32 bit libraries installed correctly.  For example, here's hello.c:

#include <stdio.h>

int main()
{
    printf("Hello world!\n") ;
    return 0 ;
}

Then run "gcc -m32 -o hello32 hello.c" and ensure that "hello32" runs correctly.

At the moment, I have access to Ubuntu 14 system.  Here's the output of ldd command on 32 bit and 64 bit executables on that system:

$ ldd hello32

        linux-gate.so.1 =>  (0xf774c000)

        libc.so.6 => /lib32/libc.so.6 (0xf7590000)

        /lib/ld-linux.so.2 (0x56576000)

$ ldd hello64

        linux-vdso.so.1 =>  (0x00007ffe7d887000)

        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5baadc9000)

        /lib64/ld-linux-x86-64.so.2 (0x000055eb2a6ea000 

 Are you able to compile and execute hello32?

 

Here is what I got.  I was able to compile Hello32 

$: ldd hello32
linux-gate.so.1 =>  (0xf77fa000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7623000)
/lib/ld-linux.so.2 (0x5659c000)
Brian_A_
Novice
1,929 Views

I still have not found a fix.

Eugene_E_Intel
Employee
1,929 Views

Ok, seems like your 32 bit C libraries are fine.  The installation program also asked for 32 bit libstd++.  Let's now try the same test for C++:

#include <iostream>

int main()
{
    std::cout << "Hello C++ world!\n" ;
    return 0 ;
}

g++ -m32 -o hellopp32 hello.cpp

 

$ ldd hellopp32 
        linux-gate.so.1 =>  (0xf7743000)
        libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf75a0000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf73ea000)
        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7395000)
        /lib/ld-linux.so.2 (0xf7744000)
        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7378000)

 Does this also work for you?

Brian_A_
Novice
1,929 Views

Eugene Epshteyn (Intel) wrote:

Ok, seems like your 32 bit C libraries are fine.  The installation program also asked for 32 bit libstd++.  Let's now try the same test for C++:

#include <iostream>

int main()
{
    std::cout << "Hello C++ world!\n" ;
    return 0 ;
}

$ g++ -m32 -o hellopp32 hello.cpp

 

$ ldd hellopp32 

        linux-gate.so.1 =>  (0xf7743000)

        libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf75a0000)

        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf73ea000)

        libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7395000)

        /lib/ld-linux.so.2 (0xf7744000)

        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7378000)

 Does this also work for you?

This is what I get

allisbs@issallisbs:~$ g++ -m32 -o hello32 hello32.cpp
In file included from hello32.cpp:1:0:
/usr/include/c++/5/iostream:38:28: fatal error: bits/c++config.h: No such file or directory
compilation terminated.

Eugene_E_Intel
Employee
1,929 Views

Something is indeed wrong with your gcc/g++ compiler installation.  I did a quick research into this error, and it's possible that you are missing "g++-multilib" package.

Here are some links that may help you to resolve C++ compilation issue:

https://stackoverflow.com/questions/4643197/missing-include-bits-cconfig-h-when-cross-compiling-64-b...

https://askubuntu.com/questions/709893/14-04-01-32-bit-missing-g-64-bit-include-files-when-cross-com...

(The links are about cross compiling 64 bit on 32 bit, which is opposite of what you are trying to do, but I think the solution would be similar.)

Once you resolve this and hello.cpp compiles fine for 32 bit, the IFC installer *should* stop complaining.

Brian_A_
Novice
1,929 Views

ok I installed g++multilib

Then tried to create hellopp32.  It got it created and this is what i got when I ran ldd hellopp32

 

allisbs@issallisbs:~$ ldd hellopp32
linux-gate.so.1 =>  (0xf773c000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf75a1000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf73eb000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7396000)
/lib/ld-linux.so.2 (0x5655f000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7378000)

 

 

 

 

Brian_A_
Novice
1,929 Views

I still need help on this.

Brian_A_
Novice
1,929 Views

Hello?

Eugene_E_Intel
Employee
1,929 Views

Sorry, I somehow stopped getting notifications for this thread.

Ok, so you were able to create hellocpp32.  Does hellocpp32 run?  Did you try to run the installer again?

Brian_A_
Novice
1,929 Views

I have tried the installer again and same problem, it complains that the 32 bit libraries are not installed.

Eugene_E_Intel
Employee
1,929 Views

Does hellocpp32 run?

IFC 2013 update 6 

Would it be possible for you to try a later compiler?  It's possible that 2013 release checks for a specific 32 bit library version (or for 32 bit library that is no longer used).

Juergen_R_R
Valued Contributor I
1,929 Views
Indeed, this is what I suspect, too. ifort 2013 is installed at our lab only for Redhat 6 computers which have glibc 2.12, but Ubuntu 16 has glibc 2.23. I think there are just no binaries for these newer versions of glibc for that old an ifort version.
Brian_A_
Novice
1,929 Views

yes hellocpp32 runs

I have to use the 2013 with our software because we have not tested newer compilers with our software yet.  If I install the 32bit Ubuntu, the intel 2013 32bit version installs just fine.

Eugene_E_Intel
Employee
1,929 Views

If I install the 32bit Ubuntu, the intel 2013 32bit version installs just fine.

Hmm, that's interesting.  Some suggestions:

(1) On your 32 bit Ubuntu, compile a 32 bit Fortran program, then run "ldd" on that program's binary on 32 bit Ubuntu and provide the output.  Maybe this will tell us, which other 32 bit library is missing.

(2) On your 32 bit Ubuntu, compile a 32 bit Fortran program, then copy this 32 bit program to your 64 bit Ubuntu and try to run it there.  Please run "ldd" on 64 bit Ubuntu on this program and provide the output.

(3) If you just *try* to install latest compiler on 64 bit Ubuntu, does the installation fail with the same error, or does it proceed?

bevin_b_
Beginner
1,929 Views

Are you sure you need to install these?

The error message the Install_GUI gives is intimidating, but if you just ignore it, the installation proceeds okay, I think.

The resulting installation can't cross-build from Intel 64 to a 32 bit system, but many users don't need to do that.

Also the resulting installation has problems with the Amplifier and Advisor GUI's - I am still investigating this area

/Bevin - emtpgeek consulting llc,  intel retiree

Michael_S_17
Novice
627 Views

I need to get the 32 bit libraries installed.   I thought that I had them all install, but the IFC installer is still complaining.

32-bit libraries not found on this system.
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

I believe to remember similar error messages when installing Intel Parallel Studio versions 18 an 19 (beta) on Ubuntu. The simple solution was to install libc6-dev-i386. With Ubuntu 14.04 LTS one could easily install it using the Ubuntu Software Center. With Ubuntu 16.04 LTS I did use Synaptic (which can easily be installed through the Ubuntu Software Center) to install it.

Reply