MATLAB: Do I get this error when using polyspace-configure: ERROR: No compilation unit detected in your build

Polyspace Bug FinderPolyspace Bug Finder Server

I received an error sometimes when using the polyspace-configure. The error goes away when I run the same command the second time.
This is just a small nuisance when running the command manually in cmd prompt. But, this is fatal when the job runs on the build server – the whole job will crash.
Do you have any tips on what is happening?
Here is the error:
Update dependencies
polyspace-configure.exe -lang c -prog iocalc_wayp -allow-overwrite -allow-build-error -output-options-file iocalc_wayp.opt devenv /rebuild Release iocalc_wayp.vcxproj /useenv /nologo
1>—— Rebuild All started: Project: iocalc_wayp, Configuration: Release Win32
——
1> route.c
1> track.c
1> track_alarm.c
1> track_t.c
1> track_x.c
1> wayp.c
1> Generating Code…
1> iocalc_wayp.vcxproj -> C:\DpBasPolyspace\pu\io_syst\calc\wayp\c\Release\iocalc_wayp.lib
1> 1 file(s) copied.
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
polyspace-configure: 3s: ERROR: All programs detected are unknown: there is no matching compiler configuration. Executed programs are:
polyspace-configure: 3s: ERROR: devenv C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/devenv.exe
polyspace-configure: 3s: ERROR: devenv.com C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/IDE/devenv.com
polyspace-configure: 3s: ERROR: Following compilers are recognized by polyspace-configure (with path to their compiler configuration):
polyspace-configure: 3s: ERROR: No compilation unit detected in your build.
Possible sources for this error are:
– Your build command does not compile any C/C++ files.
– Your compiler was not called. You must force a clean rebuild.
– Your compiler is unknown to Polyspace. You must write a compiler configuration.
– You use a compiler cache (such as ccache). You must deactivate it.
– You use a distributed build system (such as distmake). You must deactivate it.
– You use a -include-sources/-exclude-sources combination that filters out every source file. Consider setting -print-included-files and -print-excluded-files.
Exiting
make: * [polyspace_config] Error 0x1

Best Answer

You are experiencing this sporadic crash because of the usage of devenv.com, instead of devenv.exe. The workaround is to use devenv.exe instead of devenv.com when you launch polyspace-configure.
devenv.com is a small trampoline that spawns devenv.exe then exits without waiting for devenv.exe to complete. polyspace-configure considers the build is complete when the root executable (devenv.com) completes so the race condition between devenv.com and devenv.exe causes it to sometimes stops sniffing before the end of the actual build.