1 |
Hi all, |
2 |
|
3 |
I cannot cross-compile to x86 (gcc bla bla -m32) some applications on my |
4 |
gentoo-amd64 system. |
5 |
|
6 |
Basically, I need amd64 AND x86 version of mpich2 or openmpi.. |
7 |
But both fail to compile to -m32 in the "phase"... the linking phase.. |
8 |
|
9 |
openmpi fails in: |
10 |
|
11 |
|
12 |
miguel@feynman ~/mpi/openmpi-1.0.2/ompi/mpi/cxx $ /bin/sh ../../../libtool |
13 |
--tag=CXX --mode=link g++ -O3 -DNDEBUG -m32 -finline-functions -pthread |
14 |
-export-dynamic -m32 -o libmpi_cxx.la -rpath /opt/openmpi-1.0.2-x86/lib |
15 |
mpicxx.lo intercepts.lo comm.lo -lm -lutil -lnsl -lm |
16 |
g++ -shared -nostdlib |
17 |
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../../../lib32/crti.o |
18 |
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/32/crtbeginS.o .libs/mpicxx.o |
19 |
.libs/intercepts.o .libs/comm.o -lutil -lnsl |
20 |
-L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/32 |
21 |
-L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5 |
22 |
-L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../../../x86_64-pc-linux-gnu/lib |
23 |
-L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../../../lib32 |
24 |
-L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../.. -L/lib/../lib32 |
25 |
-L/usr/lib/../lib32 /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/libstdc++.so |
26 |
-L/usr/x86_64-pc-linux-gnu/bin -L/usr/x86_64-pc-linux-gnu/lib |
27 |
-L/usr/lib/gcc/x86_64-pc-linux-gnu/../../../x86_64-pc-linux-gnu/lib |
28 |
-L/usr/lib/gcc/x86_64-pc-linux-gnu/../../../lib64 -L/lib/../lib64 |
29 |
-L/usr/lib/../lib64 -lm -lpthread -lc -lgcc_s_32 |
30 |
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/32/crtendS.o |
31 |
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../../../lib32/crtn.o -m32 |
32 |
-pthread -m32 -Wl,-soname -Wl,libmpi_cxx.so.0 -o .libs/libmpi_cxx.so.0.0.0 |
33 |
/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/libstdc++.so: could not read symbols: |
34 |
File in wrong format |
35 |
collect2: ld returned 1 exit status |
36 |
|
37 |
|
38 |
|
39 |
mpich2 fails in: |
40 |
|
41 |
ar cr ../../../lib/libmpich.a comm_compare.o comm_create.o comm_dup.o |
42 |
comm_free.o comm_get_name.o comm_group.o comm_rank.o comm_size.o |
43 |
comm_remote_group.o comm_remote_size.o comm_set_name.o comm_split.o |
44 |
comm_test_inter.o intercomm_create.o intercomm_merge.o commutil.o |
45 |
ar: ../../../lib/libmpich.a: File format not recognized |
46 |
make[3]: *** [.libstamp0] Error 1 |
47 |
make[3]: Leaving directory `/home/miguel/mpi/mpich2-1.0.3/src/mpi/comm' |
48 |
|
49 |
miguel@feynman ~/mpi/mpich2-1.0.3/src/mpi/comm $ file |
50 |
../../../lib/libmpich.a |
51 |
../../../lib/libmpich.a: current ar archive |
52 |
|
53 |
ar cannot recognize the libmpich.a ar archive.. |
54 |
|
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 |
both cases seem to be cause by improper "multi-lib" support, is this |
64 |
correct? |
65 |
|
66 |
How can I address this issue? |
67 |
Its really important to me to have a 32bit version of this... |
68 |
|
69 |
ps.: my 10k lines C source code project compiles for amd64 and for x86 with |
70 |
no problems. |
71 |
|
72 |
Best regards to all! |
73 |
|
74 |
-- |
75 |
Miguel Sousa Filipe |