Discussion:
[zeromq-dev] Configure build for 32 bit libray on 64 bit CentOS 7
Igor Lopez
2016-11-29 18:28:07 UTC
Permalink
Hi,

I am having a dependency problem.

The Quartus Prime and the ModelSim applications requires a bunch of 32 bit
libraries to be installed on the Linux machine for them to work.
Of course is one of them the 0MQ libray libzmq3 and I have not found any
CentOS repositories with that library so I have to build it myself.

First time for me doing a build for another architecture with google giving
the advice on how to configure it gave me this:
$ ./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32"
"LDFLAGS=-m32"

That will however not work:

checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/home/igor/Tools/libzmq':
configure: error: C compiler cannot create executables
See `config.log' for more details


And opening the config.log gives me no understandable hint but it points
out these warnings/errors:

configure:4253: checking whether the C compiler works
configure:4275: gcc -m32 -m32 conftest.c >&5
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: skipping incompatible /usr/lib64/libc.so when searching for -lc
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
configure:4279: $? = 1
configure:4317: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "zeromq"
| #define PACKAGE_TARNAME "zeromq"
| #define PACKAGE_VERSION "4.2.1"
| #define PACKAGE_STRING "zeromq 4.2.1"
| #define PACKAGE_BUGREPORT "zeromq-***@lists.zeromq.org"
| #define PACKAGE_URL ""
| #define PACKAGE "zeromq"
| #define VERSION "4.2.1"
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:4322: error: in `/home/igor/Tools/libzmq':
configure:4324: error: C compiler cannot create executables
See `config.log' for more details

A standard ./configure will however work.
Luca Boccassi
2016-11-29 18:51:26 UTC
Permalink
Hi,

Did you install the 32 tool chain, build essential and so on?

I'm not a big user of centos so I'm not sure how multiarch is handled there
Post by Igor Lopez
Hi,
I am having a dependency problem.
The Quartus Prime and the ModelSim applications requires a bunch of 32 bit
libraries to be installed on the Linux machine for them to work.
Of course is one of them the 0MQ libray libzmq3 and I have not found any
CentOS repositories with that library so I have to build it myself.
First time for me doing a build for another architecture with google
$ ./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32"
"LDFLAGS=-m32"
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: C compiler cannot create executables
See `config.log' for more details
And opening the config.log gives me no understandable hint but it points
configure:4253: checking whether the C compiler works
configure:4275: gcc -m32 -m32 conftest.c >&5
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: skipping incompatible /usr/lib64/libc.so when searching for -lc
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
configure:4279: $? = 1
configure:4317: result: no
| /* confdefs.h */
| #define PACKAGE_NAME "zeromq"
| #define PACKAGE_TARNAME "zeromq"
| #define PACKAGE_VERSION "4.2.1"
| #define PACKAGE_STRING "zeromq 4.2.1"
| #define PACKAGE_URL ""
| #define PACKAGE "zeromq"
| #define VERSION "4.2.1"
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:4324: error: C compiler cannot create executables
See `config.log' for more details
A standard ./configure will however work.
_______________________________________________
zeromq-dev mailing list
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
Igor Lopez
2016-11-29 19:12:51 UTC
Permalink
I thought so but I did a
sudo yum install glibc-devel.i686 libstdc++-devel.i686
just to be sure and lo and behold
The configure now goes thru and make is doing its thing.

Thanks for the pointer.
Post by Luca Boccassi
Hi,
Did you install the 32 tool chain, build essential and so on?
I'm not a big user of centos so I'm not sure how multiarch is handled there
Post by Igor Lopez
Hi,
I am having a dependency problem.
The Quartus Prime and the ModelSim applications requires a bunch of 32
bit libraries to be installed on the Linux machine for them to work.
Of course is one of them the 0MQ libray libzmq3 and I have not found any
CentOS repositories with that library so I have to build it myself.
First time for me doing a build for another architecture with google
$ ./configure --build=i686-pc-linux-gnu "CFLAGS=-m32"
"CXXFLAGS=-m32" "LDFLAGS=-m32"
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: C compiler cannot create executables
See `config.log' for more details
And opening the config.log gives me no understandable hint but it points
configure:4253: checking whether the C compiler works
configure:4275: gcc -m32 -m32 conftest.c >&5
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: skipping incompatible /usr/lib64/libc.so when searching for -lc
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
configure:4279: $? = 1
configure:4317: result: no
| /* confdefs.h */
| #define PACKAGE_NAME "zeromq"
| #define PACKAGE_TARNAME "zeromq"
| #define PACKAGE_VERSION "4.2.1"
| #define PACKAGE_STRING "zeromq 4.2.1"
| #define PACKAGE_URL ""
| #define PACKAGE "zeromq"
| #define VERSION "4.2.1"
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:4324: error: C compiler cannot create executables
See `config.log' for more details
A standard ./configure will however work.
_______________________________________________
zeromq-dev mailing list
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
_______________________________________________
zeromq-dev mailing list
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
Michal Vyskocil
2016-11-29 21:19:55 UTC
Permalink
Hi,

the key message is:

/usr/bin/ld: skipping incompatible /usr/lib64/libc.so when searching for -lc

That means you have only 64bit version of libc installed. According
your flags you're trying to build 32bit version, so you must install
32bit libc - glibc.i686

Michal
Post by Igor Lopez
Hi,
I am having a dependency problem.
The Quartus Prime and the ModelSim applications requires a bunch of 32 bit
libraries to be installed on the Linux machine for them to work.
Of course is one of them the 0MQ libray libzmq3 and I have not found any
CentOS repositories with that library so I have to build it myself.
First time for me doing a build for another architecture with google giving
$ ./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32"
"LDFLAGS=-m32"
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: C compiler cannot create executables
See `config.log' for more details
And opening the config.log gives me no understandable hint but it points out
configure:4253: checking whether the C compiler works
configure:4275: gcc -m32 -m32 conftest.c >&5
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: skipping incompatible /usr/lib64/libc.so when searching for -lc
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
configure:4279: $? = 1
configure:4317: result: no
| /* confdefs.h */
| #define PACKAGE_NAME "zeromq"
| #define PACKAGE_TARNAME "zeromq"
| #define PACKAGE_VERSION "4.2.1"
| #define PACKAGE_STRING "zeromq 4.2.1"
| #define PACKAGE_URL ""
| #define PACKAGE "zeromq"
| #define VERSION "4.2.1"
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:4324: error: C compiler cannot create executables
See `config.log' for more details
A standard ./configure will however work.
_______________________________________________
zeromq-dev mailing list
http://lists.zeromq.org/mailman/listinfo/zeromq-dev
--
best regards
Michal Vyskocil
Loading...