[parsec-users] error encountered while cross-compiling Parsec

Yungang Bao ybao at CS.Princeton.EDU
Thu Mar 10 22:22:34 EST 2011


Hi Steve,

I think that there is one wrong step in your flow. Did you try to crosscompile other workloads? 

The dependencies for gcc-hook configuration are as following: "libtool --> hooks --> bodytrack". Since you want to crosscompile bodytrack, you need to crosscompile hooks first, but you should not crosscompile libtool because it is to be executed on the host machine. 

However, according to your log "/pkgs/tools/libtool/inst/amd64-linux.alpha-gcc-hooks/bin/libtool", you may already crosscompiled the libtool. So one solution is that you could try to copy "amd64-linux.gcc-hooks/bin/libtool" as "amd64-linux.alpha-gcc-hooks/bin/libtool".

Best Regards,
Yungang

----- Original Message -----
From: "Stevenson Jian" <stevensonjian at gmail.com>
To: parsec-users at lists.cs.princeton.edu
Sent: Tuesday, March 8, 2011 6:07:29 PM
Subject: Re: [parsec-users] error encountered while cross-compiling Parsec


Hi, 
I am trying to crosscompile bodytrack from parsec 2.1 and I am stuck on an error. Your help will be greatly appreciated. 


In the config folder under the parsec2.1 folder, I added the following file: alpha-gcc-hooks.bldconf. 



#!/bin/bash 
# 
# gcc-hooks.bldconf - file containing global information necessary to build 
# PARSEC with hooks API 
# 
# Copyright (C) 2006-2007 Princeton University 
# Written by Christian Bienia 


export CC_HOME=/home/data1/xunjian1/alphaev67-unknown-linux-gnu 
export BINUTIL_HOME=/home/data1/xunjian1/alphaev67-unknown-linux-gnu 


source ${PARSECDIR}/config/gcc.bldconf 


# Enable PARSEC hooks 
CFLAGS="${CFLAGS} -DENABLE_PARSEC_HOOKS -I${PARSECDIR}/pkgs/libs/hooks/inst/${PARSECPLAT}/include" 
CXXFLAGS="${CXXFLAGS} -DENABLE_PARSEC_HOOKS -I${PARSECDIR}/pkgs/libs/hooks/inst/${PARSECPLAT}/include" 
LDFLAGS="${LDFLAGS} -L${PARSECDIR}/pkgs/libs/hooks/inst/${PARSECPLAT}/lib" 
LIBS="${LIBS} -lhooks" 


# Add directory with hooks library to library search path 
if [ -z "${LD_LIBRARY_PATH}" ]; then 
export LD_LIBRARY_PATH="${PARSECDIR}/pkgs/libs/hooks/inst/${PARSECPLAT}/lib" 
else 
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PARSECDIR}/pkgs/libs/hooks/inst/${PARSECPLAT}/lib" 


Also, I modified a couple of lines in gcc.bldconf: 
*************************************************************************************** 

# CC_HOME is installation root of the C compiler 
export CC_HOME="/home/data1/xunjian1/alphaev67-unknown-linux-gnu" 
# BINUTIL_HOME is installation root of the GNU binutils 
export BINUTIL_HOME="/home/data1/xunjian1/alphaev67-unknown-linux-gnu" 
# GNUTOOL_HOME is installation root of the GNU tools 
export GNUTOOL_HOME="/usr" 
# BINARY_PREFIX is the string which is used as prefix for the GNU binaries 
export BINARY_PREFIX="alphaev67-unknown-linux-gnu-" 
;; 
esac 


# Compilers and preprocessors 
export CC="${CC_HOME}/bin/${BINARY_PREFIX}gcc" 
export CXX="${CC_HOME}/bin/${BINARY_PREFIX}g++" 
export CPP="${CC_HOME}/bin/${BINARY_PREFIX}cpp" 
export CXXCPP="" 


# GNU Binutils 
export LD="${BINUTIL_HOME}/bin/${BINARY_PREFIX}ld" 
export AS="${BINUTIL_HOME}/bin/${BINARY_PREFIX}as" 
export AR="${BINUTIL_HOME}/bin/${BINARY_PREFIX}ar" 
export RANLIB="${BINUTIL_HOME}/bin/${BINARY_PREFIX}ranlib" 
export STRIP="${BINUTIL_HOME}/bin/${BINARY_PREFIX}strip" 


# GNU Tools 
export M4="${GNUTOOL_HOME}/bin/m4" 
export MAKE="${GNUTOOL_HOME}/bin/make" 
********************************************************************************************* 



This is the command that I used: 

./parsecmgmt -a build -c alpha-gcc-hooks -p bodytrack. 


I get the following errors: 

PARSEC] Packages to build: bodytrack 


[PARSEC] [========== Building package bodytrack ==========] 
[PARSEC] [---------- Analyzing package bodytrack ----------] 
[PARSEC] bodytrack depends on: hooks 
[PARSEC] [---------- Analyzing package hooks ----------] 
[PARSEC] hooks depends on: libtool 
[PARSEC] [---------- Analyzing package libtool ----------] 
[PARSEC] Package libtool already exists, proceeding. 
[PARSEC] [---------- Building package hooks ----------] 
[PARSEC] Removing old build directory. 
[PARSEC] Copying source code of package hooks. 
[PARSEC] Running 'env /usr/bin/make': 
/home/data1/xunjian1/compile_parsec/parsec-2.1/bin/../pkgs/tools/libtool/inst/amd64-linux.alpha-gcc-hooks/bin/libtool --mode=compile /home/data1/xunjian1/alphaev67-unknown-linux-gnu/bin/alphaev67-unknown-linux-gnu-gcc -O3 -funroll-loops -fprefetch-loop-arrays -static-libgcc -Wl,--hash-style=both,--as-needed -DPARSEC_VERSION=2.1 -DENABLE_PARSEC_HOOKS -I/home/data1/xunjian1/compile_parsec/parsec-2.1/bin/../pkgs/libs/hooks/inst/amd64-linux.alpha-gcc-hooks/include -Wall -D_GNU_SOURCE -D_XOPEN_SOURCE=600 -c hooks.c 
libtool: compile: /home/data1/xunjian1/alphaev67-unknown-linux-gnu/bin/alphaev67-unknown-linux-gnu-gcc -O3 -funroll-loops -fprefetch-loop-arrays -static-libgcc -Wl,--hash-style=both,--as-needed -DPARSEC_VERSION=2.1 -DENABLE_PARSEC_HOOKS -I/home/data1/xunjian1/compile_parsec/parsec-2.1/bin/../pkgs/libs/hooks/inst/amd64-linux.alpha-gcc-hooks/include -Wall -D_GNU_SOURCE -D_XOPEN_SOURCE=600 -c hooks.c -o hooks.o 
make: *** No rule to make target `alpha_m5.lo', needed by `all'. Stop. 
[PARSEC] Error: 'env /usr/bin/make' failed. 
Your advice will be greatly appreciated. 
Thanks! 
Steve 
_______________________________________________
parsec-users mailing list
parsec-users at lists.cs.princeton.edu
https://lists.cs.princeton.edu/mailman/listinfo/parsec-users


More information about the parsec-users mailing list