All of lore.kernel.org
 help / color / mirror / Atom feed
* compilation of gcc-cross-intermediate-4.4.2 failed due to lack of fenv.h
@ 2009-12-28  3:49 Guo Hongruan
  2009-12-28 18:53 ` Khem Raj
  0 siblings, 1 reply; 4+ messages in thread
From: Guo Hongruan @ 2009-12-28  3:49 UTC (permalink / raw)
  To: openembeded-devel

Hi guys,
    I found a build error when building openembedded using:
1. MACHINE = qemux86 DISTRO=micro-uclibc, see the follow url for detailed.
http://tinderbox.openembedded.net/packages/391641/
2. MACHINE = qemux86 DISTRO=minimal-uclibc, see the following url for  
detailed
http://tinderbox.openembedded.net/packages/391427/

It seems that the comiler can not find the fenv.h which should be provided  
by uclibc.

/media/work-disk/workdir/oe-qemux86-micro-uclibc/work/i686-oe-linux-uclibc/gcc-cross-intermediate-4.4.2-r1.1/gcc-4.4.2/libgcc/config/libbid/bid_decimal_globals.c:47:18:  
error: fenv.h: No such file or directory

Any advice is welcome.


-- 
Guo Hongruan, Embedded Linux Consultant
Skype: camelguo
Twitter: camelguo
http://www.gulessoft.com



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: compilation of gcc-cross-intermediate-4.4.2 failed due to lack of fenv.h
  2009-12-28  3:49 compilation of gcc-cross-intermediate-4.4.2 failed due to lack of fenv.h Guo Hongruan
@ 2009-12-28 18:53 ` Khem Raj
  2009-12-31  8:56   ` Guo Hongruan
  0 siblings, 1 reply; 4+ messages in thread
From: Khem Raj @ 2009-12-28 18:53 UTC (permalink / raw)
  To: openembedded-devel

[-- Attachment #1: Type: text/plain, Size: 932 bytes --]

On Sun, Dec 27, 2009 at 7:49 PM, Guo Hongruan <camelguo@gmail.com> wrote:
> Hi guys,
>   I found a build error when building openembedded using:
> 1. MACHINE = qemux86 DISTRO=micro-uclibc, see the follow url for detailed.
> http://tinderbox.openembedded.net/packages/391641/
> 2. MACHINE = qemux86 DISTRO=minimal-uclibc, see the following url for
> detailed
> http://tinderbox.openembedded.net/packages/391427/
>
> It seems that the comiler can not find the fenv.h which should be provided
> by uclibc.
>
> /media/work-disk/workdir/oe-qemux86-micro-uclibc/work/i686-oe-linux-uclibc/gcc-cross-intermediate-4.4.2-r1.1/gcc-4.4.2/libgcc/config/libbid/bid_decimal_globals.c:47:18:
> error: fenv.h: No such file or directory
>
> Any advice is welcome.

You can add --disable-decimal-float to the configure options if its missing.
try the attached patch.

or you can enable UCLIBC_HAS_FENV in the uclibc config file.

[-- Attachment #2: diff --]
[-- Type: application/octet-stream, Size: 760 bytes --]

diff --git a/recipes/gcc/gcc-4.4.2.inc b/recipes/gcc/gcc-4.4.2.inc
index 1ef1359..0c9f3c4 100644
--- a/recipes/gcc/gcc-4.4.2.inc
+++ b/recipes/gcc/gcc-4.4.2.inc
@@ -33,4 +33,7 @@ EXTRA_OECONF_BASE = " --enable-libssp \
 		      --disable-bootstrap --disable-libgomp \
 		      --disable-libmudflap"
 
-EXTRA_OECONF_append_linux-uclibc = " ${@base_contains('TARGET_ARCH', 'powerpc', '--disable-decimal-float --without-long-double-128', '',d)}"
+EXTRA_OECONF_append_linux-uclibc = " --disable-decimal-float "
+EXTRA_OECONF_append_linux-uclibceabi = " --disable-decimal-float "
+EXTRA_OECONF_append_linux-uclibcspe = " --disable-decimal-float "
+EXTRA_OECONF_append_linux-uclibc = " ${@base_contains('TARGET_ARCH', 'powerpc', '--without-long-double-128', '',d)}"

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: compilation of gcc-cross-intermediate-4.4.2 failed due to lack of fenv.h
  2009-12-28 18:53 ` Khem Raj
@ 2009-12-31  8:56   ` Guo Hongruan
  2010-01-04 18:10     ` Khem Raj
  0 siblings, 1 reply; 4+ messages in thread
From: Guo Hongruan @ 2009-12-31  8:56 UTC (permalink / raw)
  To: openembedded-devel

I am afraid that the failure is not so easy.

Today, I recompile the following builds:
MACHINE=qemux86 DISTRO=micro-uclibc
MACHINE=qemuarm DISTRO=micro-uclibc
MACHINE=qemumips DISTRO=micro-uclibc

only qemuarm works. But the problem is that the uclibc configuration in  
qemuarm building has not defined UCLIBC_HAS_FENV, and the configuration  
options of gcc-cross-intermedia lacks --disable-decimal-float. So  
according the previous analysis, the qemuarm building should failed and  
reported the same reason.

Why did qemuarm build pass? I can not figure it out.

Thanks a lot!

在 Tue, 29 Dec 2009 02:53:07 +0800,Khem Raj <raj.khem@gmail.com> 写道:

> On Sun, Dec 27, 2009 at 7:49 PM, Guo Hongruan <camelguo@gmail.com> wrote:
>> Hi guys,
>>   I found a build error when building openembedded using:
>> 1. MACHINE = qemux86 DISTRO=micro-uclibc, see the follow url for  
>> detailed.
>> http://tinderbox.openembedded.net/packages/391641/
>> 2. MACHINE = qemux86 DISTRO=minimal-uclibc, see the following url for
>> detailed
>> http://tinderbox.openembedded.net/packages/391427/
>>
>> It seems that the comiler can not find the fenv.h which should be  
>> provided
>> by uclibc.
>>
>> /media/work-disk/workdir/oe-qemux86-micro-uclibc/work/i686-oe-linux-uclibc/gcc-cross-intermediate-4.4.2-r1.1/gcc-4.4.2/libgcc/config/libbid/bid_decimal_globals.c:47:18:
>> error: fenv.h: No such file or directory
>>
>> Any advice is welcome.
>
> You can add --disable-decimal-float to the configure options if its  
> missing.
> try the attached patch.
>
> or you can enable UCLIBC_HAS_FENV in the uclibc config file.


-- 
Guo Hongruan, Embedded Linux Consultant
Skype: camelguo
Twitter: camelguo
http://www.gulessoft.com



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: compilation of gcc-cross-intermediate-4.4.2 failed due to lack of fenv.h
  2009-12-31  8:56   ` Guo Hongruan
@ 2010-01-04 18:10     ` Khem Raj
  0 siblings, 0 replies; 4+ messages in thread
From: Khem Raj @ 2010-01-04 18:10 UTC (permalink / raw)
  To: openembedded-devel

On (31/12/09 16:56), Guo Hongruan wrote:
> I am afraid that the failure is not so easy.
> 
> Today, I recompile the following builds:
> MACHINE=qemux86 DISTRO=micro-uclibc
> MACHINE=qemuarm DISTRO=micro-uclibc
> MACHINE=qemumips DISTRO=micro-uclibc
> 
> only qemuarm works. But the problem is that the uclibc configuration
> in qemuarm building has not defined UCLIBC_HAS_FENV, and the
> configuration options of gcc-cross-intermedia lacks
> --disable-decimal-float. So according the previous analysis, the
> qemuarm building should failed and reported the same reason.
> 
> Why did qemuarm build pass? I can not figure it out.

decimal float is enabled by default for powerpc, x86 and x86_64 in gcc
thats why you see that it works ok on arm because its disabled by
default for arm. So yes for uclibc on these architectures you need to
disable it because uclibc does not have decimal floating library
implementation. Thats why in my patch in previous email I disabled 
it for all uclibc based builds of gcc. 
It should be disabled for mips as the code in gcc seems
like.  If you could post your gcc build logs somewhere I can have a
look.

-Khem




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-01-04 18:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-28  3:49 compilation of gcc-cross-intermediate-4.4.2 failed due to lack of fenv.h Guo Hongruan
2009-12-28 18:53 ` Khem Raj
2009-12-31  8:56   ` Guo Hongruan
2010-01-04 18:10     ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.