2012-04-25 8 views
5

परCygwin रिपोर्ट "-bash:/usr/bin/SVN: खराब पता"

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

या

$ svn --version 

मैं -bash मिलती है: /usr/bin/svn: Bad address

$ ls -l /usr/bin/svn 

मुझे देता है -rwxr-xr-x 1 JFishwick Domain Users 189966 Mar 8 15:52 /usr/bin/svn

I hav ई /usr/bin/cygwin1.dll को हटाने और बेस को पुनर्स्थापित करने का प्रयास किया, लेकिन बिना किसी किस्मत के।

संपादित करें: इसके अलावा,

$ type svn 
svn is /usr/bin/svn 

और

$ which svn 
/usr/bin/svn 

और

$ 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 

मेरी $ पथ:

$ 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 

बनाम

$ $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.

+0

क्या आप अपनी पोस्ट में 'टाइप svn' और 'ldd $ (जो svn)' का आउटपुट जोड़ सकते हैं? – sarnold

+0

@ कर्नाल्ड जोड़ा गया! –

+0

इसके अलावा, क्या आप अपना $ पाथ प्रतिबिंबित कर सकते हैं? –

उत्तर

1

नोट पथ में अंतर:

$ type svn 
svn is /usr/bin/svn 

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

आप ldd उपयोग करते हैं, वहाँ मुश्किल कोडित पथ के कुछ प्रकार के लिए C:\cygwin\bin/bin/ ... अपने निष्पादन वास्तव में रहता है उर्फ ​​है /usr/bin/

बस गिगल्स के लिए, मैं svn को कॉपी या ले जाने की कोशिश करता/बिन, बस यह देखने के लिए कि क्या यह समस्या हल करेगा। यदि आप स्थानांतरित करने के बजाए प्रतिलिपि बनाते हैं, तो सुनिश्चित करें कि आप $ PATH में/usr/bin से आगे बढ़ें/बिन करें, ताकि वास्तव में यह कहा जा रहा हो।

कारण यह है कि मैंने पूछा $PATH के बारे में है कि तंत्र है जो cygwin C: और /cygdrive/c के बीच अनुवाद करने का उपयोग करता है दोहरे उद्धरण चिह्नों द्वारा stymied हो जाता है ... मैं खिड़कियों की ओर मेरी रास्तों के आसपास उद्धरण डालने की आदत है, जो की वजह से किया गया था साइगविन में पथ के साथ समस्याएं। जब मैंने एक गैर-अनुवादित पथ नाम देखा, तो यह मानसिक घंटी बज गई ... हां, यह समस्या नहीं थी।

+0

जब मैं "सी: \ cygwin \ usr \ bin" में देखता हूं वहां बिल्कुल कुछ भी नहीं है। "सी: \ cygwin \ bin" में मैं "svn.exe" और कई अन्य svn- संबंधित फ़ाइलों को देखता हूं।लेकिन किसी भी जगह में कोई सादा "svn" नहीं है। क्या मैं शायद उपनाम खो रहा हूँ? –

+0

उस स्थिति में, मैं '$ ln /bin/svn.exe/usr/bin /' का प्रयास करूंगा। मुझे समझ में नहीं आता कि '/ usr/bin/svn' मौजूद नहीं है, तो '$ प्रकार svn' कैसे वापस आ सकता है' svn is/usr/bin/svn'। यदि आप इसे पहले चला चुके थे, तो आप देखेंगे कि 'svn हैश (/ usr/bin/svn) '... आप हुड के नीचे चीजें बदल सकते हैं और अभी भी धोए गए निष्पादन योग्य को वापस देख सकते हैं ... लेकिन ऐसा नहीं है यहाँ हो रहा है वैसे, '$ जो svn' आपको देता है, और यह' $ प्रकार svn' से अलग है? –

+0

दोनों मुझे '/ usr/bin/svn' देते हैं। साथ ही मुझे 'ln: हार्ड लिंक बनाने में विफल' /usr/bin/svn.exe ': फ़ाइल मौजूद है'। यह अजीब बात है, जब मैं 'सी: \ cygwin \ usr \ bin' पर विंडोज़ में देखता हूं, यह पूरी तरह से खाली है, लेकिन' ls/usr/bin' फ़ाइलों की लंबी सूची देता है, प्रतीत होता है कि वे '/ bin' में हैं। –

1

संभवतः एक डीएलएल गायब है। डॉस शीघ्र विज़ से svn.exe चलाने की कोशिश करें:

ग:>c: \ cygwin \ बिन \ svn.exe

मैं एक पॉप-अप का संकेत है कि cygproxy-1.dll याद आ रही थी मिला है। इसमें प्रॉक्सी शब्द के साथ कुछ भी पुनः स्थापित करें और समस्या चली गई।