On Windows 7, I'm trying to install OmniBase in Pharo-30846. I get an error for ExternalWindowsOSProcess >> doesNotUnderstand defaultShellPath. Does anyone have a solution for this? Regards, Glenn
Glenn Swanlund wrote:
On Windows 7, I'm trying to install OmniBase in Pharo-30846. I get an error for ExternalWindowsOSProcess >> doesNotUnderstand defaultShellPath.
Does anyone have a solution for this?
Regards, Glenn At a guess you could start by defining...
ExternalWindowsOSProcess >>defaultShellPath "Default shell to run"\ | path | path := 'C:\Windows\System32\cmd.exe'. (OSProcess fileExists: path) ifTrue: [^ path] ifFalse: [self notify: path, ' not found'] but then whatever passed to an expected unix shell might not be suitable for the windows shell. Alternatively maybe Cygwin needs to be installed and used ? HTH, ben
On Fri, Jun 13, 2014 at 06:01:44PM -0700, Glenn Swanlund wrote:
On Windows 7, I'm trying to install OmniBase in Pharo-30846. I get an error for ExternalWindowsOSProcess >> doesNotUnderstand defaultShellPath.
Does anyone have a solution for this?
Hi Glenn, Sorry I did not reply earlier. You are probably using an older version of OSProcess. Sean DeNigris provided a fix for this problem, as well as some other Windows issues. His updates were committed in the OSProcess repository: Name: OSProcess-dtl.88 Author: dtl Time: 29 December 2013, 1:47:22.224 pm UUID: 12ce82c2-7d79-4af1-9e10-6f914757525e Ancestors: OSProcess-dtl.87 OSProcess 4.5.11, CommandShell 4.6.8 Fixes by Sean DeNigris for win32 support in PipeableOSProcess (CommandShell package) Date: Fri, 27 Dec 2013 10:09:37 -0800 (PST) From: "Sean P. DeNigris" <sean@clipperadams.com> To: squeak-dev@lists.squeakfoundation.org Subject: [squeak-dev] Fix: OSProcess on Windows I made a small fix for MNU #defaultShellPath, which has been reported a few times. I didn't have repo write access, so I committed to http://smalltalkhub.com/#!/~SeanDeNigris/SeansOutbox . Sometimes on Windows (e.g. seemingly when there are quoted command line arguments), the argument to #waitForCommand: and command: must be wrapped in $". I don't think there is any harm in always doing this (on Windows), but wanted to get feedback from Dave first... OSProcess-Win32-SeanDeNigris.11 - Supply shell flags valid for Windows (i.e. '/c'); shell commands via PipeableOSProcess are now working, with two restrictions: - no access to stdout - argument to #waitXyz: may have to be surroundedByDoubleQuotes OSProcess-Base-SeanDeNigris.41 - Extract default shell flags ('-c') into a method, so that Windows may supply flags valid there (i.e. '/c') CommandShell-Piping-SeanDeNigris.15 - Fix Win32 shell by providing path to cmd.exe
participants (3)
-
Ben Coman -
David T. Lewis -
Glenn Swanlund