Patchwork [1/3] sanity.bbclass: Check for the known broken version of make

login
register
mail settings
Submitter Mark Hatle
Date June 24, 2013, 2:45 p.m.
Message ID <1372085149-30510-2-git-send-email-mark.hatle@windriver.com>
Download mbox | patch
Permalink /patch/52287/
State New
Headers show

Comments

Mark Hatle - June 24, 2013, 2:45 p.m.
See GNU Savannah bug 30612 -- make 3.82 is known to be broken.

A number of vendors are providing a modified version, so checking
for just the version string is not enough.  We also need to check
if the patch for the issue has been applied.  We use a modified
version of the reproduced to check for the issue.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 meta/classes/sanity.bbclass | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
Saul Wold - June 24, 2013, 10:09 p.m.
On 06/24/2013 07:45 AM, Mark Hatle wrote:
> See GNU Savannah bug 30612 -- make 3.82 is known to be broken.
>
> A number of vendors are providing a modified version, so checking
> for just the version string is not enough.  We also need to check
> if the patch for the issue has been applied.  We use a modified
> version of the reproduced to check for the issue.
>
> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
> ---
>   meta/classes/sanity.bbclass | 39 +++++++++++++++++++++++++++++++++++++++
>   1 file changed, 39 insertions(+)
>

Seems this needs a rebase since RP also changed sanity.bbclass recently.

Sau!

> diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
> index 7f95f31..dc251a1 100644
> --- a/meta/classes/sanity.bbclass
> +++ b/meta/classes/sanity.bbclass
> @@ -336,6 +336,41 @@ def check_gcc_march(sanity_data):
>
>       return result
>
> +# Unpatched versions of make 3.82 are known to be broken.  See GNU Savannah Bug 30612.
> +# Use a modified reproducer from http://savannah.gnu.org/bugs/?30612 to validate.
> +def check_make_version(sanity_data, loosever):
> +    status, result = oe.utils.getstatusoutput("make --version")
> +    if status != 0:
> +        return "Unable to execute make --version, exit code %s\n" % status
> +    version = result.split()[2]
> +    if loosever(version) == loosever("3.82"):
> +        # Construct a test file
> +        f = open("makefile_test", "w")
> +        f.write("makefile_test.a: makefile_test_a.c makefile_test_b.c makefile_test.a( makefile_test_a.c makefile_test_b.c)\n")
> +        f.write("\n")
> +        f.write("makefile_test_a.c:\n")
> +        f.write("	touch $@\n")
> +        f.write("\n")
> +        f.write("makefile_test_b.c:\n")
> +        f.write("	touch $@\n")
> +        f.close()
> +
> +        # Check if make 3.82 has been patched
> +        status,result = oe.utils.getstatusoutput("make -f makefile_test")
> +
> +        os.remove("makefile_test")
> +        if os.path.exists("makefile_test_a.c"):
> +            os.remove("makefile_test_a.c")
> +        if os.path.exists("makefile_test_b.c"):
> +            os.remove("makefile_test_b.c")
> +        if os.path.exists("makefile_test.a"):
> +            os.remove("makefile_test.a")
> +
> +        if status != 0:
> +            return "Your version of make 3.82 is broken. Please revert to 3.81 or install a patched version.\n"
> +    return None
> +
> +
>   # Tar version 1.24 and onwards handle overwriting symlinks correctly
>   # but earlier versions do not; this needs to work properly for sstate
>   def check_tar_version(sanity_data, loosever):
> @@ -407,6 +442,10 @@ def check_sanity(sanity_data):
>           messages = messages + 'Please set a MACHINE in your local.conf or environment\n'
>           machinevalid = False
>
> +    makemsg = check_make_version(sanity_data, LooseVersion)
> +    if makemsg:
> +        messages = messages + makemsg
> +
>       tarmsg = check_tar_version(sanity_data, LooseVersion)
>       if tarmsg:
>           messages = messages + tarmsg
>
Mark Hatle - June 25, 2013, 2:06 a.m.
On 6/24/13 5:09 PM, Saul Wold wrote:
> On 06/24/2013 07:45 AM, Mark Hatle wrote:
>> See GNU Savannah bug 30612 -- make 3.82 is known to be broken.
>>
>> A number of vendors are providing a modified version, so checking
>> for just the version string is not enough.  We also need to check
>> if the patch for the issue has been applied.  We use a modified
>> version of the reproduced to check for the issue.
>>
>> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
>> ---
>>    meta/classes/sanity.bbclass | 39 +++++++++++++++++++++++++++++++++++++++
>>    1 file changed, 39 insertions(+)
>>
>
> Seems this needs a rebase since RP also changed sanity.bbclass recently.

This is from Friday morning.  I'll start a rebase and send new code when I have 
it ready.

--Mark

> Sau!
>
>> diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
>> index 7f95f31..dc251a1 100644
>> --- a/meta/classes/sanity.bbclass
>> +++ b/meta/classes/sanity.bbclass
>> @@ -336,6 +336,41 @@ def check_gcc_march(sanity_data):
>>
>>        return result
>>
>> +# Unpatched versions of make 3.82 are known to be broken.  See GNU Savannah Bug 30612.
>> +# Use a modified reproducer from http://savannah.gnu.org/bugs/?30612 to validate.
>> +def check_make_version(sanity_data, loosever):
>> +    status, result = oe.utils.getstatusoutput("make --version")
>> +    if status != 0:
>> +        return "Unable to execute make --version, exit code %s\n" % status
>> +    version = result.split()[2]
>> +    if loosever(version) == loosever("3.82"):
>> +        # Construct a test file
>> +        f = open("makefile_test", "w")
>> +        f.write("makefile_test.a: makefile_test_a.c makefile_test_b.c makefile_test.a( makefile_test_a.c makefile_test_b.c)\n")
>> +        f.write("\n")
>> +        f.write("makefile_test_a.c:\n")
>> +        f.write("	touch $@\n")
>> +        f.write("\n")
>> +        f.write("makefile_test_b.c:\n")
>> +        f.write("	touch $@\n")
>> +        f.close()
>> +
>> +        # Check if make 3.82 has been patched
>> +        status,result = oe.utils.getstatusoutput("make -f makefile_test")
>> +
>> +        os.remove("makefile_test")
>> +        if os.path.exists("makefile_test_a.c"):
>> +            os.remove("makefile_test_a.c")
>> +        if os.path.exists("makefile_test_b.c"):
>> +            os.remove("makefile_test_b.c")
>> +        if os.path.exists("makefile_test.a"):
>> +            os.remove("makefile_test.a")
>> +
>> +        if status != 0:
>> +            return "Your version of make 3.82 is broken. Please revert to 3.81 or install a patched version.\n"
>> +    return None
>> +
>> +
>>    # Tar version 1.24 and onwards handle overwriting symlinks correctly
>>    # but earlier versions do not; this needs to work properly for sstate
>>    def check_tar_version(sanity_data, loosever):
>> @@ -407,6 +442,10 @@ def check_sanity(sanity_data):
>>            messages = messages + 'Please set a MACHINE in your local.conf or environment\n'
>>            machinevalid = False
>>
>> +    makemsg = check_make_version(sanity_data, LooseVersion)
>> +    if makemsg:
>> +        messages = messages + makemsg
>> +
>>        tarmsg = check_tar_version(sanity_data, LooseVersion)
>>        if tarmsg:
>>            messages = messages + tarmsg
>>
Martin Jansa - June 25, 2013, 11:20 a.m.
On Mon, Jun 24, 2013 at 09:06:11PM -0500, Mark Hatle wrote:
> On 6/24/13 5:09 PM, Saul Wold wrote:
> > On 06/24/2013 07:45 AM, Mark Hatle wrote:
> >> See GNU Savannah bug 30612 -- make 3.82 is known to be broken.
> >>
> >> A number of vendors are providing a modified version, so checking
> >> for just the version string is not enough.  We also need to check
> >> if the patch for the issue has been applied.  We use a modified
> >> version of the reproduced to check for the issue.
> >>
> >> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
> >> ---
> >>    meta/classes/sanity.bbclass | 39 +++++++++++++++++++++++++++++++++++++++
> >>    1 file changed, 39 insertions(+)
> >>
> >
> > Seems this needs a rebase since RP also changed sanity.bbclass recently.
> 
> This is from Friday morning.  I'll start a rebase and send new code when I have 
> it ready.

There is another issues with unpatched make-3.82, webkit and newer
nodejs are failing for some people.
https://savannah.gnu.org/bugs/?36451

What about for cycle which generates some very long "ls" or something
like that?

On other hand so long commands arn't so common, so many people
could be using "broken" make without seeing issues with their images.

> 
> --Mark
> 
> > Sau!
> >
> >> diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
> >> index 7f95f31..dc251a1 100644
> >> --- a/meta/classes/sanity.bbclass
> >> +++ b/meta/classes/sanity.bbclass
> >> @@ -336,6 +336,41 @@ def check_gcc_march(sanity_data):
> >>
> >>        return result
> >>
> >> +# Unpatched versions of make 3.82 are known to be broken.  See GNU Savannah Bug 30612.
> >> +# Use a modified reproducer from http://savannah.gnu.org/bugs/?30612 to validate.
> >> +def check_make_version(sanity_data, loosever):
> >> +    status, result = oe.utils.getstatusoutput("make --version")
> >> +    if status != 0:
> >> +        return "Unable to execute make --version, exit code %s\n" % status
> >> +    version = result.split()[2]
> >> +    if loosever(version) == loosever("3.82"):
> >> +        # Construct a test file
> >> +        f = open("makefile_test", "w")
> >> +        f.write("makefile_test.a: makefile_test_a.c makefile_test_b.c makefile_test.a( makefile_test_a.c makefile_test_b.c)\n")
> >> +        f.write("\n")
> >> +        f.write("makefile_test_a.c:\n")
> >> +        f.write("	touch $@\n")
> >> +        f.write("\n")
> >> +        f.write("makefile_test_b.c:\n")
> >> +        f.write("	touch $@\n")
> >> +        f.close()
> >> +
> >> +        # Check if make 3.82 has been patched
> >> +        status,result = oe.utils.getstatusoutput("make -f makefile_test")
> >> +
> >> +        os.remove("makefile_test")
> >> +        if os.path.exists("makefile_test_a.c"):
> >> +            os.remove("makefile_test_a.c")
> >> +        if os.path.exists("makefile_test_b.c"):
> >> +            os.remove("makefile_test_b.c")
> >> +        if os.path.exists("makefile_test.a"):
> >> +            os.remove("makefile_test.a")
> >> +
> >> +        if status != 0:
> >> +            return "Your version of make 3.82 is broken. Please revert to 3.81 or install a patched version.\n"
> >> +    return None
> >> +
> >> +
> >>    # Tar version 1.24 and onwards handle overwriting symlinks correctly
> >>    # but earlier versions do not; this needs to work properly for sstate
> >>    def check_tar_version(sanity_data, loosever):
> >> @@ -407,6 +442,10 @@ def check_sanity(sanity_data):
> >>            messages = messages + 'Please set a MACHINE in your local.conf or environment\n'
> >>            machinevalid = False
> >>
> >> +    makemsg = check_make_version(sanity_data, LooseVersion)
> >> +    if makemsg:
> >> +        messages = messages + makemsg
> >> +
> >>        tarmsg = check_tar_version(sanity_data, LooseVersion)
> >>        if tarmsg:
> >>            messages = messages + tarmsg
> >>
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Mark Hatle - June 25, 2013, 2:12 p.m.
On 6/25/13 6:20 AM, Martin Jansa wrote:
> On Mon, Jun 24, 2013 at 09:06:11PM -0500, Mark Hatle wrote:
>> On 6/24/13 5:09 PM, Saul Wold wrote:
>>> On 06/24/2013 07:45 AM, Mark Hatle wrote:
>>>> See GNU Savannah bug 30612 -- make 3.82 is known to be broken.
>>>>
>>>> A number of vendors are providing a modified version, so checking
>>>> for just the version string is not enough.  We also need to check
>>>> if the patch for the issue has been applied.  We use a modified
>>>> version of the reproduced to check for the issue.
>>>>
>>>> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
>>>> ---
>>>>     meta/classes/sanity.bbclass | 39 +++++++++++++++++++++++++++++++++++++++
>>>>     1 file changed, 39 insertions(+)
>>>>
>>>
>>> Seems this needs a rebase since RP also changed sanity.bbclass recently.
>>
>> This is from Friday morning.  I'll start a rebase and send new code when I have
>> it ready.
>
> There is another issues with unpatched make-3.82, webkit and newer
> nodejs are failing for some people.
> https://savannah.gnu.org/bugs/?36451
>
> What about for cycle which generates some very long "ls" or something
> like that?
>
> On other hand so long commands arn't so common, so many people
> could be using "broken" make without seeing issues with their images.

If you can point me to a reproducer, I'm happy to add it to the sanity check as 
part of the rebase work.

The current reproducer covers two cases (see the patch for the savannah bug 
number).  These were the two cases that I knew had caused problems for others in 
the past.

--Mark

>>
>> --Mark
>>
>>> Sau!
>>>
>>>> diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
>>>> index 7f95f31..dc251a1 100644
>>>> --- a/meta/classes/sanity.bbclass
>>>> +++ b/meta/classes/sanity.bbclass
>>>> @@ -336,6 +336,41 @@ def check_gcc_march(sanity_data):
>>>>
>>>>         return result
>>>>
>>>> +# Unpatched versions of make 3.82 are known to be broken.  See GNU Savannah Bug 30612.
>>>> +# Use a modified reproducer from http://savannah.gnu.org/bugs/?30612 to validate.
>>>> +def check_make_version(sanity_data, loosever):
>>>> +    status, result = oe.utils.getstatusoutput("make --version")
>>>> +    if status != 0:
>>>> +        return "Unable to execute make --version, exit code %s\n" % status
>>>> +    version = result.split()[2]
>>>> +    if loosever(version) == loosever("3.82"):
>>>> +        # Construct a test file
>>>> +        f = open("makefile_test", "w")
>>>> +        f.write("makefile_test.a: makefile_test_a.c makefile_test_b.c makefile_test.a( makefile_test_a.c makefile_test_b.c)\n")
>>>> +        f.write("\n")
>>>> +        f.write("makefile_test_a.c:\n")
>>>> +        f.write("	touch $@\n")
>>>> +        f.write("\n")
>>>> +        f.write("makefile_test_b.c:\n")
>>>> +        f.write("	touch $@\n")
>>>> +        f.close()
>>>> +
>>>> +        # Check if make 3.82 has been patched
>>>> +        status,result = oe.utils.getstatusoutput("make -f makefile_test")
>>>> +
>>>> +        os.remove("makefile_test")
>>>> +        if os.path.exists("makefile_test_a.c"):
>>>> +            os.remove("makefile_test_a.c")
>>>> +        if os.path.exists("makefile_test_b.c"):
>>>> +            os.remove("makefile_test_b.c")
>>>> +        if os.path.exists("makefile_test.a"):
>>>> +            os.remove("makefile_test.a")
>>>> +
>>>> +        if status != 0:
>>>> +            return "Your version of make 3.82 is broken. Please revert to 3.81 or install a patched version.\n"
>>>> +    return None
>>>> +
>>>> +
>>>>     # Tar version 1.24 and onwards handle overwriting symlinks correctly
>>>>     # but earlier versions do not; this needs to work properly for sstate
>>>>     def check_tar_version(sanity_data, loosever):
>>>> @@ -407,6 +442,10 @@ def check_sanity(sanity_data):
>>>>             messages = messages + 'Please set a MACHINE in your local.conf or environment\n'
>>>>             machinevalid = False
>>>>
>>>> +    makemsg = check_make_version(sanity_data, LooseVersion)
>>>> +    if makemsg:
>>>> +        messages = messages + makemsg
>>>> +
>>>>         tarmsg = check_tar_version(sanity_data, LooseVersion)
>>>>         if tarmsg:
>>>>             messages = messages + tarmsg
>>>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
Martin Jansa - June 25, 2013, 2:26 p.m.
On Tue, Jun 25, 2013 at 09:12:24AM -0500, Mark Hatle wrote:
> On 6/25/13 6:20 AM, Martin Jansa wrote:
> > On Mon, Jun 24, 2013 at 09:06:11PM -0500, Mark Hatle wrote:
> >> On 6/24/13 5:09 PM, Saul Wold wrote:
> >>> On 06/24/2013 07:45 AM, Mark Hatle wrote:
> >>>> See GNU Savannah bug 30612 -- make 3.82 is known to be broken.
> >>>>
> >>>> A number of vendors are providing a modified version, so checking
> >>>> for just the version string is not enough.  We also need to check
> >>>> if the patch for the issue has been applied.  We use a modified
> >>>> version of the reproduced to check for the issue.
> >>>>
> >>>> Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
> >>>> ---
> >>>>     meta/classes/sanity.bbclass | 39 +++++++++++++++++++++++++++++++++++++++
> >>>>     1 file changed, 39 insertions(+)
> >>>>
> >>>
> >>> Seems this needs a rebase since RP also changed sanity.bbclass recently.
> >>
> >> This is from Friday morning.  I'll start a rebase and send new code when I have
> >> it ready.
> >
> > There is another issues with unpatched make-3.82, webkit and newer
> > nodejs are failing for some people.
> > https://savannah.gnu.org/bugs/?36451
> >
> > What about for cycle which generates some very long "ls" or something
> > like that?
> >
> > On other hand so long commands arn't so common, so many people
> > could be using "broken" make without seeing issues with their images.
> 
> If you can point me to a reproducer, I'm happy to add it to the sanity check as 
> part of the rebase work.
> 
> The current reproducer covers two cases (see the patch for the savannah bug 
> number).  These were the two cases that I knew had caused problems for others in 
> the past.

I don't have simple reproducer, because it works fine in both make-3.82
I'm using (from Gentoo and Ubuntu) and with my reasonable long TOPDIR.

The problem is triggered in some webkit builds and also in nodejs-0.10.4
http://patchwork.openembedded.org/patch/48253/

Tasslehoff reported today that nodejs was failing for him with
/home/tas/angstrom-setup-scripts and works fine with /home/tas/oe
adding him to Cc, maybe he has better reproducer now.

> 
> --Mark
> 
> >>
> >> --Mark
> >>
> >>> Sau!
> >>>
> >>>> diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
> >>>> index 7f95f31..dc251a1 100644
> >>>> --- a/meta/classes/sanity.bbclass
> >>>> +++ b/meta/classes/sanity.bbclass
> >>>> @@ -336,6 +336,41 @@ def check_gcc_march(sanity_data):
> >>>>
> >>>>         return result
> >>>>
> >>>> +# Unpatched versions of make 3.82 are known to be broken.  See GNU Savannah Bug 30612.
> >>>> +# Use a modified reproducer from http://savannah.gnu.org/bugs/?30612 to validate.
> >>>> +def check_make_version(sanity_data, loosever):
> >>>> +    status, result = oe.utils.getstatusoutput("make --version")
> >>>> +    if status != 0:
> >>>> +        return "Unable to execute make --version, exit code %s\n" % status
> >>>> +    version = result.split()[2]
> >>>> +    if loosever(version) == loosever("3.82"):
> >>>> +        # Construct a test file
> >>>> +        f = open("makefile_test", "w")
> >>>> +        f.write("makefile_test.a: makefile_test_a.c makefile_test_b.c makefile_test.a( makefile_test_a.c makefile_test_b.c)\n")
> >>>> +        f.write("\n")
> >>>> +        f.write("makefile_test_a.c:\n")
> >>>> +        f.write("	touch $@\n")
> >>>> +        f.write("\n")
> >>>> +        f.write("makefile_test_b.c:\n")
> >>>> +        f.write("	touch $@\n")
> >>>> +        f.close()
> >>>> +
> >>>> +        # Check if make 3.82 has been patched
> >>>> +        status,result = oe.utils.getstatusoutput("make -f makefile_test")
> >>>> +
> >>>> +        os.remove("makefile_test")
> >>>> +        if os.path.exists("makefile_test_a.c"):
> >>>> +            os.remove("makefile_test_a.c")
> >>>> +        if os.path.exists("makefile_test_b.c"):
> >>>> +            os.remove("makefile_test_b.c")
> >>>> +        if os.path.exists("makefile_test.a"):
> >>>> +            os.remove("makefile_test.a")
> >>>> +
> >>>> +        if status != 0:
> >>>> +            return "Your version of make 3.82 is broken. Please revert to 3.81 or install a patched version.\n"
> >>>> +    return None
> >>>> +
> >>>> +
> >>>>     # Tar version 1.24 and onwards handle overwriting symlinks correctly
> >>>>     # but earlier versions do not; this needs to work properly for sstate
> >>>>     def check_tar_version(sanity_data, loosever):
> >>>> @@ -407,6 +442,10 @@ def check_sanity(sanity_data):
> >>>>             messages = messages + 'Please set a MACHINE in your local.conf or environment\n'
> >>>>             machinevalid = False
> >>>>
> >>>> +    makemsg = check_make_version(sanity_data, LooseVersion)
> >>>> +    if makemsg:
> >>>> +        messages = messages + makemsg
> >>>> +
> >>>>         tarmsg = check_tar_version(sanity_data, LooseVersion)
> >>>>         if tarmsg:
> >>>>             messages = messages + tarmsg
> >>>>
> >>
> >> _______________________________________________
> >> Openembedded-core mailing list
> >> Openembedded-core@lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> >
>

Patch

diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 7f95f31..dc251a1 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -336,6 +336,41 @@  def check_gcc_march(sanity_data):
 
     return result
 
+# Unpatched versions of make 3.82 are known to be broken.  See GNU Savannah Bug 30612.
+# Use a modified reproducer from http://savannah.gnu.org/bugs/?30612 to validate.
+def check_make_version(sanity_data, loosever):
+    status, result = oe.utils.getstatusoutput("make --version")
+    if status != 0:
+        return "Unable to execute make --version, exit code %s\n" % status
+    version = result.split()[2]
+    if loosever(version) == loosever("3.82"):
+        # Construct a test file
+        f = open("makefile_test", "w")
+        f.write("makefile_test.a: makefile_test_a.c makefile_test_b.c makefile_test.a( makefile_test_a.c makefile_test_b.c)\n")
+        f.write("\n")
+        f.write("makefile_test_a.c:\n")
+        f.write("	touch $@\n")
+        f.write("\n")
+        f.write("makefile_test_b.c:\n")
+        f.write("	touch $@\n")
+        f.close()
+
+        # Check if make 3.82 has been patched
+        status,result = oe.utils.getstatusoutput("make -f makefile_test")
+
+        os.remove("makefile_test")
+        if os.path.exists("makefile_test_a.c"):
+            os.remove("makefile_test_a.c")
+        if os.path.exists("makefile_test_b.c"):
+            os.remove("makefile_test_b.c")
+        if os.path.exists("makefile_test.a"):
+            os.remove("makefile_test.a")
+
+        if status != 0:
+            return "Your version of make 3.82 is broken. Please revert to 3.81 or install a patched version.\n"
+    return None
+
+
 # Tar version 1.24 and onwards handle overwriting symlinks correctly
 # but earlier versions do not; this needs to work properly for sstate
 def check_tar_version(sanity_data, loosever):
@@ -407,6 +442,10 @@  def check_sanity(sanity_data):
         messages = messages + 'Please set a MACHINE in your local.conf or environment\n'
         machinevalid = False
 
+    makemsg = check_make_version(sanity_data, LooseVersion)
+    if makemsg:
+        messages = messages + makemsg
+
     tarmsg = check_tar_version(sanity_data, LooseVersion)
     if tarmsg:
         messages = messages + tarmsg