Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

G3D starter files

Help
Bill
2011-03-31
2012-12-23
  • Bill
    Bill
    2011-03-31

    I just downloaded and installed icompile-0.5.16 on OSX 10.6 and python 2.6.1

    I wanted to generate the G3D starter files in an empty project, so I ran icompile, selecting  for the project template.

    Here is a transcript of the error:

    zoo:test bill$ icompile
    You have never run iCompile in this directory before.
      Current Directory: /Users/bill/test
      Contains no subdirectories
      Subdirectories contain no C++ files
    Are you sure you want to compile the 'test' project? (Y/N)
    Would you like to generate a set of starter files for the 'test' project? (Y/N)
    Select a project template:
      [H]ello World
      [G]3D Starter
      [T]iny G3D Starter
    Traceback (most recent call last):
      File "/usr/bin/icompile", line 1222, in <module>
        ret = icompile('.', sys.argv[1:])
      File "/usr/bin/icompile", line 1143, in icompile
        state = getConfigurationState(args)
      File "/usr/bin/ice/doticompile.py", line 418, in getConfigurationState
        checkForProjectFile(state, args)
      File "/usr/bin/ice/doticompile.py", line 555, in checkForProjectFile
        templateG3D.generateStarterFiles(state, 'starter')
      File "/usr/bin/ice/templateG3D.py", line 36, in generateStarterFiles
        starterPath = findG3DStarter(state, name)
      File "/usr/bin/ice/templateG3D.py", line 16, in findG3DStarter
        processProjectFile(fakeState, True)
    NameError: global name 'processProjectFile' is not defined
    

    This was my first dive into python, so I still don't understand why the original import of doticompile was not sufficient, but I added the following bold statements to the code in templateG3D.py to successfully generate the starter files:

    def findG3DStarter(state, name):
    [b]    doticompile = __import__('doticompile', globals(), locals(), [], -1)[/b]
        # load the default .icompile
        fakeState = copy.copy(state)
        [b]doticompile.[/b]processProjectFile(fakeState, True)
    .
    .
    .
    
     
  • Morgan McGuire
    Morgan McGuire
    2011-03-31

    Thanks, I just committed the patch to the G3D version of icompile and will propagate it to the ice version of icompile at the next icompile release.

    -m