Monday, March 21, 2011

puttycyg complains it can't find procedure entry point

My preferred method of using Cygwin on windows is using puttycyg, which allows you to open a Cygwin within putty, meaning you get a much nicer window to use if you're more used to Unix sessions rather than using the Windows command line. However, after using this without problem for some years, I opened Putty up recently to get an error "The procedure entry point __assert_func could not be located int he dynamic link library cygwin1.dll.":


The puttycyg people have an entry on their FAQ which suggests that you're uEsing an older version of Cygwin than was supported, however I found that I was up to date. After re-installing both puttycyg and Cygwin a number of times, even hacking registry entries along the way, I came across the suggestion that there might be more than one version of cygwin1.dll on my system. Even though I hadn't done anything myself, opened up Cygwin in the Windows CMD, and did

find /cygdrive/c -name cygwin1.dll

to find that when a new piece of software had been automatically installed on my machine (BladeLogic) by the System Admin fairies, the bin directory had been added to my path, and that directory contained an old version of cygwin1.dll.

Once I'd renamed that file (and I'll cross the bridge of that breaking BladeLogic when I come to it - I have no idea if I'll ever actually have to use it), everything started working again.

Hope This Helps.

1 comment:

  1. Same situation here (several re-installs, reboots, etc., after reading those comments on the puttycyg site). In my case, the problem was the Maude verification system:

    /cygdrive/c/Program Files (x86)/MaudeFW/cygwin/bin/cygwin1.dll
    /cygdrive/c/Program Files (x86)/MaudeFW/cygwin1.dll

    I uninstalled Maude (verification systems are cheaper by the dozen, but there is only one puttycyg!), and now everything is back to normal.

    ReplyDelete