VS2003 runner issue: 'cl' failed to start...cannot find the file specified

Hi,

Getting the error below for a vs2003 runner, on multiple agents.

Not sure which file it's speaking of (see end of log below), it seems that cl itself launches.

Build succeeds locally.

Thanks!
-chris



: Build sequence for target `build' is build
: Complete build sequence is build
: build (<1s)
: property
: Target framework changed to "Microsoft .NET Framework 1.1".
: solution (<1s)
: Starting solution build.
: Loading projects...
: Loading project 'C:\Workspace\CppUtils2003-trunk\continuous\CppUtils.vcproj'.
: Only C#, J#, VB.NET and C++ projects are supported. Skipping project 'C:\Workspace\CppUtils2003-trunk\continuous\CppUtilsMergeModule\CppUtilsMergeModule.vdproj'.
: Gathering additional dependencies...
: Added "c:\Program Files\Common Files\Crystal Decisions\1.1\Managed\" to AssemblyFolders.
: Added "C:\Program Files\Microsoft.NET\Primary Interop Assemblies\" to AssemblyFolders.
: Added "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE\PublicAssemblies" to AssemblyFolders.
: Added "C:\Program Files\Microsoft.NET\ADOMD.NET\90\" to AssemblyFolders.
: Added "C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\" to AssemblyFolders.
: Added "C:\Program Files\ComponentOne Studio.NET 2.0\bin" to AssemblyFolders.
: Added "C:\Program Files\Microsoft SQL Server\90\DTS\Connections\" to AssemblyFolders.
: Added "C:\Program Files\Microsoft SQL Server\90\DTS\ForEachEnumerators" to AssemblyFolders.
: Added "C:\Program Files\Microsoft SQL Server\90\DTS\PipelineComponents" to AssemblyFolders.
: Added "C:\Program Files\Microsoft SQL Server\90\DTS\Tasks" to AssemblyFolders.
: Added "C:\Program Files\Microsoft SQL Server\90\NotificationServices\9.0.242\Bin\" to AssemblyFolders.
: Added "C:\Program Files\SQLXML 4.0\bin\" to AssemblyFolders.
: Fixing up references...
: Building 'CppUtils' ...
: attrib (<1s)
: No matching files or directories found.
: cl (<1s)
: 'C:\Workspace\CppUtils2003-trunk\continuous\Debug\CppUtils.obj' does not exist, recompiling.
: 'C:\Workspace\CppUtils2003-trunk\continuous\Debug\DrwDateTime.obj' does not exist, recompiling.
: 'C:\Workspace\CppUtils2003-trunk\continuous\Debug\DRWPreciseTimer.obj' does not exist, recompiling.
: Compiling 3 files to 'C:\Workspace\CppUtils2003-trunk\continuous\Debug'.
: Contents of C:\BuildAgent\temp\teamcity.tmp\tmp22C.tmp.
: /c /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /D "CPPUTILS_EXPORTS" /I "C:\Workspace\CppUtils2003-trunk\continuous\deps\3rd\log4cxx\include" /Fd"C:\Workspace\CppUtils2003-trunk\continuous\Debug\vc70.pdb" /Fo"C:\Workspace\CppUtils2003-trunk\continuous\Debug
" "C:\Workspace\CppUtils2003-trunk\continuous\sharedSrc\CppUtils.cpp" "C:\Workspace\CppUtils2003-trunk\continuous\sharedSrc\DrwDateTime.cpp" "C:\Workspace\CppUtils2003-trunk\continuous\sharedSrc\DRWPreciseTimer.cpp" /D "_MBCS"
: Starting 'cl (@"C:\BuildAgent\temp\teamcity.tmp\tmp22C.tmp" /EHsc /D _WINDLL /Wp64 /Od /ZI /Gm /RTC1 /W3 /MDd /nologo)' in 'C:\Workspace\CppUtils2003-trunk\continuous'
: Cleaning up temp folder 'C:\BuildAgent\temp\teamcity.tmp\dxhlmir3'.
: delete
: 'cl' failed to start.
: sln2003 output:
Building 'CppUtils' ...
No matching files or directories found.
'C:\Workspace\CppUtils2003-trunk\continuous\Debug\CppUtils.obj' does not exist, recompiling.
'C:\Workspace\CppUtils2003-trunk\continuous\Debug\DrwDateTime.obj' does not exist, recompiling.
'C:\Workspace\CppUtils2003-trunk\continuous\Debug\DRWPreciseTimer.obj' does not exist, recompiling.
Compiling 3 files to 'C:\Workspace\CppUtils2003-trunk\continuous\Debug'.
Contents of C:\BuildAgent\temp\teamcity.tmp\tmp22C.tmp.
/c
/D "WIN32"
/D "_DEBUG"
/D "_WINDOWS"
/D "_USRDLL"
/D "CPPUTILS_EXPORTS"
/I "C:\Workspace\CppUtils2003-trunk\continuous\deps\3rd\log4cxx\include"
/Fd"C:\Workspace\CppUtils2003-trunk\continuous\Debug\vc70.pdb"
/Fo"C:\Workspace\CppUtils2003-trunk\continuous\Debug
"
"C:\Workspace\CppUtils2003-trunk\continuous\sharedSrc\CppUtils.cpp"
"C:\Workspace\CppUtils2003-trunk\continuous\sharedSrc\DrwDateTime.cpp"
"C:\Workspace\CppUtils2003-trunk\continuous\sharedSrc\DRWPreciseTimer.cpp"
/D "_MBCS"

Starting 'cl (@"C:\BuildAgent\temp\teamcity.tmp\tmp22C.tmp" /EHsc /D _WINDLL /Wp64 /Od /ZI /Gm /RTC1 /W3 /MDd /nologo)' in 'C:\Workspace\CppUtils2003-trunk\continuous'

BUILD FAILED - 0 non-fatal error(s), 1 warning(s)

'cl' failed to start. The system cannot find the file specified

Total time: 0.8 seconds.

: Build finished

5 comments

Hello Chris,

This runner does not use VS 2003 for the build process. It uses 'solution'
task of NAnt
to perform the build.
Please have a look to the latest description of it here
http://nant.sourceforge.net/release/0.85/help/tasks/solution.html

As far as I can see, that task does not support installer projects.

If you need the same runner working through MS VS 2003, please, feel free
submitting
it to out Jira.

As a workaround you may write your own NAnt script which runs MS VS for
the build.
I can send you a sample of it if needed.


Do you have cl/VS2003/PlatformSDK on the agent machine?

--
Eugene Petrenko
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

Hi,

Getting the error below for a vs2003 runner, on multiple agents.

Not sure which file it's speaking of (see end of log below), it seems
that cl itself launches.

Build succeeds locally.

Thanks!
-chris


: Build sequence for target `build' is build
: Complete build sequence is build
: build (<1s)
: property
: Target framework changed to "Microsoft .NET
Framework 1.1".
: solution (<1s)
: Starting solution build.
: Loading projects...
: Loading project
'C:\Workspace\CppUtils2003-trunk\continuous\CppUtils.vcproj'.
: Only C#, J#, VB.NET and C++ projects are
supported. Skipping project
'C:\Workspace\CppUtils2003-trunk\continuous\CppUtilsMergeModule\CppUti
lsMergeModule.vdproj'.
: Gathering additional dependencies...
: Added "c:\Program Files\Common Files\Crystal
Decisions\1.1\Managed\" to AssemblyFolders.
: Added "C:\Program Files\Microsoft.NET\Primary
Interop Assemblies\" to AssemblyFolders.
: Added "C:\Program Files\Microsoft Visual Studio
.NET 2003\Common7\IDE\PublicAssemblies" to AssemblyFolders.
: Added "C:\Program
Files\Microsoft.NET\ADOMD.NET\90\" to AssemblyFolders.
: Added "C:\Program Files\Microsoft SQL
Server\90\SDK\Assemblies\" to AssemblyFolders.
: Added "C:\Program Files\ComponentOne Studio.NET
2.0\bin" to AssemblyFolders.
: Added "C:\Program Files\Microsoft SQL
Server\90\DTS\Connections\" to AssemblyFolders.
: Added "C:\Program Files\Microsoft SQL
Server\90\DTS\ForEachEnumerators" to AssemblyFolders.
: Added "C:\Program Files\Microsoft SQL
Server\90\DTS\PipelineComponents" to AssemblyFolders.
: Added "C:\Program Files\Microsoft SQL
Server\90\DTS\Tasks" to AssemblyFolders.
: Added "C:\Program Files\Microsoft SQL
Server\90\NotificationServices\9.0.242\Bin\" to AssemblyFolders.
: Added "C:\Program Files\SQLXML 4.0\bin\" to
AssemblyFolders.
: Fixing up references...
: Building 'CppUtils' ...
: attrib (<1s)
: No matching files or directories found.
: cl (<1s)
:
'C:\Workspace\CppUtils2003-trunk\continuous\Debug\CppUtils.obj' does
not exist, recompiling.
:
'C:\Workspace\CppUtils2003-trunk\continuous\Debug\DrwDateTime.obj'
does not exist, recompiling.
:
'C:\Workspace\CppUtils2003-trunk\continuous\Debug\DRWPreciseTimer.obj'
does not exist, recompiling.
: Compiling 3 files to
'C:\Workspace\CppUtils2003-trunk\continuous\Debug'.
: Contents of
C:\BuildAgent\temp\teamcity.tmp\tmp22C.tmp.
: /c /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL"
/D "CPPUTILS_EXPORTS" /I
"C:\Workspace\CppUtils2003-trunk\continuous\deps\3rd\log4cxx\include"
/Fd"C:\Workspace\CppUtils2003-trunk\continuous\Debug\vc70.pdb"
/Fo"C:\Workspace\CppUtils2003-trunk\continuous\Debug
"
"C:\Workspace\CppUtils2003-trunk\continuous\sharedSrc\CppUtils.cpp"
"C:\Workspace\CppUtils2003-trunk\continuous\sharedSrc\DrwDateTime.cpp"
"C:\Workspace\CppUtils2003-trunk\continuous\sharedSrc\DRWPreciseTimer.
cpp" /D "_MBCS"
: Starting 'cl
(@"C:\BuildAgent\temp\teamcity.tmp\tmp22C.tmp" /EHsc /D _WINDLL /Wp64
/Od /ZI /Gm /RTC1 /W3 /MDd /nologo)' in
'C:\Workspace\CppUtils2003-trunk\continuous'
: Cleaning up temp folder
'C:\BuildAgent\temp\teamcity.tmp\dxhlmir3'.
: delete
: 'cl' failed to start.
: sln2003 output:
Building 'CppUtils' ...
No matching files or directories found.
'C:\Workspace\CppUtils2003-trunk\continuous\Debug\CppUtils.obj'
does not exist, recompiling.

'C:\Workspace\CppUtils2003-trunk\continuous\Debug\DrwDateTime.obj'
does not exist, recompiling.

'C:\Workspace\CppUtils2003-trunk\continuous\Debug\DRWPreciseTimer.obj'
does not exist, recompiling.
Compiling 3 files to
'C:\Workspace\CppUtils2003-trunk\continuous\Debug'.
Contents of C:\BuildAgent\temp\teamcity.tmp\tmp22C.tmp.
/c
/D "WIN32"
/D "_DEBUG"
/D "_WINDOWS"
/D "_USRDLL"
/D "CPPUTILS_EXPORTS"
/I
"C:\Workspace\CppUtils2003-trunk\continuous\deps\3rd\log4cxx\include"
/Fd"C:\Workspace\CppUtils2003-trunk\continuous\Debug\vc70.pdb"
/Fo"C:\Workspace\CppUtils2003-trunk\continuous\Debug
"

"C:\Workspace\CppUtils2003-trunk\continuous\sharedSrc\CppUtils.cpp"

"C:\Workspace\CppUtils2003-trunk\continuous\sharedSrc\DrwDateTime.cpp"

"C:\Workspace\CppUtils2003-trunk\continuous\sharedSrc\DRWPreciseTimer.
cpp"
/D "_MBCS"

Starting 'cl (@"C:\BuildAgent\temp\teamcity.tmp\tmp22C.tmp"
/EHsc /D _WINDLL /Wp64 /Od /ZI /Gm /RTC1 /W3 /MDd /nologo)' in
'C:\Workspace\CppUtils2003-trunk\continuous'
BUILD FAILED - 0 non-fatal error(s), 1 warning(s)

'cl' failed to start. The system cannot find the file specified

Total time: 0.8 seconds.

: Build finished



0

OK, that explains why the sln2003 runner has a NAnt dependency:-)

However, the installer project is being skipped by the solution in Debug configuration, so shouldn't play a part in the build, is that right?

-chris

0

OK...Installing the "Microsoft ® Windows Server® 2003 R2 Platform SDK" did the trick...kind of. Should there be a sln2003 dependency of some kind that highlights this?

I'm still not out of the woods yet. *fuslogvw *output tells me that NAnt is using its own directory as the Appbase, and so pulling in the wrong version of log4net and SharpZipLib for compiling.

How do I tell the build runner to use the project's directory as the appbase? Or is now the time to give up and write a command-line runner?

Thanks!
-chris

Assembly manager loaded from: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable c:\Program Files\nant-0.85\bin\NAnt.exe
--- A detailed error log follows.

=== Pre-bind state information ===
LOG: User = US\cwalquist
LOG: DisplayName = log4net, Version=1.2.0.30714, Culture=neutral, PublicKeyToken=b32731d11ce58905
(Fully-specified)
LOG: Appbase = file:///c:/Program Files/nant-0.85/bin/
LOG: Initial PrivatePath = lib;lib\net\2.0;lib\net
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NAnt.exe
Calling assembly : NAnt.Core, Version=0.85.2478.0, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: c:\Program Files\nant-0.85\bin\NAnt.exe.config
LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: log4net, Version=1.2.0.30714, Culture=neutral, PublicKeyToken=b32731d11ce58905
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///c:/Program Files/nant-0.85/bin/log4net.DLL.
LOG: Assembly download was successful. Attempting setup of file: c:\Program Files\nant-0.85\bin\log4net.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905
WRN: Comparing the assembly name resulted in the mismatch: Revision Number
ERR: The assembly reference did not match the assembly definition found.
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

0

Hello Chris,

I've checked documentation for nant solution task. This is nothing told
about the problem of loosing references.
Please, check if HintPath for all references is set and is correct.

It a good way as a workaround to use CommandlineRunner, but I whould recomend
you using and script
calling vs2003 to build. This solution will let you run NUnit tests after
build.

BTW. Have you changed the system account for the agent process? Does it
have enough rights?

Here is an example project for NAnt to run VS2003. To run tests, please,
use NUnit2 task.
]]>

<property name="basedir" value="$" />
]]>
<property name="build.log" value="$/build.log"/> <target name="build"> <delete dir="$/release"/>
<delete dir="$/debug"/>
]]>

<exec program="$\devenv.exe"
commandline="$ /rebuild RELEASE /out ${build.log}"

verbose="true" failonerror="false"
resultproperty="errorcode"
/>

<if test="$">
]]>
<echo message="$" level="Error"/> <fail message="VS Compilation error"/> </if> <if test="$"> <loadfile file="${build.log}" property="logdata"/> <echo message="$"/>
]]>



--
Eugene Petrenko
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

OK...Installing the "Microsoft ® Windows Server® 2003 R2 Platform SDK"
did the trick...kind of. Should there be a sln2003 dependency of some
kind that highlights this?

I'm still not out of the woods yet. *fuslogvw *output tells me
that NAnt is using its own directory as the Appbase, and so pulling in
the wrong version of log4net and SharpZipLib for compiling.

How do I tell the build runner to use the project's directory as the
appbase? Or is now the time to give up and write a command-line
runner?

Thanks!
-chris
Assembly manager loaded from:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable c:\Program Files\nant-0.85\bin\NAnt.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = US\cwalquist
LOG: DisplayName = log4net, Version=1.2.0.30714, Culture=neutral,
PublicKeyToken=b32731d11ce58905
(Fully-specified)
LOG: Appbase = file:///c:/Program Files/nant-0.85/bin/
LOG: Initial PrivatePath = lib;lib\net\2.0;lib\net

LOG: Dynamic Base = NULL

LOG: Cache Base = NULL

LOG: AppName = NAnt.exe

Calling assembly : NAnt.Core, Version=0.85.2478.0, Culture=neutral,
PublicKeyToken=null.

===

LOG: This bind starts in default load context.

LOG: Using application configuration file: c:\Program
Files\nant-0.85\bin\NAnt.exe.config

LOG: Using machine configuration file from
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.

LOG: Post-policy reference: log4net, Version=1.2.0.30714,
Culture=neutral, PublicKeyToken=b32731d11ce58905

LOG: GAC Lookup was unsuccessful.

LOG: Attempting download of new URL file:///c:/Program
Files/nant-0.85/bin/log4net.DLL.

LOG: Assembly download was successful. Attempting setup of file:
c:\Program Files\nant-0.85\bin\log4net.dll

LOG: Entering run-from-source setup phase.

LOG: Assembly Name is: log4net, Version=1.2.9.0, Culture=neutral,
PublicKeyToken=b32731d11ce58905

WRN: *Comparing the assembly name resulted in the mismatch: Revision
Number*

ERR: The assembly reference did not match the assembly definition
found.

ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing
terminated.



0

OK...Installing the "Microsoft ® Windows Server® 2003 R2 Platform SDK" did the trick


FWIW...On further investigation, this did NOT do the trick. The first-order issue seems rather simpler...the vs2003 ]]> task is not running with vs2003 environment.

When I go the cmd-runner route AND prepend a vsvars32.bat invocation, 'cl' is found.

Cheers,
-chris

P.S. Not fussed about NUnit right now, nobody's got any nunit tests for this particular project anyway...and when they do, they'll be in 2005 or later, so all this will be a non-issue.

0

Please sign in to leave a comment.