qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Build always fail on x86_32 host for i386_softmmu target
@ 2010-03-22  6:16 Bruce Majia
  2010-03-22  8:31 ` Stefan Weil
  2010-03-22  8:50 ` [Qemu-devel] " Juan Quintela
  0 siblings, 2 replies; 8+ messages in thread
From: Bruce Majia @ 2010-03-22  6:16 UTC (permalink / raw)
  To: qemu-devel

Hi,

When I built qemu on my x86_32 host with following configure line:

$ ./configure --prefix=/usr/local/qemus/master \
	--target-list=i386-softmmu
$ make

The build will always fail with message:
----------------------------------------
...
  CC    i386-softmmu/fpu/softfloat-native.o
  /mnt/farm/my_repo/qemu/fpu/softfloat-native.c:130:5: error:
  "HOST_LONG_BITS" is not defined
  make[1]: *** [fpu/softfloat-native.o] Error 1
  make: *** [subdir-i386-softmmu] Error 2
----------------------------------------

Is this a known issue or something wrong with my configure line?

Though I can make it work with a minor nasty patch:
==============
diff --git a/fpu/softfloat-native.c b/fpu/softfloat-native.c
index 049c830..5ba5013 100644
--- a/fpu/softfloat-native.c
+++ b/fpu/softfloat-native.c
@@ -127,6 +127,9 @@ floatx80 int64_to_floatx80( int64_t v STATUS_PARAM)
 #endif
 
 /* XXX: this code implements the x86 behaviour, not the IEEE one.  */
+#ifndef HOST_LONG_BITS
+#define HOST_LONG_BITS 32
+#endif
 #if HOST_LONG_BITS == 32
 static inline int long_to_int32(long a)
 {
==============

I thought it may necessary to ask if something wrong with above hack.
And can we get the problem fixed properly?

Thanks.
-b

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

* Re: [Qemu-devel] Build always fail on x86_32 host for i386_softmmu target
  2010-03-22  6:16 [Qemu-devel] Build always fail on x86_32 host for i386_softmmu target Bruce Majia
@ 2010-03-22  8:31 ` Stefan Weil
  2010-03-22  8:36   ` Bruce Majia
  2010-03-22  8:50 ` [Qemu-devel] " Juan Quintela
  1 sibling, 1 reply; 8+ messages in thread
From: Stefan Weil @ 2010-03-22  8:31 UTC (permalink / raw)
  To: Bruce Majia; +Cc: qemu-devel

Bruce Majia schrieb:
> Hi,
>
> When I built qemu on my x86_32 host with following configure line:
>
> $ ./configure --prefix=/usr/local/qemus/master \
> --target-list=i386-softmmu
> $ make
>
> The build will always fail with message:
> ----------------------------------------
> ...
> CC i386-softmmu/fpu/softfloat-native.o
> /mnt/farm/my_repo/qemu/fpu/softfloat-native.c:130:5: error:
> "HOST_LONG_BITS" is not defined
> make[1]: *** [fpu/softfloat-native.o] Error 1
> make: *** [subdir-i386-softmmu] Error 2
> ----------------------------------------
>
> Is this a known issue or something wrong with my configure line?
>
> Though I can make it work with a minor nasty patch:
> ==============
> diff --git a/fpu/softfloat-native.c b/fpu/softfloat-native.c
> index 049c830..5ba5013 100644
> --- a/fpu/softfloat-native.c
> +++ b/fpu/softfloat-native.c
> @@ -127,6 +127,9 @@ floatx80 int64_to_floatx80( int64_t v STATUS_PARAM)
> #endif
>
> /* XXX: this code implements the x86 behaviour, not the IEEE one. */
> +#ifndef HOST_LONG_BITS
> +#define HOST_LONG_BITS 32
> +#endif
> #if HOST_LONG_BITS == 32
> static inline int long_to_int32(long a)
> {
> ==============
>
> I thought it may necessary to ask if something wrong with above hack.
> And can we get the problem fixed properly?
>
> Thanks.
> -b

I had this problem with incremental builds several times, too.
A new make from scratch (all generated files removed) always worked,
so I don't think your patch is needed.

Regards,
Stefan

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

* Re: [Qemu-devel] Build always fail on x86_32 host for i386_softmmu target
  2010-03-22  8:31 ` Stefan Weil
@ 2010-03-22  8:36   ` Bruce Majia
  0 siblings, 0 replies; 8+ messages in thread
From: Bruce Majia @ 2010-03-22  8:36 UTC (permalink / raw)
  To: Stefan Weil; +Cc: qemu-devel

On Mon, Mar 22, 2010 at 09:31:09AM +0100, Stefan Weil wrote:
> Bruce Majia schrieb:
> > Hi,
> >
> > When I built qemu on my x86_32 host with following configure line:
> >
> > $ ./configure --prefix=/usr/local/qemus/master \
> > --target-list=i386-softmmu
> > $ make
> >
> > The build will always fail with message:
> > ----------------------------------------
> > ...
> > CC i386-softmmu/fpu/softfloat-native.o
> > /mnt/farm/my_repo/qemu/fpu/softfloat-native.c:130:5: error:
> > "HOST_LONG_BITS" is not defined
> > make[1]: *** [fpu/softfloat-native.o] Error 1
> > make: *** [subdir-i386-softmmu] Error 2
> > ----------------------------------------
> >
> > Is this a known issue or something wrong with my configure line?
> >
> > Though I can make it work with a minor nasty patch:
> > ==============
> > diff --git a/fpu/softfloat-native.c b/fpu/softfloat-native.c
> > index 049c830..5ba5013 100644
> > --- a/fpu/softfloat-native.c
> > +++ b/fpu/softfloat-native.c
> > @@ -127,6 +127,9 @@ floatx80 int64_to_floatx80( int64_t v STATUS_PARAM)
> > #endif
> >
> > /* XXX: this code implements the x86 behaviour, not the IEEE one. */
> > +#ifndef HOST_LONG_BITS
> > +#define HOST_LONG_BITS 32
> > +#endif
> > #if HOST_LONG_BITS == 32
> > static inline int long_to_int32(long a)
> > {
> > ==============
> >
> > I thought it may necessary to ask if something wrong with above hack.
> > And can we get the problem fixed properly?
> >
> > Thanks.
> > -b
> 
> I had this problem with incremental builds several times, too.
> A new make from scratch (all generated files removed) always worked,
> so I don't think your patch is needed.

Yes, you are right. I must messed up several incremental builds and
clean build. While I just tried clean configure and build, I just got
warning like this:

fpu/softfloat-native.c:132:5: warning: "HOST_LONG_BITS" is not defined

That is fine to me. Though it would be better to avoid the warning. :)

Thanks.
-b

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

* [Qemu-devel] Re: Build always fail on x86_32 host for i386_softmmu target
  2010-03-22  6:16 [Qemu-devel] Build always fail on x86_32 host for i386_softmmu target Bruce Majia
  2010-03-22  8:31 ` Stefan Weil
@ 2010-03-22  8:50 ` Juan Quintela
  2010-03-22 13:44   ` Jan Kiszka
  1 sibling, 1 reply; 8+ messages in thread
From: Juan Quintela @ 2010-03-22  8:50 UTC (permalink / raw)
  To: Bruce Majia; +Cc: qemu-devel

Bruce Majia <bruce.majia@gmail.com> wrote:
> Hi,
>
> When I built qemu on my x86_32 host with following configure line:
>

try to do first a:
make distclean

> $ ./configure --prefix=/usr/local/qemus/master \
> 	--target-list=i386-softmmu
> $ make

there are several config.h & config.mak around (from old builds) you
need to remove then 1st.

Later, Juan.

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

* [Qemu-devel] Re: Build always fail on x86_32 host for i386_softmmu target
  2010-03-22  8:50 ` [Qemu-devel] " Juan Quintela
@ 2010-03-22 13:44   ` Jan Kiszka
  2010-03-22 13:49     ` Juan Quintela
  0 siblings, 1 reply; 8+ messages in thread
From: Jan Kiszka @ 2010-03-22 13:44 UTC (permalink / raw)
  To: Juan Quintela; +Cc: qemu-devel, Bruce Majia

Juan Quintela wrote:
> Bruce Majia <bruce.majia@gmail.com> wrote:
>> Hi,
>>
>> When I built qemu on my x86_32 host with following configure line:
>>
> 
> try to do first a:
> make distclean
> 
>> $ ./configure --prefix=/usr/local/qemus/master \
>> 	--target-list=i386-softmmu
>> $ make
> 
> there are several config.h & config.mak around (from old builds) you
> need to remove then 1st.

Doesn't the fact that this is required for a proper rebuild indicate
some issue in the build system? I just recall a recent multi-hour
debugging session of mine which turned out to be due to an inconsistent
build after moving forward in the git history (in qemu-kvm, but the code
change came from upstream). Or are there some fundamentally unresolvable
scenarios so that a distclean is mandatory after every git update?

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

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

* [Qemu-devel] Re: Build always fail on x86_32 host for i386_softmmu target
  2010-03-22 13:44   ` Jan Kiszka
@ 2010-03-22 13:49     ` Juan Quintela
  2010-03-22 13:57       ` Jan Kiszka
  0 siblings, 1 reply; 8+ messages in thread
From: Juan Quintela @ 2010-03-22 13:49 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: qemu-devel, Bruce Majia

Jan Kiszka <jan.kiszka@siemens.com> wrote:
> Juan Quintela wrote:
>> Bruce Majia <bruce.majia@gmail.com> wrote:
>>> Hi,
>>>
>>> When I built qemu on my x86_32 host with following configure line:
>>>
>> 
>> try to do first a:
>> make distclean
>> 
>>> $ ./configure --prefix=/usr/local/qemus/master \
>>> 	--target-list=i386-softmmu
>>> $ make
>> 
>> there are several config.h & config.mak around (from old builds) you
>> need to remove then 1st.
>
> Doesn't the fact that this is required for a proper rebuild indicate
> some issue in the build system? I just recall a recent multi-hour
> debugging session of mine which turned out to be due to an inconsistent
> build after moving forward in the git history (in qemu-kvm, but the code
> change came from upstream). Or are there some fundamentally unresolvable
> scenarios so that a distclean is mandatory after every git update?

Humm, no, it should only happens if you update from a _very_ old qemu
(very old means something between qemu-0.11 - 0.12).

If you had need it after 0.12, it is a different bug and should be fixed.

Later, Juan.

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

* [Qemu-devel] Re: Build always fail on x86_32 host for i386_softmmu target
  2010-03-22 13:49     ` Juan Quintela
@ 2010-03-22 13:57       ` Jan Kiszka
  2010-03-22 14:05         ` Juan Quintela
  0 siblings, 1 reply; 8+ messages in thread
From: Jan Kiszka @ 2010-03-22 13:57 UTC (permalink / raw)
  To: Juan Quintela; +Cc: qemu-devel@nongnu.org, Bruce Majia

Juan Quintela wrote:
> Jan Kiszka <jan.kiszka@siemens.com> wrote:
>> Juan Quintela wrote:
>>> Bruce Majia <bruce.majia@gmail.com> wrote:
>>>> Hi,
>>>>
>>>> When I built qemu on my x86_32 host with following configure line:
>>>>
>>> try to do first a:
>>> make distclean
>>>
>>>> $ ./configure --prefix=/usr/local/qemus/master \
>>>> 	--target-list=i386-softmmu
>>>> $ make
>>> there are several config.h & config.mak around (from old builds) you
>>> need to remove then 1st.
>> Doesn't the fact that this is required for a proper rebuild indicate
>> some issue in the build system? I just recall a recent multi-hour
>> debugging session of mine which turned out to be due to an inconsistent
>> build after moving forward in the git history (in qemu-kvm, but the code
>> change came from upstream). Or are there some fundamentally unresolvable
>> scenarios so that a distclean is mandatory after every git update?
> 
> Humm, no, it should only happens if you update from a _very_ old qemu
> (very old means something between qemu-0.11 - 0.12).
> 
> If you had need it after 0.12, it is a different bug and should be fixed.
> 

I think I tried to reproduced this, but I failed after purging the buggy
output directory (out-of-tree build):

http://thread.gmane.org/gmane.comp.emulators.kvm.devel/47499

Maybe you are luckier than I :), or we have to wait for the next issue
to come.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

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

* [Qemu-devel] Re: Build always fail on x86_32 host for i386_softmmu target
  2010-03-22 13:57       ` Jan Kiszka
@ 2010-03-22 14:05         ` Juan Quintela
  0 siblings, 0 replies; 8+ messages in thread
From: Juan Quintela @ 2010-03-22 14:05 UTC (permalink / raw)
  To: Jan Kiszka; +Cc: qemu-devel@nongnu.org, Bruce Majia

Jan Kiszka <jan.kiszka@siemens.com> wrote:
> Juan Quintela wrote:
>> Jan Kiszka <jan.kiszka@siemens.com> wrote:
>>> Juan Quintela wrote:
>>>> Bruce Majia <bruce.majia@gmail.com> wrote:
>>>>> Hi,
>>>>>
>>>>> When I built qemu on my x86_32 host with following configure line:
>>>>>
>>>> try to do first a:
>>>> make distclean
>>>>
>>>>> $ ./configure --prefix=/usr/local/qemus/master \
>>>>> 	--target-list=i386-softmmu
>>>>> $ make
>>>> there are several config.h & config.mak around (from old builds) you
>>>> need to remove then 1st.
>>> Doesn't the fact that this is required for a proper rebuild indicate
>>> some issue in the build system? I just recall a recent multi-hour
>>> debugging session of mine which turned out to be due to an inconsistent
>>> build after moving forward in the git history (in qemu-kvm, but the code
>>> change came from upstream). Or are there some fundamentally unresolvable
>>> scenarios so that a distclean is mandatory after every git update?
>> 
>> Humm, no, it should only happens if you update from a _very_ old qemu
>> (very old means something between qemu-0.11 - 0.12).
>> 
>> If you had need it after 0.12, it is a different bug and should be fixed.
>> 
>
> I think I tried to reproduced this, but I failed after purging the buggy
g> output directory (out-of-tree build):
>
> http://thread.gmane.org/gmane.comp.emulators.kvm.devel/47499
>
> Maybe you are luckier than I :), or we have to wait for the next issue
> to come.

Looking at it.  I normally are "unlucky" person on that cases.  It
hasn't happened to me, but will take a look.

Later, Juan.

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

end of thread, other threads:[~2010-03-22 14:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-22  6:16 [Qemu-devel] Build always fail on x86_32 host for i386_softmmu target Bruce Majia
2010-03-22  8:31 ` Stefan Weil
2010-03-22  8:36   ` Bruce Majia
2010-03-22  8:50 ` [Qemu-devel] " Juan Quintela
2010-03-22 13:44   ` Jan Kiszka
2010-03-22 13:49     ` Juan Quintela
2010-03-22 13:57       ` Jan Kiszka
2010-03-22 14:05         ` Juan Quintela

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).