summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2012-03-27 17:37:17 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-03-27 13:26:37 +0100
commit7b01671f54f70c28c98457058c51ffefcb07c0e8 (patch)
treed52a7541f21a6858974a753e8293160bf94e3382 /meta/recipes-support
parentc3c5e8933a0833f31f976aa69ee8d013fc0136ad (diff)
downloadpoky-7b01671f54f70c28c98457058c51ffefcb07c0e8.tar.gz
nspr 4.8.9: failed to build on x86_64 board
nspr failed to build on x86_64 board(e.g., qemux86-64): x86_64-poky-linux-gcc -m64 ... -m32 ... ... fatal error: gnu/stubs-32.h: No such file or directory This is because there are both '-m64' and '-m32' in gcc's options, and the later one is used, but what we need is '-m64' since it is x86_64, this is caused by an incorrect logic in configure.in, we should assume that the pkg uses 64bit when target_cpu is x86_64 (it has two options: --enable-n32 and --enable-64bit, both of them are not set by default), we only can assume that the pkg uses 32bit when USE_N32 is set. But what it did was that assumed 32bit when target_cpu was x86_64 unless --enable-64bit was set, this seems unreasonable and caused the "gcc -m64 -m32" error. Some had noticed this error before: https://lists.yoctoproject.org/pipermail/poky/2011-May/005799.html NOTE: * Both fix configure and configure.in since we can't run the "autoreconf" for nsrp, please see more explanation in trickly-fix-build-on-x86_64.patch. * Also fixed powerpc64, this is just fixed by conclusion since we don't suport ppc64. [YOCTO #2179] (From OE-Core rev: 1d8fea3b9c9dd8f3e2b72ee8c8a9b834f4a3d729) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support')
-rw-r--r--meta/recipes-support/nspr/files/fix-build-on-x86_64.patch51
-rw-r--r--meta/recipes-support/nspr/files/trickly-fix-build-on-x86_64.patch62
-rw-r--r--meta/recipes-support/nspr/nspr_4.8.9.bb4
3 files changed, 116 insertions, 1 deletions
diff --git a/meta/recipes-support/nspr/files/fix-build-on-x86_64.patch b/meta/recipes-support/nspr/files/fix-build-on-x86_64.patch
new file mode 100644
index 0000000000..a6fa1ea607
--- /dev/null
+++ b/meta/recipes-support/nspr/files/fix-build-on-x86_64.patch
@@ -0,0 +1,51 @@
1Fix build failure on x86_64
2
3When the target_cpu is x86_64, we should assume that the pkg uses 64bit,
4only if USE_N32 is set, we can assume that the pkg uses 32bit. It used a
5opposite logic before.
6
7Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
8
9Upstream-Status: Pending
10---
11 configure.in | 12 ++++++------
12 1 files changed, 6 insertions(+), 6 deletions(-)
13
14diff --git a/configure.in b/configure.in
15index 39c96a3..99a03ac 100644
16--- a/configure.in
17+++ b/configure.in
18@@ -1778,24 +1778,24 @@ tools are selected during the Xcode/Developer Tools installation.])
19 PR_MD_ASFILES=os_Linux_ia64.s
20 ;;
21 x86_64)
22- if test -n "$USE_64"; then
23- PR_MD_ASFILES=os_Linux_x86_64.s
24- else
25+ if test -n "$USE_N32"; then
26 AC_DEFINE(i386)
27 PR_MD_ASFILES=os_Linux_x86.s
28 CC="$CC -m32"
29 CXX="$CXX -m32"
30+ else
31+ PR_MD_ASFILES=os_Linux_x86_64.s
32 fi
33 ;;
34 ppc|powerpc)
35 PR_MD_ASFILES=os_Linux_ppc.s
36 ;;
37 powerpc64)
38- if test -n "$USE_64"; then
39+ if test -n "$USE_N32"; then
40+ PR_MD_ASFILES=os_Linux_ppc.s
41+ else
42 CC="$CC -m64"
43 CXX="$CXX -m64"
44- else
45- PR_MD_ASFILES=os_Linux_ppc.s
46 fi
47 ;;
48 m68k)
49--
501.7.1
51
diff --git a/meta/recipes-support/nspr/files/trickly-fix-build-on-x86_64.patch b/meta/recipes-support/nspr/files/trickly-fix-build-on-x86_64.patch
new file mode 100644
index 0000000000..8ca51e4d1f
--- /dev/null
+++ b/meta/recipes-support/nspr/files/trickly-fix-build-on-x86_64.patch
@@ -0,0 +1,62 @@
1trickily fix build failure on x86_64
2
3It seems that we can not run the 'autoreconf -f -i' for the nspr, I met
4several strange problems while trying to do that, and the previous
5author seemed had noticed this, so he wrote:
6
7do_configure() {
8 oe_runconf
9}
10
11to avoid running the "autoreconf". But we must modify configure.in to
12fix the build failure on x86_64, so both modify configure and
13configure.in, once the "autoreconf" can work correctly, we can remove
14this patch.
15
16Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
17
18Upstream-Status: Inappropriate [configuration]
19---
20 configure | 12 ++++++------
21 1 files changed, 6 insertions(+), 6 deletions(-)
22
23diff --git a/configure b/configure
24--- a/configure
25+++ b/configure
26@@ -4366,9 +4366,7 @@ EOF
27 PR_MD_ASFILES=os_Linux_ia64.s
28 ;;
29 x86_64)
30- if test -n "$USE_64"; then
31- PR_MD_ASFILES=os_Linux_x86_64.s
32- else
33+ if test -n "$USE_N32"; then
34 cat >> confdefs.h <<\EOF
35 #define i386 1
36 EOF
37@@ -4376,17 +4374,19 @@ EOF
38 PR_MD_ASFILES=os_Linux_x86.s
39 CC="$CC -m32"
40 CXX="$CXX -m32"
41+ else
42+ PR_MD_ASFILES=os_Linux_x86_64.s
43 fi
44 ;;
45 ppc|powerpc)
46 PR_MD_ASFILES=os_Linux_ppc.s
47 ;;
48 powerpc64)
49- if test -n "$USE_64"; then
50+ if test -n "$USE_N32"; then
51+ PR_MD_ASFILES=os_Linux_ppc.s
52+ else
53 CC="$CC -m64"
54 CXX="$CXX -m64"
55- else
56- PR_MD_ASFILES=os_Linux_ppc.s
57 fi
58 ;;
59 m68k)
60--
611.7.1
62
diff --git a/meta/recipes-support/nspr/nspr_4.8.9.bb b/meta/recipes-support/nspr/nspr_4.8.9.bb
index 8b840d9a74..f70c2c1e45 100644
--- a/meta/recipes-support/nspr/nspr_4.8.9.bb
+++ b/meta/recipes-support/nspr/nspr_4.8.9.bb
@@ -5,10 +5,12 @@ LIC_FILES_CHKSUM = "file://configure.in;beginline=3;endline=40;md5=99d4d7d68bbc4
5 file://Makefile.in;beginline=4;endline=38;md5=c2b512182a334e1bfa1edc4d1c84a298 " 5 file://Makefile.in;beginline=4;endline=38;md5=c2b512182a334e1bfa1edc4d1c84a298 "
6SECTION = "libs/network" 6SECTION = "libs/network"
7 7
8PR = "r2" 8PR = "r3"
9 9
10SRC_URI = "ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz \ 10SRC_URI = "ftp://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz \
11 file://remove-rpath-from-tests.patch \ 11 file://remove-rpath-from-tests.patch \
12 file://fix-build-on-x86_64.patch \
13 file://trickly-fix-build-on-x86_64.patch \
12 " 14 "
13 15
14SRC_URI += "file://nspr.pc.in" 16SRC_URI += "file://nspr.pc.in"