bug#14707: automake 1.14 test hang for t/compile4.sh on Linux if "cl" executable is in path

2013-07-21 Thread Stefano Lattarini
Reference:


On 06/28/2013 10:25 PM, Diab Jerius wrote:
>
> [SNIP]
>
> That fixes the problem.
> 
Thanks, will push shortly then.  I'm also closing the bug report.

Best regards,
  Stefano





bug#14707: automake 1.14 test hang for t/compile4.sh on Linux if "cl" executable is in path

2013-07-07 Thread Stefano Lattarini
On 06/28/2013 10:25 PM, Diab Jerius wrote:
> 
> That fixes the problem.
> 
> Thanks,
> 
> Diab
> 
Thanks for confirming.  I will push the patch soonish
then (maybe a few days).

Best regards,
  Stefano





bug#14707: automake 1.14 test hang for t/compile4.sh on Linux if "cl" executable is in path

2013-06-28 Thread Diab Jerius
On Thu, 2013-06-27 at 11:20 +0200, Stefano Lattarini wrote:
> tags 14707 + patch
> tags 14707 - moreinfo
> thanks
> 
> On 06/24/2013 11:35 PM, Diab Jerius wrote:
> >
> > On Mon, 2013-06-24 at 23:22 +0200, Stefano Lattarini wrote:
> >>
> >> On 06/24/2013 04:45 PM, Diab Jerius wrote:
> >>>
> >>> On the Linux boxes I compile on, there's a /usr/local/bin/cl executable
> >>> (from the IRAF package).  Unfortunately, it seems that t/compile4.sh
> >>> interprets that as a Microsoft compiler.
> >>>
> >>> The IRAF cl is an interactive program,
> >>> 
> >> What happens if the program is run with its stdin redirected from 
> >> /dev/null?
> >> Does it exit immediately, or does it still hang?
> > 
> > It exits, quite verbosely:
> > 
> > % cl < /dev/null
> > Warning: no login.cl found in login directory
> >   apropos fitsutillists   phist   stecf   utilities
> >   color   gemini  mscred  plotstlocal xray
> >   ctiogmisc   nmisc   proto   stsdas  
> >   dataio  images  noaorvsao   system  
> >   dbmslanguageobsoletesoftoolstables  
> > 
> > ecl> ERROR: use `logout' to log out of the CL
> > ecl> ERROR: use `logout' to log out of the CL
> > ecl> ERROR: use `logout' to log out of the CL
> > ecl> ERROR: use `logout' to log out of the CL
> > ecl> ERROR: use `logout' to log out of the CL
> > ecl> ERROR: use `logout' to log out of the CL
> > ecl> ERROR: use `logout' to log out of the CL
> > ecl> ERROR: use `logout' to log out of the CL
> > ecl> % 
> > 
> Thanks, this is what I needed.  Below is a patch that I hope should
> fix your problem.  Can you give it a try?
> 

That fixes the problem.

Thanks,

Diab







bug#14707: automake 1.14 test hang for t/compile4.sh on Linux if "cl" executable is in path

2013-06-27 Thread Stefano Lattarini
tags 14707 + patch
tags 14707 - moreinfo
thanks

On 06/24/2013 11:35 PM, Diab Jerius wrote:
>
> On Mon, 2013-06-24 at 23:22 +0200, Stefano Lattarini wrote:
>>
>> On 06/24/2013 04:45 PM, Diab Jerius wrote:
>>>
>>> On the Linux boxes I compile on, there's a /usr/local/bin/cl executable
>>> (from the IRAF package).  Unfortunately, it seems that t/compile4.sh
>>> interprets that as a Microsoft compiler.
>>>
>>> The IRAF cl is an interactive program,
>>> 
>> What happens if the program is run with its stdin redirected from /dev/null?
>> Does it exit immediately, or does it still hang?
> 
> It exits, quite verbosely:
> 
> % cl < /dev/null
> Warning: no login.cl found in login directory
>   apropos fitsutillists   phist   stecf   utilities
>   color   gemini  mscred  plotstlocal xray
>   ctiogmisc   nmisc   proto   stsdas  
>   dataio  images  noaorvsao   system  
>   dbmslanguageobsoletesoftoolstables  
> 
> ecl> ERROR: use `logout' to log out of the CL
> ecl> ERROR: use `logout' to log out of the CL
> ecl> ERROR: use `logout' to log out of the CL
> ecl> ERROR: use `logout' to log out of the CL
> ecl> ERROR: use `logout' to log out of the CL
> ecl> ERROR: use `logout' to log out of the CL
> ecl> ERROR: use `logout' to log out of the CL
> ecl> ERROR: use `logout' to log out of the CL
> ecl> % 
> 
Thanks, this is what I needed.  Below is a patch that I hope should
fix your problem.  Can you give it a try?

>> Also, does the program support a --version or --help option that might
>> lead us to rule it out?
> 
> Indeed, it does:
> 
> % cl --version
> NOAO/IRAFNET PC-IRAF Revision 2.14.1 Mon Sep 15 10:12:05 MST 2008
>
>>
>>> so compile4.sh invokes it and it hangs waiting for input.
>>>
>> (Which is quite annoying indeed).

Thanks,
  Stefano

 8<  8<  8<  8<  8<  8<  8<  8< 

>From ec163633dd590bfdbd8d7fd147492081018507f7 Mon Sep 17 00:00:00 2001
Message-Id: 

From: Stefano Lattarini 
Date: Thu, 27 Jun 2013 11:11:35 +0200
Subject: [PATCH] tests: don't risk hanging on the 'cl' requirement

On the GNU/Linux boxes of some users that run our testsuite there
is a '/usr/local/bin/cl' executable, from the IRAF package:



The test 'compile4.sh' (and other tests) try to invoke the 'cl'
command to check whether it's a Microsoft compiler; the IRAF cl
is an interactive program, so it hangs on such invocation.  In
conclusion, the testsuite hangs for those users which have the
IRAF cl early in PATH.

Fix the issue by redirecting the input of cl from /dev/null when
invoking it, which is enough to prevent the cl program from IRAF
from hanging, and should have no effect on the behaviour of the
Microsoft compiler.

This change fixes automake bug#14707.

* t/ax/am-test-lib.sh (require_tool): Adjust the handling of
the 'cl' requirement.

Signed-off-by: Stefano Lattarini 
---
 t/ax/am-test-lib.sh | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/t/ax/am-test-lib.sh b/t/ax/am-test-lib.sh
index 182b070..26e58ef 100644
--- a/t/ax/am-test-lib.sh
+++ b/t/ax/am-test-lib.sh
@@ -788,7 +788,11 @@ require_tool ()
   # in the environment "by hand" before calling the testsuite.
   export CC CPPFLAGS
   echo "$me: running $CC -?"
-  $CC -? || skip_all_ "Microsoft C compiler '$CC' not available"
+  # The IRAF package (http://iraf.noao.edu/) contains a 'cl' program
+  # which is interactive, and which could cause the testsuite to hang
+  # if its standard input is not redirected.  See automake bug#14707.
+  $CC -? 

bug#14707: automake 1.14 test hang for t/compile4.sh on Linux if "cl" executable is in path

2013-06-27 Thread Stefano Lattarini
On 06/25/2013 06:12 PM, Diab Jerius wrote:
> On Mon, 2013-06-24 at 23:22 +0200, Stefano Lattarini wrote:
>> severity 14707 minor
>> tags 14707 + moreinfo
>> thanks
>>
>> On 06/24/2013 04:45 PM, Diab Jerius wrote:
>>> Hi,
>>>
>> Hi Diab, thanks for the report.
>>
>>> On the Linux boxes I compile on, there's a /usr/local/bin/cl executable
>>> (from the IRAF package).  Unfortunately, it seems that t/compile4.sh
>>> interprets that as a Microsoft compiler.
>>>
>>> The IRAF cl is an interactive program,
>>>
>> What happens if the program is run with its stdin redirected from /dev/null?
>> Does it exit immediately, or does it still hang?  Also, does the program
>> support a --version or --help option that might lead us to rule it out?
>>
>>> so compile4.sh invokes it and it hangs waiting for input.
>>>
>> (Which is quite annoying indeed).
>>
>>> Is there perhaps a better way of checking for the Microsoft compiler, or
>>> restricting these tests to Microsoft operating systems?
>>>
>> I'd rather try the workarounds I proposed above first.  If they don't
>> work, we should go along with your suggestion.
>>
>> Thank you,
>>   Stefano
> 
> As the tests progress, it looks like there are more with the
> same issue.
>
Not to worry, those tests all share the same code for requesting
prerequisites, so the all the issues should disappear once we
fix the code for the "cl" requirement.  Patch coming up soon...

> For completeness, here's the list:
> 
> t/compile4.sh
> t/depcomp-lt-msvcmsys.tap
> t/depcomp-lt-msvisualcpp.tap
> t/depcomp-msvcmsys.tap
> t/depcomp-msvisualcpp.tap
> 
> 

Thanks,
  Stefano





bug#14707: automake 1.14 test hang for t/compile4.sh on Linux if "cl" executable is in path

2013-06-25 Thread Diab Jerius
On Mon, 2013-06-24 at 23:22 +0200, Stefano Lattarini wrote:
> severity 14707 minor
> tags 14707 + moreinfo
> thanks
> 
> On 06/24/2013 04:45 PM, Diab Jerius wrote:
> > Hi,
> >
> Hi Diab, thanks for the report.
> 
> > On the Linux boxes I compile on, there's a /usr/local/bin/cl executable
> > (from the IRAF package).  Unfortunately, it seems that t/compile4.sh
> > interprets that as a Microsoft compiler.
> > 
> > The IRAF cl is an interactive program,
> >
> What happens if the program is run with its stdin redirected from /dev/null?
> Does it exit immediately, or does it still hang?  Also, does the program
> support a --version or --help option that might lead us to rule it out?
> 
> > so compile4.sh invokes it and it hangs waiting for input.
> >
> (Which is quite annoying indeed).
> 
> > Is there perhaps a better way of checking for the Microsoft compiler, or
> > restricting these tests to Microsoft operating systems?
> >
> I'd rather try the workarounds I proposed above first.  If they don't
> work, we should go along with your suggestion.
> 
> Thank you,
>   Stefano

As the tests progress, it looks like there are more with the same issue.

For completeness, here's the list:


t/compile4.sh
t/depcomp-lt-msvcmsys.tap
t/depcomp-lt-msvisualcpp.tap
t/depcomp-msvcmsys.tap
t/depcomp-msvisualcpp.tap








bug#14707: automake 1.14 test hang for t/compile4.sh on Linux if "cl" executable is in path

2013-06-24 Thread Diab Jerius
On Mon, 2013-06-24 at 23:22 +0200, Stefano Lattarini wrote:
> severity 14707 minor
> tags 14707 + moreinfo
> thanks
> 
> On 06/24/2013 04:45 PM, Diab Jerius wrote:
> > Hi,
> >
> Hi Diab, thanks for the report.

Stefano,

Thanks for the reply.

> 
> > On the Linux boxes I compile on, there's a /usr/local/bin/cl executable
> > (from the IRAF package).  Unfortunately, it seems that t/compile4.sh
> > interprets that as a Microsoft compiler.
> > 
> > The IRAF cl is an interactive program,
> >

> What happens if the program is run with its stdin redirected from /dev/null?
> Does it exit immediately, or does it still hang?

It exits, quite verbosely:

% cl < /dev/null
Warning: no login.cl found in login directory
  apropos fitsutillists   phist   stecf   utilities
  color   gemini  mscred  plotstlocal xray
  ctiogmisc   nmisc   proto   stsdas  
  dataio  images  noaorvsao   system  
  dbmslanguageobsoletesoftoolstables  

ecl> ERROR: use `logout' to log out of the CL
ecl> ERROR: use `logout' to log out of the CL
ecl> ERROR: use `logout' to log out of the CL
ecl> ERROR: use `logout' to log out of the CL
ecl> ERROR: use `logout' to log out of the CL
ecl> ERROR: use `logout' to log out of the CL
ecl> ERROR: use `logout' to log out of the CL
ecl> ERROR: use `logout' to log out of the CL
ecl> % 


> Also, does the program support a --version or --help option that might
> lead us to rule it out?

Indeed, it does:

% cl --version
NOAO/IRAFNET PC-IRAF Revision 2.14.1 Mon Sep 15 10:12:05 MST 2008
 

> 
> > so compile4.sh invokes it and it hangs waiting for input.
> >
> (Which is quite annoying indeed).
> 
> > Is there perhaps a better way of checking for the Microsoft compiler, or
> > restricting these tests to Microsoft operating systems?
> >
> I'd rather try the workarounds I proposed above first.  If they don't
> work, we should go along with your suggestion.
> 
> Thank you,
>   Stefano

Thanks,

Diab







bug#14707: automake 1.14 test hang for t/compile4.sh on Linux if "cl" executable is in path

2013-06-24 Thread Stefano Lattarini
severity 14707 minor
tags 14707 + moreinfo
thanks

On 06/24/2013 04:45 PM, Diab Jerius wrote:
> Hi,
>
Hi Diab, thanks for the report.

> On the Linux boxes I compile on, there's a /usr/local/bin/cl executable
> (from the IRAF package).  Unfortunately, it seems that t/compile4.sh
> interprets that as a Microsoft compiler.
> 
> The IRAF cl is an interactive program,
>
What happens if the program is run with its stdin redirected from /dev/null?
Does it exit immediately, or does it still hang?  Also, does the program
support a --version or --help option that might lead us to rule it out?

> so compile4.sh invokes it and it hangs waiting for input.
>
(Which is quite annoying indeed).

> Is there perhaps a better way of checking for the Microsoft compiler, or
> restricting these tests to Microsoft operating systems?
>
I'd rather try the workarounds I proposed above first.  If they don't
work, we should go along with your suggestion.

Thank you,
  Stefano





bug#14707: automake 1.14 test hang for t/compile4.sh on Linux if "cl" executable is in path

2013-06-24 Thread Diab Jerius
Hi,

On the Linux boxes I compile on, there's a /usr/local/bin/cl executable
(from the IRAF package).  Unfortunately, it seems that t/compile4.sh
interprets that as a Microsoft compiler.

The IRAF cl is an interactive program, so compile4.sh invokes it and it
hangs waiting for input.

Is there perhaps a better way of checking for the Microsoft compiler, or
restricting these tests to Microsoft operating systems?

Thanks,

Diab