I have seen the same type of problem building the oracle internal deploy
repository. My conclusion is that when building with devenv, it
interprets environment variables as case insensitive. Cygwin does not
and has both lower and upper case tmp and temp defined. Devenv doesn't
like having multiple definitions of the same variable. Now to make
things even more complicated, when running devenv, a background
processes MSBuild is launched, and it's actually this process that
triggers the error. It's left running and may or may not be picked up
again when rerunning devenv, which explains the intermittent nature of
the problem. Killing all the MSBuild processes in taskmanager and
unsetting the lowercase tmp and temp solves the problem. For the javafx
build, I would recommend adding tmp= and temp= prior to launching devenv
when building in cygwin to have the problem universally solved. This is
what I do in build infra.
/Erik
On 2013-02-14 21:32, Pete Brunet wrote:
I ran into two new problems building JFX on Win 7 this week:
1) I had to unset lowercase tmp and temp. Apparently there is a new
problem with having duplicates, TMP/tmp and TEMP/temp. This may be
related to http://www.cmake.org/Bug/print_bug_page.php?bug_id=13131
The failure appeared as:
launcher-win:
[echo] STARTING: C:\Program Files (x86)\Microsoft Visual Studio
10.0\Common7\IDE\devenv.com native/windows
[echo] C:\Program Files (x86)\Microsoft Visual Studio
10.0\Common7\IDE\devenv.com /build Release|Win32 IconSwap.vcxproj
[exec]
[exec] Microsoft (R) Visual Studio Version 10.0.30319.1.
[exec] Copyright (coffee) Microsoft Corp. All rights reserved.
[exec] 1>------ Build started: Project: IconSwap, Configuration:
Release Win32 ------
[exec] 1>C:\Program Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(147,5):
error MSB6001: Invalid command line switch for "CL.exe". Item has
already been added. Key in dictionary: 'tmp' Key being added: 'TMP'
[exec] ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0
skipped ===
2) DEVENVDIR somehow gets unset. I had to rerun vsvars.sh to fix it.
This failure appeared as:
needs-devenv:
[echo] Using
C:\Users\Pete\JavaFX\controls-RT-26343\jfx\rt-closed\glass\glass-mat-lib-windows\${windows.vs.DEVENVCMD}.
BUILD FAILED
Both of these showed up when building on Windows 7 which I haven't done
in a while. I was just rerunning the ant script over and over after
source code changes. I use ant -Dhudson.jfx.job.name=8.0-controls-scrum
sdk-no-docs
Since the problem is intermittent I supposed these could be related to
the combination of cygwin/Norton360. I'll disable Norton auto-protect
for a while to see if that helps, but wanted to let others know of this
in case it's helpful.
Pete