Putting packages up for adoption

Yaakov Selkowitz yselkowitz@cygwin.com
Sun Mar 22 19:49:22 GMT 2020


On Sun, 2020-03-22 at 17:36 +0100, ASSI wrote:
> ASSI writes:
> > I see the same thing.  I have no idea why the linker doesn't pick up the
> > reference, but it produces exactly the same error when removing
> > "-lcairo" from the link list, which looks suspicious.
> 
> Indeed if I replace that library reference with "-l:libcairo.dll.a" then
> things work.  The other cairo-dependent modules seem to have the same
> problem.  Could anybody with some more knowledge of binutils than me
> explain why that happens and how to fix it?

Case sensitivity.  The modules depend on symbols both from other
dependent modules as well as the C libraries which they bind.  While
for many of the libraries these names are slightly different, e.g.
-lPango and -lpango-1.0, in the case of Cairo, the only difference is
case (-lCairo -lcairo).  FWIW I always ran Cygwin with case sensitivity
on (except when Windows upgrades forcibly disabled that behind my
back), as these issues are not infrequent particularly when building.

ExtUtils::Depends used to use full paths for the module imports, e.g.
/usr/lib/perl5/..../libPango.dll.a instead of -L/usr/lib/perl5/....
-lPango, but I guess that changed at some point.  If building with case
sensitivity enabled is not an option, then I suggest patching EU::D to
use full paths for module imports again.

HTH,

--
Yaakov




More information about the Cygwin-apps mailing list