Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cygwin reports “-bash: /usr/bin/svn: Bad address”

Tags:

bash

svn

cygwin

Upon

$ svn co http://plugins.svn.wordpress.org/jetpack-easy-playlists/ jep/

or

$ svn --version

I get -bash: /usr/bin/svn: Bad address

$  ls -l /usr/bin/svn

gives me -rwxr-xr-x 1 JFishwick Domain Users 189966 Mar 8 15:52 /usr/bin/svn

I have tried removing /usr/bin/cygwin1.dll and reinstalling base, but with no luck.

EDIT: Futhermore,

$ type svn
svn is /usr/bin/svn

and

$ which svn
/usr/bin/svn

and

$ ldd $(which svn)
        ntdll.dll => /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c900000)
        kernel32.dll => /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7c800000)
        cygsvn_client-1-0.dll => /usr/bin/cygsvn_client-1-0.dll (0x6f2c0000)
        cygsvn_ra-1-0.dll => /usr/bin/cygsvn_ra-1-0.dll (0x620c0000)
        cygsvn_ra_local-1-0.dll => /usr/bin/cygsvn_ra_local-1-0.dll (0x6b9c0000)
        cygsvn_repos-1-0.dll => /usr/bin/cygsvn_repos-1-0.dll (0x6b6c0000)
        cygsvn_fs-1-0.dll => /usr/bin/cygsvn_fs-1-0.dll (0x6e800000)
        cygsvn_fs_base-1-0.dll => /usr/bin/cygsvn_fs_base-1-0.dll (0x6c780000)
        cygsvn_delta-1-0.dll => /usr/bin/cygsvn_delta-1-0.dll (0x61bc0000)
        cygsvn_subr-1-0.dll => /usr/bin/cygsvn_subr-1-0.dll (0x6d680000)
        cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000)
        cygz.dll => /usr/bin/cygz.dll (0x692c0000)
        cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x6bf40000)
        cygapr-1-0.dll => /usr/bin/cygapr-1-0.dll (0x69f70000)
        cyguuid-1.dll => /usr/bin/cyguuid-1.dll (0x542e0000)
        cygaprutil-1-0.dll => /usr/bin/cygaprutil-1-0.dll (0x69f50000)
couldn't open C:\cygwin\bin\svn
cannot load file

my $PATH:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/PROGRA~1/IBM/CLIENT~1:/cygdrive/c/PROGRA~1/IBM/CLIENT~1/Shared:/cygdrive/c/PROGRA~1/IBM/CLIENT~1/Emulator:/cygdrive/c/Program Files/Common Files/Lenovo:/cygdrive/c/Program Files/TortoiseSVN/bin:/cygdrive/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/cygdrive/c/Program Files/WinSCP:/cygdrive/c/WINDOWS/system32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files/QuickTime Alternative/QTSystem:/cygdrive/c/Program Files/Git/cmd:/cygdrive/c/Program Files/Google/Google Apps Sync:/cygdrive/c/Program Files/Google/Google Apps Migration:/cygdrive/c/Program Files/CVSNT: C:/Program Files/Java/jdk1.6.0_26/bin:/usr/lib/lapack

vs

$ $PATH
-bash: /usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/PROGRA~1/IBM/CLIENT~1:/cygdrive/c/PROGRA~1/IBM/CLIENT~1/Shared:/cygdrive/c/PROGRA~1/IBM/CLIENT~1/Emulator:/cygdrive/c/Program: No such file or directory

Further discussion and fact finding here.

like image 799
two7s_clash Avatar asked Nov 05 '22 01:11

two7s_clash


2 Answers

Note the difference in paths:

$ type svn
svn is /usr/bin/svn

$ ldd $(which svn)
    ...
couldn't open C:\cygwin\bin\svn
cannot load file

When you use ldd, there's some sort of hard coded path to C:\cygwin\bin aka /bin/ ... your executable actually resides in /usr/bin/

Just for giggles, I would try copying or moving svn into /bin, just to see if this will resolve the issue. If you copy rather than move, make sure that you move /bin ahead of /usr/bin in $PATH, so that this is actually what's getting called.

The reason that I asked about $PATH is that the mechanism that cygwin uses to translate between C: and /cygdrive/c gets stymied by double quotes... I was in the habit of putting quotes around my paths on the windows side, which caused problems with the paths in cygwin. When I saw an un-translated path name, it rang that mental bell... alas, that wasn't the problem here.

like image 61
Barton Chittenden Avatar answered Nov 09 '22 05:11

Barton Chittenden


There is possibly a dll missing. Try running svn.exe from the dos prompt vis:

c:> c:\cygwin\bin\svn.exe

I got a pop-up indicating that cygproxy-1.dll was missing. Re-installed anything with the word proxy in it and the problem went away.

like image 32
cagney Avatar answered Nov 09 '22 06:11

cagney