Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28381 Discussions

Need 32bit libraries on 64bit Ubuntu

Brian_A_
Novice
3,774 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
3,568 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

0 Kudos
mecej4
Honored Contributor III
3,568 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.

0 Kudos
Brian_A_
Novice
3,568 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

0 Kudos
Eugene_E_Intel
Employee
3,568 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?

0 Kudos
Brian_A_
Novice
3,568 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)
0 Kudos
Brian_A_
Novice
3,568 Views

I still have not found a fix.

0 Kudos
Eugene_E_Intel
Employee
3,568 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?

0 Kudos
Brian_A_
Novice
3,568 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.

0 Kudos
Eugene_E_Intel
Employee
3,568 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-bit-program-on-32-bit

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

(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.

0 Kudos
Brian_A_
Novice
3,568 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)

 

 

 

 

0 Kudos
Brian_A_
Novice
3,568 Views

I still need help on this.

0 Kudos
Brian_A_
Novice
3,568 Views

Hello?

0 Kudos
Eugene_E_Intel
Employee
3,568 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?

0 Kudos
Brian_A_
Novice
3,568 Views

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

0 Kudos
Eugene_E_Intel
Employee
3,568 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).

0 Kudos
Juergen_R_R
Valued Contributor I
3,568 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.
0 Kudos
Brian_A_
Novice
3,568 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.

0 Kudos
Eugene_E_Intel
Employee
3,568 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?

0 Kudos
bevin_b_
New Contributor I
3,568 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

0 Kudos
Michael_S_17
New Contributor I
2,266 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.

0 Kudos
Reply