Opened 19 years ago
Closed 17 years ago
#23 closed defect (worksforme)
MAKESHELL needs setting
Reported by: | anonymous | Owned by: | dmik |
---|---|---|---|
Priority: | normal | Milestone: | qt-os2-3.3.1-rc07 |
Component: | [general] | Version: | 3.3.1-rc06 |
Severity: | normal | Keywords: | MAKESHELL sh.exe |
Cc: |
Description
With SET MAKESHELL=sh.exe the build fails very early with an unterminated if error. Fix is to do a SET MAKESHELL=cmd.exe. This should be set in configure.cmd amd also perhaps qt.cmd
Change History (3)
comment:1 by , 19 years ago
Keywords: | build breakage added |
---|
comment:2 by , 19 years ago
Component: | 3rdparty → [general] |
---|---|
Keywords: | MAKESHELL sh.exe added; build breakage removed |
Milestone: | → qt-os2-3.3.1-rc07 |
Status: | new → assigned |
Yes, that's true. sh.exe
isn't supported when set as the command line shell for Qt scripts. I will modify configure.cmd
so that MAKESHELL
is set to cmd.exe
in the generated qt.cmd
script. Thanks for reporting.
comment:3 by , 17 years ago
Resolution: | → worksforme |
---|---|
Status: | assigned → closed |
I've just rechecked it once again: configure.cmd sets MAKESHELL to cmd.exe in the generated qt.cmd command line wrapper since changeset:25 (that was committed half a year before you've opened this ticket :) I don't know what could cause this error in your case: probably you tried to run make on one of Qt makefiles directly, omitting qt.cmd.
Another person, Cornelis Bockemühl, had problems building Qt from under the 32-bit Command Line Interpreter by Jonathan de Boyne Pollard (http://homepages.tesco.net/~J.deBoynePollard/Softwares/). I've tried this interpreter and indeed couldn't even properly finalize configure.cmd from under it. This simple REXX script demonstrates one of the problems:
/**/ parse source a b c say say 'OS =' a say 'Env =' b say 'Script =' c say path_before = value('PATH',,'OS2ENVIRONMENT') say 'PATH (before) =' path_before say to_add = 'I_WAS_HERE!!!' say 'Adding "'to_add'" in front of PATH...' say address 'cmd' '@set PATH='to_add';%PATH%' path_after = value('PATH',,'OS2ENVIRONMENT') say 'PATH (after) =' path_after say if (to_add';'path_before \== path_after) then say 'TEST FAILED :-(' else say 'TEST SUCCEEDED :-)' exit
It seems that this CMD replacement pretends to be identified as CMD (for example, it handles address 'cmd'
REXX statements) but it isn't fully compatible with the standard OS/2 command interpreter. This looks odd to me. I'm not going to spend time working around these problems in configure.cmd or in qt.cmd.
I'm the origanal reporter. Definately need SET MAKESHELL=cmd.exe in qt.cmd otherwise (a different project) make: [clean] Error 1 (ignored) sh.exe: syntax error: `if' unmatched make: [clean] Error 1 (ignored) ... Dave