Just updated cygutils and cygstart no longer works

Mark Geisert mark@maxrnd.com
Sat Aug 14 03:22:31 GMT 2021


Hi Takashi,

Thanks for that lead.  It appears the Makefile.am change didn't make it into the 
commit for the getclip update.  I'll remedy this shortly.

I compiled the package with gcc 10.2.0 using the default options.  Let me 
investigate further to find some kind of solution for the AVX usage, likely by 
using more/different gcc options.
Thanks again,

..mark


Takashi Yano via Cygwin wrote:
> Hi Mark,
> 
> On Fri, 13 Aug 2021 15:20:40 -0700
> Mark Geisert wrote:
>> Hello Jay,
>>
>> Jay Abel via Cygwin wrote:
>>> Sorry, more information.  I'm running Windows 10, 64-bit, AMD.
>>>
>>> I've reverted cygutils back to 1.4.16-2 and the problem is resolved.
>>>
>>> Jay
>>>
>>> On Fri, Aug 13, 2021 at 10:27 AM Jay Abel <jay.abel@gmail.com> wrote:
>>>
>>>> Run cygstart with anything and no window opens.  I've tried URLS cygstart
>>>> http://www.cygwin.com, directories cygstart . and cygstart ./  as well as
>>>> pdf files cygstart example.pdf.
>>>>
>>>> None of these seems to do anything anymore.
>>
>> I have the same setup as you but all seems well here.  With 1.4.16-3 installed all
>> four of your testcases work for me.  I don't know what to suggest.
>>
>> When you have a chance, what does 'echo $?' say at the prompt after cygstart
>> finishes one of your testcases?  0 means successful, 1 (or something else) means
>> failure.
> 
> I have the same issue with cygstart in cygutils 1.4.16-3.
> "cygstart .; echo $?" says 0.
> 
> This issue only happens in 64bit cygwin and cygstart in 32bit cygwin works.
> 
> To look into this problem, I tried to build cygutils from source,
> however, it fails in the link stage of getclip with the error:
> 
> /usr/lib/gcc/x86_64-pc-cygwin/10/../../../../x86_64-pc-cygwin/bin/ld: src/clip/getclip.o: in function `getclip':
> /usr/src/debug/cygutils-1.4.16-3/src/clip/getclip.c:431: undefined reference to `__imp_RtlUnicodeToUTF8N'
> 
> It seems that -lntdll flag is required to build it. Doesn't this error
> happen in your environment?
> 
> So I modified Makefile.am to:
> src_clip_getclip_LDADD              = -lpopt -lntdll
> src_clip_putclip_LDADD              = -lpopt -lntdll
> and tried to build again and succeeded.
> 
> The cygstart built locally works fine.
> 
> So I tried to debug cygstart using gdb and it says:
> Thread 1 received signal SIGILL, Illegal instruction.
> 
> The disassembling result at $rip is:
> => 0x0000000100401c15 <+389>:   vmovdqa 0x18c3(%rip),%xmm0        # 0x1004034e0
> 
> This is a AVX instruction.
> 
> My CPU is Core i7-870, which does not support AVX.
> 
> Then I ran cygstart in another machine whose CPU is Core i7-4790
> and it works without the issue.
> 
> Conclusion:
> cygstart in cygutils 1.4.16-3 is compiled with AVX extentions,
> therefore it can not run in old machine.
> 



More information about the Cygwin mailing list