Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
87 Views

Need 32bit libraries on 64bit Ubuntu

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
Highlighted
Employee
87 Views

Hello,

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

Eugene Epshteyn
0 Kudos
Highlighted
Black Belt
87 Views

What the Intel installer is

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
Highlighted
Beginner
87 Views

Quote:Eugene Epshteyn (Intel)

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
Highlighted
Employee
87 Views

As previous poster suggested,

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?

Eugene Epshteyn
0 Kudos
Highlighted
Beginner
87 Views

Quote:Eugene Epshteyn (Intel)

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
Highlighted
Beginner
87 Views

I still have not found a fix.

I still have not found a fix.

0 Kudos
Highlighted
Employee
87 Views

Ok, seems like your 32 bit C

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?

Eugene Epshteyn
0 Kudos
Highlighted
Beginner
87 Views

Quote:Eugene Epshteyn (Intel)

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
Highlighted
Employee
87 Views

Something is indeed wrong

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.

Eugene Epshteyn
0 Kudos
Highlighted
Beginner
87 Views

ok I installed g++multilib

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
Highlighted
Beginner
87 Views

I still need help on this.

I still need help on this.

0 Kudos
Highlighted
Beginner
87 Views

Hello?

Hello?

0 Kudos
Highlighted
Employee
87 Views

Sorry, I somehow stopped

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?

Eugene Epshteyn
0 Kudos
Highlighted
Beginner
87 Views

I have tried the installer

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

0 Kudos
Highlighted
Employee
87 Views

Does hellocpp32 run?

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

Eugene Epshteyn
0 Kudos
Highlighted
Valued Contributor I
87 Views

Indeed, this is what I

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
Highlighted
Beginner
87 Views

yes hellocpp32 runs

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
Highlighted
Employee
87 Views

> If I install the 32bit

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?

Eugene Epshteyn
0 Kudos
Highlighted
Beginner
87 Views

Are you sure you need to

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