Bugs in batch build under Windows

19 views
Skip to first unread message

mikews99

unread,
Jul 1, 2009, 8:43:36 PM7/1/09
to G3D Users
A few bugs with the batch build under Windows (Vista x64 SP2):

Build environment: VS2008 Pro, LaTex (MikTex 2.7), Python 2.5, G3D CVS
version 07/01/09

Opened a command console from Windows VS2008 tools menu:

********
Bug 1
********
Using command: buildg3d --install all

Output:

rm -rf build
rm -rf temp
False
Failed to find Visual Studio 2005 or 2008. Could not continue.
0s

-----
Using the command "set" shows (the relevant portion):

Path=C:\MSVS9\Common7\IDE;C:\MSVS9\VC\BIN;C:\MSVS9\Common7\Tools;C:
\MSVS9\Common
7\Tools\bin;C:\Windows\Microsoft.NET\Framework\;C:\Windows
\Microsoft.NET\Framewo (rest edited out)

Command "cl" shows:

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01
for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.

usage: cl [ option... ] filename... [ /link linkoption... ]

********
Bug 2
********
Using command: buildg3d --install doc

Output (relevant end portion):

Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
("C:\Program Files (x86)\MiKTeX 2.7\tex\latex\base\size10.clo"))
("C:\Program Files (x86)\MiKTeX 2.7\tex\latex\graphics\epsfig.sty"
("C:\Program Files (x86)\MiKTeX 2.7\tex\latex\graphics\graphicx.sty"
("C:\Program Files (x86)\MiKTeX 2.7\tex\latex\graphics\keyval.sty")
("C:\Program Files (x86)\MiKTeX 2.7\tex\latex\graphics\graphics.sty"
("C:\Program Files (x86)\MiKTeX 2.7\tex\latex\graphics\trig.sty")
("C:\Program Files (x86)\MiKTeX 2.7\tex\latex\00miktex\graphics.cfg")
("C:\Program Files (x86)\MiKTeX 2.7\tex\latex\graphics\dvips.def"))))
No file _formulas.aux.
! Undefined control sequence.
l.5 $ \operatorname
{cos}^k \theta $
?
! Emergency stop.
l.5 $ \operatorname
{cos}^k \theta $
No pages of output.
Transcript written on _formulas.log.
Traceback (most recent call last):
File "buildg3d", line 871, in <module>
ffmpegWinTarget, ffmpegCCTarget])
File "buildg3d", line 854, in dispatchOnTarget
return v()
File "buildg3d", line 410, in docTarget
run(doxygen, ['Doxyfile'], True, env)
File "bin\ice\utils.py", line 370, in run
exitcode = os.spawnve(os.P_WAIT, program, newArgs, newEnv)

********
Bug 3
********
Batch build doesn't run under Python 3


Let me know if you need more details or additional tests.

Morgan McGuire

unread,
Jul 1, 2009, 11:17:35 PM7/1/09
to g3d-...@googlegroups.com
What directory does the command console start you in?
What is the name of the vs9 pro binary? (i.e., the thing that launches the IDE?)

-m

mikews99

unread,
Jul 2, 2009, 12:40:09 AM7/2/09
to G3D Users
The Visual Studio console starts in c:\MSVS9\VC. I "CD" to c:\Projects
\G3D. Then I launch buildg3d. "Devenv.exe" is located in my path (c:
\MSVS9\Common7\IDE). I get the same above results when I manually open
a command window and call vcvars32.bat directly.

corey taylor

unread,
Jul 2, 2009, 12:43:03 AM7/2/09
to g3d-...@googlegroups.com
There's a problem with the custom install location for Visual C++ 9.
It looks like we are relying on the default install location to detect
it since the registry location for Visual C++ 9 on Vista 64-bit
doesn't work the same.

For now, if you open bin\ice\utils.py and change the function:

def VC9(filename, configs):
...
elif (checkHasVC(vc8ePaths, 'VS','ProductDir') or
checkHasVC(vc9ePaths, 'VS','ProductDir') or
os.path.exists('C:/Program Files (x86)/Microsoft Visual
Studio 9.0/Common7/IDE/VCExpress.exe')):
# last case is for Vista 64

to look for your custom install path, it should work.

corey

mikews99

unread,
Jul 2, 2009, 1:59:32 AM7/2/09
to G3D Users
Nope. I tried that a while ago when I was poking around the .py files
trying to figure it out myself. That method still doesn't work in this
latest CVS version. But I can force the build by hacking in "return
devenv(filename, configs)" in the "else:" fail branch. <<---
[Attention all programmers: Doing something like this may get you
hurt, expelled, arrested, or possibly deported. Do not try this at
home!]. Obviously that's not a solution.

The proper way to detect the VS directory *is*, like you said, to read
the InstallDir data in the key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
\VisualStudio\9.0 for 32-bit, or HKEY_LOCAL_MACHINE\SOFTWARE
\Wow6432Node\Microsoft\VisualStudio\9.0 for x64. I'm not a python
programmer, but I'm sure there are fairly easy ways of detecting
platform bit-ness.

corey taylor

unread,
Jul 2, 2009, 9:35:00 PM7/2/09
to g3d-...@googlegroups.com
This should now be fixed in CVS.

I changed everything to simply search for the binary in the path to
verify installation. We expect the executable to be in the path to
actually compile anyway.

corey

mikews99

unread,
Jul 3, 2009, 1:21:51 AM7/3/09
to G3D Users
Okay, everything compiles fine now. However the raytrace demo asserts
in Ray::set in debug mode, FIY.

Morgan McGuire

unread,
Jul 3, 2009, 9:00:18 AM7/3/09
to g3d-...@googlegroups.com
At direction.isUnit()?  As of Friday morning CVS?

-m

Morgan McGuire

unread,
Jul 3, 2009, 9:01:03 AM7/3/09
to g3d-...@googlegroups.com
I'm getting it now too--I'll fix it before release this afternoon, thanks!

-m

Morgan McGuire

unread,
Jul 3, 2009, 9:04:52 AM7/3/09
to g3d-...@googlegroups.com
Fixed.  It was total internal refraction on the glass sphere.

-m

mikews99

unread,
Jul 4, 2009, 5:57:18 PM7/4/09
to G3D Users
Well, you're halfway there. The IDE debug build no longer asserts, but
the command line debug build does. Screen output:


1>test - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 6 up-to-date, 0 skipped
==========

temp\test\build\testd.exe
App {
Name = "C:\\Projects\\G3D\\temp\\test\\build\\testd.exe"
cwd = "C:\\Projects\\G3D\\temp\\test\\build"
}

OS {
Name = "Windows 6.0 build 6002 Platform 2 S"
}

CPU {
Vendor = "AuthenticAMD"
Architecture = "4 x 32-bit Intel processor"
hasCPUID = Yes
hasMMX = Yes
hasSSE = Yes
hasSSE2 = Yes
hasSSE3 = Yes
has3DNow = Yes
hasRDTSC = Yes
numCores = 4
}

G3D {
Link version = 80001
Compile version = "G3D 8.00 beta 1"
}


Network {
{
hostname = "Vista"
name = ""
ip = 192.168. 1. 2
subnet = 0. 0.255.255
broadcast = 255.255.255.255
mac = 00:00:00:00:00:00
}
}




Tests:

Sphere...passed
G3D::ImageFormat passed
KDTree (load model, balance tree, raytrace, done) passed
Matrix passed
zip API passed
G3D::gaussian1D passed
G3D::Array Array::Sort
passed
SmallArray...passed
Spline passed
G3D::Matrix3 passed
G3D::Table passed
CollisionDetection


*****************************

Then when I allow the assert to call up the IDE, it shows the assert
on line 21 in file ray.cpp. Continuing allows the build to complete
without further asserts though.
Reply all
Reply to author
Forward
0 new messages