All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] build: specify minimum versions of make and binutils
@ 2016-01-27 23:12 Doug Goldstein
  2016-01-28 12:49 ` Jan Beulich
  0 siblings, 1 reply; 9+ messages in thread
From: Doug Goldstein @ 2016-01-27 23:12 UTC (permalink / raw)
  To: xen-devel
  Cc: Keir Fraser, Ian Campbell, Tim Deegan, Doug Goldstein,
	Jan Beulich, Ian Jackson

To help people avoid having to figure out what versions of make and
binutils need to be supported document them explicitly. The version of
binutils that had to be supported was mentioned in
http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg00609.html
as 2.17 recently. It was decided that the versions should instead be
GNU binutils 2.16.1 and GNU Make 3.80 in
http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg02134.html

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
---
 README | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/README b/README
index 1324c7c..f5bd429 100644
--- a/README
+++ b/README
@@ -36,8 +36,8 @@ release. Make sure you have all the following installed, either by
 visiting the project webpage or installing a pre-built package
 provided by your OS distributor:
     * GCC v4.1 or later
-    * GNU Make
-    * GNU Binutils
+    * GNU Make v3.80 or later
+    * GNU Binutils v2.16.1 or later
     * Development install of zlib (e.g., zlib-dev)
     * Development install of Python v2.3 or later (e.g., python-dev)
     * Development install of curses (e.g., libncurses-dev)
-- 
2.4.10

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

* Re: [PATCH v2] build: specify minimum versions of make and binutils
  2016-01-27 23:12 [PATCH v2] build: specify minimum versions of make and binutils Doug Goldstein
@ 2016-01-28 12:49 ` Jan Beulich
  2016-01-28 13:02   ` Ian Campbell
  0 siblings, 1 reply; 9+ messages in thread
From: Jan Beulich @ 2016-01-28 12:49 UTC (permalink / raw)
  To: Doug Goldstein
  Cc: Keir Fraser, Tim Deegan, Ian Jackson, Ian Campbell, xen-devel

>>> On 28.01.16 at 00:12, <cardoe@cardoe.com> wrote:
> To help people avoid having to figure out what versions of make and
> binutils need to be supported document them explicitly. The version of
> binutils that had to be supported was mentioned in
> http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg00609.html 
> as 2.17 recently. It was decided that the versions should instead be
> GNU binutils 2.16.1 and GNU Make 3.80 in
> http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg02134.html 

"decided" is a bit strong. I suggested these values. And while I'm
pretty certain that even plain make 3.80 will work, I'm in no way
sure plain 2.16.1 will (what I'm building with once in a while is some
2.16.9x, and I can't say how many backports it has). So the
question really is - did you test that things build with these?

Also I'm not sure 2.16.1 is going to be sufficient for ARM (it's
most definitely too old for ARM64).

Jan

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

* Re: [PATCH v2] build: specify minimum versions of make and binutils
  2016-01-28 12:49 ` Jan Beulich
@ 2016-01-28 13:02   ` Ian Campbell
  2016-01-28 13:47     ` Jan Beulich
  0 siblings, 1 reply; 9+ messages in thread
From: Ian Campbell @ 2016-01-28 13:02 UTC (permalink / raw)
  To: Jan Beulich, Doug Goldstein
  Cc: Keir Fraser, Tim Deegan, Ian Jackson, xen-devel

On Thu, 2016-01-28 at 05:49 -0700, Jan Beulich wrote:
> > > > On 28.01.16 at 00:12, <cardoe@cardoe.com> wrote:
> > To help people avoid having to figure out what versions of make and
> > binutils need to be supported document them explicitly. The version of
> > binutils that had to be supported was mentioned in
> > http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg00609.ht
> > ml 
> > as 2.17 recently. It was decided that the versions should instead be
> > GNU binutils 2.16.1 and GNU Make 3.80 in
> > http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg02134.ht
> > ml 
> 
> "decided" is a bit strong. I suggested these values. And while I'm
> pretty certain that even plain make 3.80 will work, I'm in no way
> sure plain 2.16.1 will (what I'm building with once in a while is some
> 2.16.9x, and I can't say how many backports it has). So the
> question really is - did you test that things build with these?

Why would he have done, you suggested 2.16.1 with no hint that you thought
it might not be a reasonable version to use.

TBH having rejected Doug's original proposal I would have said it was up to
you to specify the actual precise versions you think should be used, rather
than making Doug guess and leading him down blind allies by making
apparently authoritative suggestions which you secretly aren't actually
sure about yourself.

Anyway we could go round and round like this forever. What's wrong with
starting with this as a baseline and bumping it if it turns out to be a
problem in practice?

> Also I'm not sure 2.16.1 is going to be sufficient for ARM (it's
> most definitely too old for ARM64).

I suppose there is an implicit max(version, first version supporting arch).
I don't think we can really go into the level of detail needed for per arch
toolchain requirements.

I certainly don't know which version of either gcc or binutils is needed to
build either ARM variant.

Ian.

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

* Re: [PATCH v2] build: specify minimum versions of make and binutils
  2016-01-28 13:02   ` Ian Campbell
@ 2016-01-28 13:47     ` Jan Beulich
  2016-01-28 14:39       ` Doug Goldstein
  2016-02-10 20:36       ` Andrew Cooper
  0 siblings, 2 replies; 9+ messages in thread
From: Jan Beulich @ 2016-01-28 13:47 UTC (permalink / raw)
  To: Ian Campbell
  Cc: Ian Jackson, Tim Deegan, KeirFraser, Doug Goldstein, xen-devel

>>> On 28.01.16 at 14:02, <ian.campbell@citrix.com> wrote:
> On Thu, 2016-01-28 at 05:49 -0700, Jan Beulich wrote:
>> > > > On 28.01.16 at 00:12, <cardoe@cardoe.com> wrote:
>> > To help people avoid having to figure out what versions of make and
>> > binutils need to be supported document them explicitly. The version of
>> > binutils that had to be supported was mentioned in
>> > http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg00609.ht 
>> > ml 
>> > as 2.17 recently. It was decided that the versions should instead be
>> > GNU binutils 2.16.1 and GNU Make 3.80 in
>> > http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg02134.ht 
>> > ml 
>> 
>> "decided" is a bit strong. I suggested these values. And while I'm
>> pretty certain that even plain make 3.80 will work, I'm in no way
>> sure plain 2.16.1 will (what I'm building with once in a while is some
>> 2.16.9x, and I can't say how many backports it has). So the
>> question really is - did you test that things build with these?
> 
> Why would he have done, you suggested 2.16.1 with no hint that you thought
> it might not be a reasonable version to use.
> 
> TBH having rejected Doug's original proposal I would have said it was up to
> you to specify the actual precise versions you think should be used, rather
> than making Doug guess and leading him down blind allies by making
> apparently authoritative suggestions which you secretly aren't actually
> sure about yourself.

To be honest it didn't even occur to me that someone might
propose such a patch without verifying things actually build
(unless using more cautious wording). Also note that in the first
reply to the v1 patch I did refer to 2.16.9x (which imo has made
clear that that's the lowest one I ever tested with recently), i.e.
I don't think I've actively mislead him.

> Anyway we could go round and round like this forever. What's wrong with
> starting with this as a baseline and bumping it if it turns out to be a
> problem in practice?

Well, we certainly could (which would be in line with my second
reply to v1), just that I'm not sure how much value such a doc
addition then has. At the very least it should then say "no
lower than 2.16.1, something slightly newer may be needed" or
some such.

>> Also I'm not sure 2.16.1 is going to be sufficient for ARM (it's
>> most definitely too old for ARM64).
> 
> I suppose there is an implicit max(version, first version supporting arch).
> I don't think we can really go into the level of detail needed for per arch
> toolchain requirements.

I'm afraid quite frequently "first version supporting arch" isn't
good enough. If we know otherwise for ARM64, that's certainly
fine.

> I certainly don't know which version of either gcc or binutils is needed to
> build either ARM variant.

Well, again - what's that documentation addition then good for?

Jan

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

* Re: [PATCH v2] build: specify minimum versions of make and binutils
  2016-01-28 13:47     ` Jan Beulich
@ 2016-01-28 14:39       ` Doug Goldstein
  2016-02-10 20:36       ` Andrew Cooper
  1 sibling, 0 replies; 9+ messages in thread
From: Doug Goldstein @ 2016-01-28 14:39 UTC (permalink / raw)
  To: Jan Beulich, Ian Campbell; +Cc: KeirFraser, Tim Deegan, Ian Jackson, xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 3450 bytes --]

On 1/28/16 7:47 AM, Jan Beulich wrote:
>>>> On 28.01.16 at 14:02, <ian.campbell@citrix.com> wrote:
>> On Thu, 2016-01-28 at 05:49 -0700, Jan Beulich wrote:
>>>>>> On 28.01.16 at 00:12, <cardoe@cardoe.com> wrote:
>>>> To help people avoid having to figure out what versions of make and
>>>> binutils need to be supported document them explicitly. The version of
>>>> binutils that had to be supported was mentioned in
>>>> http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg00609.ht 
>>>> ml 
>>>> as 2.17 recently. It was decided that the versions should instead be
>>>> GNU binutils 2.16.1 and GNU Make 3.80 in
>>>> http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg02134.ht 
>>>> ml 
>>>
>>> "decided" is a bit strong. I suggested these values. And while I'm
>>> pretty certain that even plain make 3.80 will work, I'm in no way
>>> sure plain 2.16.1 will (what I'm building with once in a while is some
>>> 2.16.9x, and I can't say how many backports it has). So the
>>> question really is - did you test that things build with these?
>>
>> Why would he have done, you suggested 2.16.1 with no hint that you thought
>> it might not be a reasonable version to use.
>>
>> TBH having rejected Doug's original proposal I would have said it was up to
>> you to specify the actual precise versions you think should be used, rather
>> than making Doug guess and leading him down blind allies by making
>> apparently authoritative suggestions which you secretly aren't actually
>> sure about yourself.
> 
> To be honest it didn't even occur to me that someone might
> propose such a patch without verifying things actually build
> (unless using more cautious wording). Also note that in the first
> reply to the v1 patch I did refer to 2.16.9x (which imo has made
> clear that that's the lowest one I ever tested with recently), i.e.
> I don't think I've actively mislead him.
> 
>> Anyway we could go round and round like this forever. What's wrong with
>> starting with this as a baseline and bumping it if it turns out to be a
>> problem in practice?
> 
> Well, we certainly could (which would be in line with my second
> reply to v1), just that I'm not sure how much value such a doc
> addition then has. At the very least it should then say "no
> lower than 2.16.1, something slightly newer may be needed" or
> some such.
> 
>>> Also I'm not sure 2.16.1 is going to be sufficient for ARM (it's
>>> most definitely too old for ARM64).
>>
>> I suppose there is an implicit max(version, first version supporting arch).
>> I don't think we can really go into the level of detail needed for per arch
>> toolchain requirements.
> 
> I'm afraid quite frequently "first version supporting arch" isn't
> good enough. If we know otherwise for ARM64, that's certainly
> fine.
> 
>> I certainly don't know which version of either gcc or binutils is needed to
>> build either ARM variant.
> 
> Well, again - what's that documentation addition then good for?
> 
> Jan
> 

I withdraw the patch.

I was simply trying to avoid the case where Konrad did some work and it
was dependent on a newer version of binutils than was allowed in the
tree but it was undocumented what version that was. I was also writing a
patch to use some newer GNU Make bits and didn't know if that would be
allowed. It seemed logical to want to clear up any ambiguity.

-- 
Doug Goldstein


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 959 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

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

* Re: [PATCH v2] build: specify minimum versions of make and binutils
  2016-01-28 13:47     ` Jan Beulich
  2016-01-28 14:39       ` Doug Goldstein
@ 2016-02-10 20:36       ` Andrew Cooper
  2016-02-11 10:42         ` Jan Beulich
  1 sibling, 1 reply; 9+ messages in thread
From: Andrew Cooper @ 2016-02-10 20:36 UTC (permalink / raw)
  To: Jan Beulich, Ian Campbell
  Cc: Tim Deegan, KeirFraser, Ian Jackson, Doug Goldstein, xen-devel

On 28/01/2016 13:47, Jan Beulich wrote:
>>>> On 28.01.16 at 14:02, <ian.campbell@citrix.com> wrote:
>> On Thu, 2016-01-28 at 05:49 -0700, Jan Beulich wrote:
>>>>>> On 28.01.16 at 00:12, <cardoe@cardoe.com> wrote:
>>>> To help people avoid having to figure out what versions of make and
>>>> binutils need to be supported document them explicitly. The version of
>>>> binutils that had to be supported was mentioned in
>>>> http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg00609.ht 
>>>> ml 
>>>> as 2.17 recently. It was decided that the versions should instead be
>>>> GNU binutils 2.16.1 and GNU Make 3.80 in
>>>> http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg02134.ht 
>>>> ml 
>>> "decided" is a bit strong. I suggested these values. And while I'm
>>> pretty certain that even plain make 3.80 will work, I'm in no way
>>> sure plain 2.16.1 will (what I'm building with once in a while is some
>>> 2.16.9x, and I can't say how many backports it has). So the
>>> question really is - did you test that things build with these?
>> Why would he have done, you suggested 2.16.1 with no hint that you thought
>> it might not be a reasonable version to use.
>>
>> TBH having rejected Doug's original proposal I would have said it was up to
>> you to specify the actual precise versions you think should be used, rather
>> than making Doug guess and leading him down blind allies by making
>> apparently authoritative suggestions which you secretly aren't actually
>> sure about yourself.
> To be honest it didn't even occur to me that someone might
> propose such a patch without verifying things actually build
> (unless using more cautious wording). Also note that in the first
> reply to the v1 patch I did refer to 2.16.9x (which imo has made
> clear that that's the lowest one I ever tested with recently), i.e.
> I don't think I've actively mislead him.
>
>> Anyway we could go round and round like this forever. What's wrong with
>> starting with this as a baseline and bumping it if it turns out to be a
>> problem in practice?
> Well, we certainly could (which would be in line with my second
> reply to v1), just that I'm not sure how much value such a doc
> addition then has. At the very least it should then say "no
> lower than 2.16.1, something slightly newer may be needed" or
> some such.
>
>>> Also I'm not sure 2.16.1 is going to be sufficient for ARM (it's
>>> most definitely too old for ARM64).
>> I suppose there is an implicit max(version, first version supporting arch).
>> I don't think we can really go into the level of detail needed for per arch
>> toolchain requirements.
> I'm afraid quite frequently "first version supporting arch" isn't
> good enough. If we know otherwise for ARM64, that's certainly
> fine.
>
>> I certainly don't know which version of either gcc or binutils is needed to
>> build either ARM variant.
> Well, again - what's that documentation addition then good for?

Ping?

It doesn't matter exactly which version we choose as a minimum, but it
*is* very important that the version is written down.  Our README file
is the correct place for this information to live.

IMO, its also fine to say "For x86, GCC $X and Binutils $Y.  For ARM,
GCC $J and Binutils $K".

~Andrew

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

* Re: [PATCH v2] build: specify minimum versions of make and binutils
  2016-02-10 20:36       ` Andrew Cooper
@ 2016-02-11 10:42         ` Jan Beulich
  2016-02-11 10:59           ` Ian Campbell
  0 siblings, 1 reply; 9+ messages in thread
From: Jan Beulich @ 2016-02-11 10:42 UTC (permalink / raw)
  To: Andrew Cooper
  Cc: KeirFraser, Ian Campbell, Tim Deegan, Ian Jackson, xen-devel,
	Doug Goldstein

>>> On 10.02.16 at 21:36, <andrew.cooper3@citrix.com> wrote:
> On 28/01/2016 13:47, Jan Beulich wrote:
>>>>> On 28.01.16 at 14:02, <ian.campbell@citrix.com> wrote:
>>> On Thu, 2016-01-28 at 05:49 -0700, Jan Beulich wrote:
>>>>>>> On 28.01.16 at 00:12, <cardoe@cardoe.com> wrote:
>>>>> To help people avoid having to figure out what versions of make and
>>>>> binutils need to be supported document them explicitly. The version of
>>>>> binutils that had to be supported was mentioned in
>>>>> http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg00609.ht 
>>>>> ml 
>>>>> as 2.17 recently. It was decided that the versions should instead be
>>>>> GNU binutils 2.16.1 and GNU Make 3.80 in
>>>>> http://lists.xenproject.org/archives/html/xen-devel/2016-01/msg02134.ht 
>>>>> ml 
>>>> "decided" is a bit strong. I suggested these values. And while I'm
>>>> pretty certain that even plain make 3.80 will work, I'm in no way
>>>> sure plain 2.16.1 will (what I'm building with once in a while is some
>>>> 2.16.9x, and I can't say how many backports it has). So the
>>>> question really is - did you test that things build with these?
>>> Why would he have done, you suggested 2.16.1 with no hint that you thought
>>> it might not be a reasonable version to use.
>>>
>>> TBH having rejected Doug's original proposal I would have said it was up to
>>> you to specify the actual precise versions you think should be used, rather
>>> than making Doug guess and leading him down blind allies by making
>>> apparently authoritative suggestions which you secretly aren't actually
>>> sure about yourself.
>> To be honest it didn't even occur to me that someone might
>> propose such a patch without verifying things actually build
>> (unless using more cautious wording). Also note that in the first
>> reply to the v1 patch I did refer to 2.16.9x (which imo has made
>> clear that that's the lowest one I ever tested with recently), i.e.
>> I don't think I've actively mislead him.
>>
>>> Anyway we could go round and round like this forever. What's wrong with
>>> starting with this as a baseline and bumping it if it turns out to be a
>>> problem in practice?
>> Well, we certainly could (which would be in line with my second
>> reply to v1), just that I'm not sure how much value such a doc
>> addition then has. At the very least it should then say "no
>> lower than 2.16.1, something slightly newer may be needed" or
>> some such.
>>
>>>> Also I'm not sure 2.16.1 is going to be sufficient for ARM (it's
>>>> most definitely too old for ARM64).
>>> I suppose there is an implicit max(version, first version supporting arch).
>>> I don't think we can really go into the level of detail needed for per arch
>>> toolchain requirements.
>> I'm afraid quite frequently "first version supporting arch" isn't
>> good enough. If we know otherwise for ARM64, that's certainly
>> fine.
>>
>>> I certainly don't know which version of either gcc or binutils is needed to
>>> build either ARM variant.
>> Well, again - what's that documentation addition then good for?
> 
> Ping?

It's not really clear at whom this ping was directed, the more that
iirc the patch meanwhile got withdrawn.

> It doesn't matter exactly which version we choose as a minimum, but it
> *is* very important that the version is written down.  Our README file
> is the correct place for this information to live.

I think it is quite relevant which version is to be picked: Anything
older no-one could legitimately report issues against (and I would
very much like to continue to be able to submit build fixes I find
necessary on those two old boxes I keep for a reason), while
stating something too old which even today we don't successfully
build with would be pretty odd.

Jan

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

* Re: [PATCH v2] build: specify minimum versions of make and binutils
  2016-02-11 10:42         ` Jan Beulich
@ 2016-02-11 10:59           ` Ian Campbell
  2016-02-11 11:21             ` Jan Beulich
  0 siblings, 1 reply; 9+ messages in thread
From: Ian Campbell @ 2016-02-11 10:59 UTC (permalink / raw)
  To: Jan Beulich, Andrew Cooper
  Cc: Ian Jackson, Tim Deegan, KeirFraser, Doug Goldstein, xen-devel

On Thu, 2016-02-11 at 03:42 -0700, Jan Beulich wrote:
> I think it is quite relevant which version is to be picked: Anything
> older no-one could legitimately report issues against (and I would
> very much like to continue to be able to submit build fixes I find
> necessary on those two old boxes I keep for a reason), while
> stating something too old which even today we don't successfully
> build with would be pretty odd.

So lets start with, for x86 whatever the older of the versions on the two
boxes you refer to above and for ARM gcc 4.8 and binutils 2.24, which
corresponds to what I happen to use for both arm32 and arm64 in my
development environment.

Those are IMHO reasonable starting points but obviously they aren't set in
stone and can be easily adjusted later if necessary.

Ian.

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

* Re: [PATCH v2] build: specify minimum versions of make and binutils
  2016-02-11 10:59           ` Ian Campbell
@ 2016-02-11 11:21             ` Jan Beulich
  0 siblings, 0 replies; 9+ messages in thread
From: Jan Beulich @ 2016-02-11 11:21 UTC (permalink / raw)
  To: Doug Goldstein, Andrew Cooper, Ian Campbell
  Cc: KeirFraser, Tim Deegan, Ian Jackson, xen-devel

>>> On 11.02.16 at 11:59, <ian.campbell@citrix.com> wrote:
> On Thu, 2016-02-11 at 03:42 -0700, Jan Beulich wrote:
>> I think it is quite relevant which version is to be picked: Anything
>> older no-one could legitimately report issues against (and I would
>> very much like to continue to be able to submit build fixes I find
>> necessary on those two old boxes I keep for a reason), while
>> stating something too old which even today we don't successfully
>> build with would be pretty odd.
> 
> So lets start with, for x86 whatever the older of the versions on the two
> boxes you refer to above and for ARM gcc 4.8 and binutils 2.24, which
> corresponds to what I happen to use for both arm32 and arm64 in my
> development environment.
> 
> Those are IMHO reasonable starting points but obviously they aren't set in
> stone and can be easily adjusted later if necessary.

Okay, fine with me then (albeit as said I can't guarantee that the
versions on those boxes [which are identical, it's just that one is a
32-bit one while the other is 64-bit] aren't heavily patched
compared to their upstream originals). This would make

binutils 2.16.91.0.5
gcc 4.1.2_20070115

Jan

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

end of thread, other threads:[~2016-02-11 11:21 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-27 23:12 [PATCH v2] build: specify minimum versions of make and binutils Doug Goldstein
2016-01-28 12:49 ` Jan Beulich
2016-01-28 13:02   ` Ian Campbell
2016-01-28 13:47     ` Jan Beulich
2016-01-28 14:39       ` Doug Goldstein
2016-02-10 20:36       ` Andrew Cooper
2016-02-11 10:42         ` Jan Beulich
2016-02-11 10:59           ` Ian Campbell
2016-02-11 11:21             ` Jan Beulich

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.