Skip to contentSkip to conversation

LTP cross compilation

LTP Hichem Boussetta 2 participants 3 messages May 17, 2009 – May 29, 2009

lore
Share & tools
lore
#0 lore raw

Hi all,

It is the first time that I use ltp and I am having some troubles trying to cross compile it.
I have seen a cross compilation example in the installation manual. It is about cross compiling for a powerpc processor.

CROSS_COMPILER=/opt/ppc64/powerpc64-linux/bin/powerpc64-linux- CROSS_CFLAGS= -mpowerpc64
LDFLAGS=-static
LOADLIBES=-lpthread -lc -lresolv -lnss_dns -lnss_files -lm -lc LIB_DIR=/lib64
export LOADLIBES LIB_DIR

In my case, I a compiling for an arm processor. I tried to do the same by the specifying the toolchain prefix, the CC, LD, AR and the LIB_DIR. But, I get always this error when cross compiling :

getdelays.c: In function 'print_delayacct':
getdelays.c:215: error: 'struct taskstats' has no member named 'freepages_count' getdelays.c:216: error: 'struct taskstats' has no member named 'freepages_delay_total' make[5]: *** [getdelays] Erreur 1

In fact, I omitted the libraries nss_dns and lnss_files since didn't find them in the lib directories of my toolchain. I am not sure about that, but I don't think the problem is related to this libraries since they do not exist in my host machine either, and here, the compilation of ltp worked well. Perhaps, the problem is due to the fact that I didn't put any option in the CROSS_CFLAGS since I found nowhere how to get this information.

If someone knows any thing about this or succeeded to cross compile ltp, it would be really nice if he could tell me, because I am really stuck now :-)

Thanks,

Signature · 3 lines
Hichem BOUSSETTA
Elève ingénieur
Ecole Polytechnique de Tunisie

begin:vcard
fn:Hichem
n:Boussetta;Hichem
org;quoted-printable:Ecole Polytechnique de Tunisie;Signaux et syst=C3=A8mes adr:;;;La marsa;Tunis;2078;Tunisie email;internet:[email protected] title;quoted-printable:El=C3=A8ve ing=C3=A9nieur
tel;cell:(+216) 21 149 549
note:Date de naissance : 17-04-1986 url:http://hichem.boussetta.netcv.fr/
version:2.1
end:vcard

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects

_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#1 lore raw
Quoted 19 lines · Hichem Boussetta

Hi all,

It is the first time that I use ltp and I am having some troubles trying to cross compile it.
I have seen a cross compilation example in the installation manual. It is about cross compiling for a powerpc processor.

CROSS_COMPILER=/opt/ppc64/powerpc64-linux/bin/powerpc64-linux- CROSS_CFLAGS= -mpowerpc64
LDFLAGS=-static
LOADLIBES=-lpthread -lc -lresolv -lnss_dns -lnss_files -lm -lc LIB_DIR=/lib64
export LOADLIBES LIB_DIR

In my case, I a compiling for an arm processor. I tried to do the same by the specifying the toolchain prefix, the CC, LD, AR and the LIB_DIR. But, I get always this error when cross compiling :

getdelays.c: In function 'print_delayacct':
getdelays.c:215: error: 'struct taskstats' has no member named 'freepages_count' getdelays.c:216: error: 'struct taskstats' has no member named 'freepages_delay_total' make[5]: *** [getdelays] Erreur 1

Quoted 6 lines

In fact, I omitted the libraries nss_dns and lnss_files since didn't find them in the lib directories of my toolchain. I am not sure about that, but I don't think the problem is related to this libraries since they do not exist in my host machine either, and here, the compilation of ltp worked well. Perhaps, the problem is due to the fact that I didn't put any option in the CROSS_CFLAGS since I found nowhere how to get this information.

If someone knows any thing about this or succeeded to cross compile ltp, it would be really nice if he could tell me, because I am really stuck now :-)

Thanks,

Hi all,

I think that I've figured out how to configure LTP for cross compilation. In fact, we need to put the right parameters during the configuration. We should append the cross toolchain's bin directory to the path and add --host=$(toolchain_prefix) to the configure script. By doing that, ltp succeds to find out the binary utilities that it should use (gcc, ld ,ar, ranlib, ...). We should also specify the path to the include and lib directory of the toolchain we are using by setting the variables CPPFLAGS and LDFLAGS. However, I still get a compilation error that I think it is related to the fact that some libraries are missing (signalfd for example). The message I receive is this :

getdelays.c: In function 'print_delayacct':
getdelays.c:215: error: 'struct taskstats' has no member named 'freepages_count'
getdelays.c:216: error: 'struct taskstats' has no member named 'freepages_delay_total'

Does anyone know how to overcome this problem or does this mean that it is not possible to cross compile LTP ? In fact, the crosstoolchains I am using are generated using crosstool-ng. So, I don't think that the problem is due to the toolchain.

Regards,

Signature · 3 lines
Hichem BOUSSETTA
Elève ingénieur
Ecole Polytechnique de Tunisie

begin:vcard
fn:Hichem
n:Boussetta;Hichem
org;quoted-printable:Ecole Polytechnique de Tunisie;Signaux et syst=C3=A8mes adr:;;;La marsa;Tunis;2078;Tunisie email;internet:[email protected] title;quoted-printable:El=C3=A8ve ing=C3=A9nieur
tel;cell:(+216) 21 149 549
note:Date de naissance : 17-04-1986 url:http://hichem.boussetta.netcv.fr/
version:2.1
end:vcard

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment.
http://p.sf.net/sfu/businessobjects

_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

#2 lore raw
Quoted 59 lines · Hichem Boussetta
Quoted 33 lines · Hichem Boussetta

Hi all,

It is the first time that I use ltp and I am having some troubles trying to cross compile it.
I have seen a cross compilation example in the installation manual. It is about cross compiling for a powerpc processor.

CROSS_COMPILER=/opt/ppc64/powerpc64-linux/bin/powerpc64-linux- CROSS_CFLAGS= -mpowerpc64
LDFLAGS=-static
LOADLIBES=-lpthread -lc -lresolv -lnss_dns -lnss_files -lm -lc LIB_DIR=/lib64
export LOADLIBES LIB_DIR

In my case, I a compiling for an arm processor. I tried to do the same by the specifying the toolchain prefix, the CC, LD, AR and the LIB_DIR. But, I get always this error when cross compiling :

getdelays.c: In function 'print_delayacct':
getdelays.c:215: error: 'struct taskstats' has no member named 'freepages_count'
getdelays.c:216: error: 'struct taskstats' has no member named 'freepages_delay_total'
make[5]: *** [getdelays] Erreur 1

In fact, I omitted the libraries nss_dns and lnss_files since didn't find them in the lib directories of my toolchain. I am not sure about that, but I don't think the problem is related to this libraries since they do not exist in my host machine either, and here, the compilation of ltp worked well. Perhaps, the problem is due to the fact that I didn't put any option in the CROSS_CFLAGS since I found nowhere how to get this information.

Quoted 6 lines

If someone knows any thing about this or succeeded to cross compile ltp, it would be really nice if he could tell me, because I am really stuck now :-)

Thanks,

Hi all,

I think that I've figured out how to configure LTP for cross compilation. In fact, we need to put the right parameters during the configuration. We should append the cross toolchain's bin directory to the path and add --host=$(toolchain_prefix) to the configure script. By doing that, ltp succeds to find out the binary utilities that it should use (gcc, ld ,ar, ranlib, ...). We should also specify the path to the include and lib directory of the toolchain we are using by setting the variables CPPFLAGS and LDFLAGS. However, I still get a compilation error that I think it is related to the fact that some libraries are missing (signalfd for example). The message I receive is this :

getdelays.c: In function 'print_delayacct':
getdelays.c:215: error: 'struct taskstats' has no member named 'freepages_count'
getdelays.c:216: error: 'struct taskstats' has no member named 'freepages_delay_total'

Quoted 4 lines

Does anyone know how to overcome this problem or does this mean that it is not possible to cross compile LTP ? In fact, the crosstoolchains I am using are generated using crosstool-ng. So, I don't think that the problem is due to the toolchain.

Your code may be mismatched with the testcode which means the autoconf stuff needs to be fixed.
-Garrett

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list