/ usr / local / bin: / usr / bin: to the end of $ PATH instead of the top

I am trying to use ICU code using the MSVC linker. However, running Cygwin puts / usr / local / bin and / usr / bin in front of the path, forcing link.exe to always invoke the version of Cygwin instead of the MSVC version. How can I fix this configuration problem? I am currently running VS command line and then running cygwin.bat.

/ usr / local / bin: / usr / bin: / cygdrive / c / Program Files (x86) / Microsoft F # / v4.0: / cygdr ive / c / Program Files (x86) / Microsoft Visual Studio 10.0 / VSTSDB / Deploy: / cygdrive / c / Program Files (x86) / Microsoft Visual Studio 10.0 / Common7 / IDE: / cygdrive / c / Progra m Files (x86) / Microsoft Visual Studio 10.0 / VC / BIN: / cygdrive / c / Program Files (x86) / Microsoft Visual Studio 10.0 / Common7 / Tools: /cygdrive/c/Windows/Microsoft.NET/F ramework / v4.0.30319: /cygdrive/c/Windows/Microsoft.NET/Framework/v3.5: / cygdrive / c / Program Files (x86) / Microsoft Visual Studio 10.0 / VC / VCPackages: / cygdrive / c / Prog ram Files (x86) / HTML Help Workshop: / cygdrive / c / Program Files (x86) / Microsoft Visual Studio 10.0 / Command Tools / Performance Tools: / cygdrive / c / Program Files (x86) / Microsoft SDKs / Windows / v7.0A / bin / NETFX 4.0 Tools: / cygdrive / c / Program Files (x86) / Micro SDK / Windows / v7.0A / bin: / cygdrive / c / Program Files / Shared Files / Microsoft Shared / Windo ws Live: / cygdrive / s / Windows / system32: / cygdrive / s / Windows: / cygdrive / s / Windows / System 32 / Wbem: /cygdrive/c/Windows/System32/WindowsPowerShell/v1.0: / cygd rive / c / Program Files (x86) / Microsoft SQL Server / 100 / Tools / Binn: / cygdrive / c / Progr am Files / Microsoft SQL Server / 100 / Tools / Binn: / cygdrive / c / Program Files / Microsoft SQL Server / 100 / DTS / Binn: / cygdrive / c / Program Files (x86) / Microsoft ASP.NET/ASP.N ET Web Pages / v1.0: / cygdrive / c / Program Files / TortoiseHg: / cygdrive / c / Program Files ( X86) /GtkSharp/2.12/bin:/cygdrive/c/Users/tim/AppData/Roaming/npm:/cygdrive/c/P rogram Files (x86) / nodejs: / cygdrive / c / Program Files (x86) / Common Files / Intuit / QB POSSDK Run:: / cygdrive / c / Program Files (x86) / Git / cmd

ICU tells me

Make sure the PATH order is MSVC, Cygwin, and then the other Outlines. The script configuration needs specific tools in Cygwin (e.g. grep).

Update . My cygwin.bat looks like this:

@echo off

C: chdir C: \ cygwin \ bin

bash --login -i

Not very helpful.

+6
source share
2 answers

To install Cygwin, the default PATH is set to / etc / profile. You can change the PATH so that / usr / local / bin: / usr / bin is added rather than added.

# PATH="/usr/local/bin:/usr/bin:${PATH}" PATH="${PATH}:/usr/local/bin:/usr/bin/" 

Result:

 Setting environment for using Microsoft Visual Studio 2010 x86 tools. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>c:\cygwin\cygwin.bat tim@xxx ~ $ printenv PATH /cygdrive/c/Program Files (x86)/Microsoft F#/v4.0:/cygdrive/c/Program Files (x86 )/Microsoft Visual Studio 10.0/VSTSDB/Deploy:/cygdrive/c/Program Files (x86)/Mic rosoft Visual Studio 10.0/Common7/IDE:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/BIN:/cygdrive/c/Program Files (x86)/Microsoft Visual Studi o 10.0/Common7/Tools:/cygdrive/c/Windows/Microsoft.NET/Framework/v4.0.30319:/cyg drive/c/Windows/Microsoft.NET/Framework/v3.5:/cygdrive/c/Program Files (x86)/Mic rosoft Visual Studio 10.0/VC/VCPackages:/cygdrive/c/Program Files (x86)/HTML Hel p Workshop:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Team Too ls/Performance Tools:/cygdrive/c/Program Files (x86)/Microsoft SDKs/Windows/v7.0 A/bin/NETFX 4.0 Tools:/cygdrive/c/Program Files (x86)/Microsoft SDKs/Windows/v7. 0A/bin:/cygdrive/c/Program Files/Common Files/Microsoft Shared/Windows Live:/cyg drive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/ cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x8 6)/Microsoft SQL Server/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL S erver/100/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/100/DTS/Binn :/cygdrive/c/Program Files (x86)/Microsoft ASP.NET/ASP.NET Web Pages/v1.0:/cygdr ive/c/Program Files/TortoiseHg:/cygdrive/c/Program Files (x86)/GtkSharp/2.12/bin :/cygdrive/c/Users/tim/AppData/Roaming/npm:/cygdrive/c/Program Files (x86)/nodej s:/cygdrive/c/Program Files (x86)/Common Files/Intuit/QBPOSSDKRuntime:/cygdrive/ c/Program Files (x86)/Git/cmd:/usr/local/bin:/usr/bin/ tim@xxx ~ $ which link /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/BIN/link 
+7
source

I think a cleaner method is to use the ORIGINAL_PATH variable created in Cygwins /etc/profile . Instead of changing this file, modify the .bashrc to use ORIGINAL_PATH , and then add /usr/local/bin and /usr/bin .

.bashrc :

 export PATH=$ORIGINAL_PATH:/usr/local/bin:/usr/bin 

Then you do not need to modify the Cygwin installation files.

+3
source

Source: https://habr.com/ru/post/907805/


All Articles