Summary: | www-client/firefox-5.0-r2 build fail on arm platform | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Yixun Lan <dlan> |
Component: | New packages | Assignee: | Mozilla Gentoo Team <mozilla> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | ARM | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
the full build log
the full config.log patch for arm hardfloat toolchain patch for ebuild hardfloat support patch |
Description
Yixun Lan
2011-07-07 10:34:10 UTC
I'm trying to add echo " actual size of intp ${ac_cv_sizeof_int_p}" before follow line: ac_cv_sizeof_int_p=`cat conftestval` but quite wired, neither it print this line nor it print message "configure: failed program was:" , this is "if"! shouldn't it run into "yes" or "no"?? Created attachment 279401 [details]
the full build log
checking for wget... checking for wget... wget wget checking for conic... checking for valid optimization flags... yes checking size of int *... 0 configure: error: Unexpected pointer size *** Fix above errors and then restart with "make -f client.mk build" make[2]: *** [configure] Error 1 make[2]: Leaving directory `/var/tmp/portage/www-client/firefox-5.0-r2/work/mozilla-release' make[1]: *** [obj-armv7l-unknown-linux-gnueabi/Makefile] Error 2 make[1]: Leaving directory `/var/tmp/portage/www-client/firefox-5.0-r2/work/mozilla-release' make: *** [build] Error 2 emake failed ^[[31;01m*^[[0m ERROR: www-client/firefox-5.0-r2 failed (compile phase): ^[[31;01m*^[[0m emake failed Notice that, it try to invoke armv7l-unknown-linux-gnueabi but in my system should be armv7a-hardfloat-linux-gnueabi, why harded toolchain? This follow lines doesn't make sense, I've already add -mfpu=neon checking host system type... armv7l-unknown-linux-gnueabi checking target system type... armv7l-unknown-linux-gnueabi checking build system type... armv7l-unknown-linux-gnueabi checking for ARM NEON support in compiler... no Created attachment 279561 [details]
the full config.log
configure:21090: armv7a-hardfloat-linux-gnueabi-gcc -o conftest -pipe -mfpu=neon -march=armv7-a -mtune=cortex-a9 -fno-strict-aliasing -pthread -march=armv7-a -marm -mfloat-abi=softfp -lpthread -Wl,-O1 conftest.c -ldl 1>&5
configure: In function 'main':
configure:21084:11: warning: incompatible implicit declaration of built-in function 'exit'
/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/4.5.2/../../../../armv7a-hardfloat-linux-gnueabi/bin/ld: error: conftest uses VFP register arguments, /var/tmp/portage/www-client/firefox-5.0-r2/temp/ccZgb4lB.o does not
/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/4.5.2/../../../../armv7a-hardfloat-linux-gnueabi/bin/ld: failed to merge target specific data of file /var/tmp/portage/www-client/firefox-5.0-r2/temp/ccZgb4lB.o
collect2: ld returned 1 exit status
configure: failed program was:
#line 21079 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", sizeof(int *));
exit(0);
}
I'm set "-mfpu=neon -march=armv7-a -mtune=cortex-a9 -mfloat-abi=hard" in make.conf, but it changed to "-mfloat-abi=softfp", I think it have problem with -mfpu=neon. Is it possible to compile firefox with hardfloat abi? Created attachment 279629 [details]
patch for arm hardfloat toolchain
firefox hard-coded with softfp, this patch will make it work with hardfloat toolchain
here is upstream bug about this, they do provide a patch to fix this problem. I've tried, it works fine.. Can you guys look into this? and apply those patches. following provided patches are my slightly modified version https://bugzilla.mozilla.org/show_bug.cgi?id=632915 Created attachment 279709 [details, diff]
patch for ebuild
this patch make it apply on condition (ARCH == arm && use hardfloat toolchain)
Created attachment 279711 [details, diff]
hardfloat support patch
*** This bug has been marked as a duplicate of bug 362237 *** |