2 posts tagged “public service announcement”
Hey look, it's another public service announcement not of interest to our regular readers.
Did you sign up for some magic numbers? Did you not write them down? Are you totally unable to find them browsing around the Yahoo Developer Network?
Here they are:
https://developer.yahoo.com/wsregapp/index.php?view
http://www.flickr.com/services/api/keys/
Avert your eyes neighbors, this is a very boring public service announcement for people trying to build with SCons on Windows. At right is a picture of some rusty tools, just so you don't go away empty handed.
This morning I got up thinking "wouldn't it be fun to learn a new build tool and a new programming language?" Of course these sorts of morning questions are always rhetorical, so I downloaded Python and SCons, installed them on my laptop, and set about trying to compile hello.cpp.
Unsurprisingly, the minimal SConstruct file "Program('hello.cpp')" didn't work, since I hadn't told SCons where to find the compiler or libraries. There's a bunch of stuff in the SCons FAQ about how they don't import your environment, so you have to set up the PATH and so forth yourself. They're even kind enough to tell you how unhappy certain MS tools will be if they can't find TMP. That's easy enough. We're ready to build now, right?
Nope.
It turns out you also need to set the SystemRoot environment variable, or the compiler won't load right. You'll get a little dialog helpfully explaining that you've run into error c0150004, aka ERROR_SXS_ASSEMBLY_NOT_FOUND. If you watch CL starting up in the debugger you'll see a bunch of more detailed but equally inscrutable messages that look like this:
SXS: Unable to resolve storage root for assembly directory x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8
.0.50727.42_x-ww_0de06acd in 2 tries
SXS: RtlGetAssemblyStorageRoot() unable to resolve storage map entry. Status = 0xc0150004
SXS: Unable to resolve storage root for assembly directory x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8
.0.50727.42_x-ww_0de06acd in 2 tries
Of course, if you import your entire environment in SCons, you'll pick up SystemRoot and not see this problem, but since you're reading this, you obviously decided not to do that.