Hi,
This is the first open source project that I am attempting to build. I am new to Python development and a hobby user of C and C++.
I've used a post from Randolph Fritz, http://www.radiance-online.org/pipermail/radiance-dev/2011-February/001109.html , to download latest HEAD files.
I've downloaded Auxiliary library files from http://www.radiance-online.org/software/non-cvs/rad4R1supp.tar.gz
All the files were downloaded on 2011-01-18.
I've downloaded Radiance binaries from http://www.bozzograo.net/radiance/index.php?module=Downloads&func=display&lid=22 , but the fact that the disclaimer states that some "useful programs" are not available, deters me, as a complete Radiance beginner, to consider that binary.
I've tried several different approaches and I am stumped as to what the problem could be.
1. The following error appears:
C:\Ray\ray>scons
scons: Reading SConscript files ...
Detected platform "win32" (nt).
Reading configuration "platform\mingw.cfg"
TypeError: sequence item 0: expected string, function found:
File "C:\Ray\ray\SConstruct", line 57:
load_plat.load_plat(env, ARGUMENTS, platform=None)
File "C:\Ray\ray\build_utils\load_plat.py", line 78:
read_plat(env, args, pfn)
File "C:\Ray\ray\build_utils\load_plat.py", line 12:
cfig.read(fn)
File "C:\Python27\lib\ConfigParser.py", line 297:
self._read(fp, filename)
File "C:\Python27\lib\ConfigParser.py", line 546:
options[name] = '\n'.join(val)
C:\\Ray\\ray>
Where C:\Ray is where I've download the HEAD files
2. I've tried to debug this program but with my limited knowledge of Python, I cannot get the line cfig.read(fn) in load_plat.py
to read the mingw.cfg file.
I've ran
print os\.path\.isfile\(fn\) \#the file exists
print os\.path\.realpath\(fn\) \#Returns this correctly: C:\\Ray\\ray\\platform\\mingw\.cfg
before cfig.read(fn) and both output expected result
I've tried also cfig.read('c:\\Ray\\ray\\platform\\mingw.cfg') but that also fails (e.g. the file is not read and is ignored.)
Finally I've inserted
print cfig.sections()
statement after the line cfig.read(fn), to check if the file is open. In all cases it returns an empty string.
In fact when 'print' statement is used with code:
# XXX Check that basedir exists.
for k in ['RAD_BINDIR', 'RAD_RLIBDIR', 'RAD_MANDIR']:
if (env.has_key('RAD_BASEDIR') and env.has_key(k)
and not os.path.isabs(env[k])):
env[k] = os.path.join(env['RAD_BASEDIR'],env[k])
The "if statement" is never processed as env.has_key('RAD_BASEDIR') returns False.
3. My platform is:
Windows XP, Service Pack 2
Python 2.7.2
MinGW:
MINGWBASEDIR=C:\MinGW
gcc version 4.6.1 (GCC)
gcc version 4.6.1 (GCC)
GNU gdb (GDB) 7.3.1
GNU ld (GNU Binutils) 2.21.53.20110804
GNU windres (GNU Binutils) 2.21.53.20110804
GNU dlltool (GNU Binutils) 2.21.53.20110804
GNU Make 3.82
#define __MINGW32_VERSION 3.20
#define __W32API_VERSION 3.17
MSYS 1.0
Scons 2.1.0 r5357
My Environment path is configured to include MinGW, MSYS, Python27, Python27/Scripts directories.
Any help in solving this issue is appreciated.
Thank you
Peja