Readline not working correctly with cygwin1.dll in same directory

Takashi Yano takashi.yano@nifty.ne.jp
Fri Jun 3 23:53:14 GMT 2022


On Fri, 3 Jun 2022 18:37:29 +0000
"Mexis, Nico" wrote:
> Dear CygWin team,
> 
> this is my first bug report and I hope I have chosen the right recipients here.
> I am very sorry if this is the wrong address.
> 
> Here is my bug report:
> Currently, I am trying to compile a software for commutative algebra, namely CoCoA 5, using CygWin.
> The compilation itself is working correctly and finishes as expected.
> CoCoA 5 uses readline in order to facilitate inputs from the console.
> When starting the resulting executable within CygWin bash, readline and all of its features work correctly.
> Also, as long as CygWin's DLLs are within Windows's PATH, in the default (and new) Windows Terminal, everything is working fine.
> However, when trying to create a distributable zip file with all the libraries included, something strange happens:
> In order to allow users without a CygWin installation to start CoCoA 5, all the required DLLs need to be distributed together with the application itself.
> All the required libraries could be found using DependencyWalker and cygcheck.
> Of course, as expected, cygwin1.dll is one of the required DLLs.
> As soon as I place cygwin1.dll in the installation directory where CoCoA 5's executable resides, readline support breaks.
> For some reason, the input line behaves very strangely, e.g., backspace and the arrow keys are not working correctly.
> All of the other DLLs (including cygreadline7.dll) can reside in the installation directory without causing trouble.
> But as soon as cygwin1.dll is also added in the installation directory, this bug reappears.
> 
> Another strange observation:
> This problem does not seem to only affect CoCoA 5, but also many other similar applications like PARI/GP.
> As soon as cygwin1.dll is copied into the same directory as the application's exe, this strange bug appears.
> 
> Sadly, I do not know about a fix yet since cygwin1.dll is needed for all users without a local CygWin installation.
> But - in turn - adding cygwin1.dll causes this bug which makes the console application very uncomfortable to use.
> 
> I would be very happy if you know a fix for this strange issue since I could not find something similar online.
> Best regards and thank you very much in advance,

If the program depends on cygncurses*.dll, it also needs
/usr/share/terminfo.

It should be placed in the relative path ../usr/share/terminfo
from the directory where cygwin1.dll exists.

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>


More information about the Cygwin mailing list