Just updated cygutils and cygstart no longer works
Takashi Yano
takashi.yano@nifty.ne.jp
Sat Aug 14 01:54:05 GMT 2021
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.
--
Takashi Yano <takashi.yano@nifty.ne.jp>
More information about the Cygwin
mailing list