[parsec-users] Compiling Parsec for i386

Binh Q. Pham binhpham at cs.rutgers.edu
Sat Jan 22 14:43:49 EST 2011


Hi,

I want to compile Parsec on my host machine, which is 64 bits; and run 
Parsec on my target machine, which is 32 bits. In order to do this, I 
have added -m32 to CFLAGS and CXXFLAGS in gcc.bldconf:

export CFLAGS="-m32 -O3 -funroll-loops -fprefetch-loop-arrays 
${PORTABILITY_FLAGS}"
export CXXFLAGS="-m32 -O3 -funroll-loops -fprefetch-loop-arrays 
-fpermissive -fno-exceptions ${PORTABILITY_FLAGS}"

I got the following error after running: parsecmgmt -a build:

/usr/bin/ld: skipping incompatible 
/home/binhpham/spring2011/research/benchmarks/parsec-2.1/pkgs/apps/facesim/obj/amd64-linux.gcc/lib/libPhysBAM.a 
when searching for -lPhysBAM
/usr/bin/ld: cannot find -lPhysBAM
collect2: ld returned 1 exit status
make[1]: *** [facesim] Error 1
make[1]: Leaving directory 
`/home/binhpham/spring2011/research/benchmarks/parsec-2.1/pkgs/apps/facesim/obj/amd64-linux.gcc/Benchmarks/facesim'
make: *** [all] Error 2
[PARSEC] Error: 'env 
PHYSBAM=/home/binhpham/spring2011/research/benchmarks/parsec-2.1/pkgs/apps/facesim/obj/amd64-linux.gcc 
CXXFLAGS=-m32 -O3 -funroll-loops -fprefetch-loop-arrays -fpermissive 
-fno-exceptions -static-libgcc -Wl,--hash-style=both,--as-needed 
-DPARSEC_VERSION=2.1 -fexceptions /usr/bin/make' failed.


It looks like PhysBAM is a 64 bit library, and since I want to compile 
for 32 bit target, this library cannot be used. However, I am not sure 
how to solve this problem.

I really appreciate if someone can help me with this, or suggest me 
another way to do this.
Thank you,
Binh



More information about the parsec-users mailing list