Monday, June 2, 2008

Application Installers

Last week I began posting the source code for Wildcat CAD here.  I also want to provide binaries for both Mac and Windows.  I have never really distributed applications before, so I did not have all the details down.

I found out there there is quite a difference between developing the code and just trying to run it.  There has been a dependencies directory in the source code from the beginning, but I hit a couple of snags in distribution.  On OS X the application would not run and exited with an error about not being able to find the xerces-c library (I use xerces for easy XML parsing and generation).  I opened a bug on this and today set about trying to make a nice installer for Mac.

Mac has some really easy deployment tools included in the developer package.  So I have spent a bit of time working with it, and I think (still in testing), that I now have a basic OS X installer.  I should wrap up testing on the installer by EOD today and will close the bug.  One important point.  Right now the OS X version of Wildcat CAD only supports 10.5 and Intel.  If there is sufficient demand I will see about putting out a Tiger version and maybe a PPC version.

In the grand scheme of things having nice installers is probably pretty low on the functionality list, but I really want to encourage users to try out the software and having a drop-dead easy deployment is a really important part of this.  Maybe I will even work on some code today.  Tomorrow is Windows installer day!

Cheers,
   Graham

6 comments:

Anonymous said...

Nice job!

I installed the windows applcation, the applciation carshs when New the project, below is the log file:
(INFO) - WCWildcatApp::WCWildcatApp - Starting up...
(ERROR) - WCScene::WCScene Error - Unspecified Errors.
(WARN) - WCTextureManager::TextureFromName - Not able to find texture: blkScrollerBackVT

Thanks!

GrahamH said...

Thank you for trying out Wildcat. I have to admit that the Windows port is lacking right now. So I really appreciate your feedback.

Ok, is that the entire log file? Wildcat has to load a bunch of .tiff files for icons and such at startup. On Windows these files need to be located in the Resources directory (this directory must be in same directory as Wildcat.exe). Please check this and let me know.

Also, if you don't mind, please let me know if you are running XP and what type of video card you have. Right now I use some moderately advanced features of OpenGL which necessitates a decently modern video card.

I should have a revised version of the Windows zip posted later today. Give it a try.

Cheers,
Graham

GrahamH said...

Ok. After a little digging I figured it out. On Windows I had not yet implemented the functions to find all of the needed resource files at run-time. I just had hard coded in a string to one of my personal directories. Obviously this will not work for anyone but me. I will correct this and have a fix out later today.

Cheers,
Graham

Anonymous said...

Thanks for your quick fix!

I installed with the new windows installer, it does not crash again when New a project, but the screen seems not clear on my Windows XP with ATI RADEONX300SE 128MB, below is the log file.

(INFO) - WCWildcatApp::WCWildcatApp - Starting up...
(ERROR) - CompileGLSLShader - Shader Compilation failed:
ERROR: 0:1: 'sampler2DRect' : Reserved word.
ERROR: 0:1: 'sampler2DRect' : syntax error parse error

(ERROR) - WCShaderManager::ParseShader - scn_basiclight_trim_fragment(GL_FRAGMENT_SHADER: trimsurface_vis.fsh) did not compile.
(INFO) - WCShaderManager::ParseShader - nc_default_plH requires geometry shader, which is not supported.
(INFO) - WCShaderManager::ParseShader - nc23_bezier_plH requires geometry shader, which is not supported.
(ERROR) - CompileGLSLShader - Shader Compilation failed:
ERROR: 0:2: 'sampler2DRect' : Reserved word.
ERROR: 0:2: 'sampler2DRect' : syntax error parse error

(ERROR) - WCShaderManager::ParseShader - nc_default_plM(GL_FRAGMENT_SHADER: nc_default_plM.fsh) did not compile.
(ERROR) - CompileGLSLShader - Shader Compilation failed:
ERROR: 0:4: 'sampler2DRect' : Reserved word.
ERROR: 0:4: 'sampler2DRect' : syntax error parse error

(ERROR) - WCShaderManager::ParseShader - nc23_default_plM(GL_FRAGMENT_SHADER: nc23_default_plM.fsh) did not compile.
(ERROR) - CompileGLSLShader - Shader Compilation failed:
ERROR: 0:4: 'sampler2DRect' : Reserved word.
ERROR: 0:4: 'sampler2DRect' : syntax error parse error

(ERROR) - WCShaderManager::ParseShader - nc23_bezier_plM(GL_FRAGMENT_SHADER: nc23_bezier_plM.fsh) did not compile.
(INFO) - WCShaderManager::ParseShader - ns_default_plH requires geometry shader, which is not supported.
(INFO) - WCShaderManager::ParseShader - ns23_bezier_plH requires geometry shader, which is not supported.
(ERROR) - CompileGLSLShader - Shader Compilation failed:
ERROR: 0:2: 'sampler2DRect' : Reserved word.
ERROR: 0:2: 'sampler2DRect' : syntax error parse error

(ERROR) - WCShaderManager::ParseShader - ns_default_plM(GL_FRAGMENT_SHADER: ns_default_plM.fsh) did not compile.
(ERROR) - CompileGLSLShader - Shader Compilation failed:
ERROR: 0:2: 'sampler2DRect' : Reserved word.
ERROR: 0:2: 'sampler2DRect' : syntax error parse error

(ERROR) - WCShaderManager::ParseShader - ns23_default_plM(GL_FRAGMENT_SHADER: ns23_default_plM.fsh) did not compile.
(ERROR) - CompileGLSLShader - Shader Compilation failed:
ERROR: 0:2: 'sampler2DRect' : Reserved word.
ERROR: 0:2: 'sampler2DRect' : syntax error parse error

(ERROR) - WCShaderManager::ParseShader - ns23_bezier_plM(GL_FRAGMENT_SHADER: ns23_bezier_plM.fsh) did not compile.
(ERROR) - WCShaderManager::ParseProgram - scn_basiclight_trim_fragment not found.
(ERROR) - WCShaderManager::ParseProgram - scn_basiclight_trim_fragment not found.
(INFO) - WCShaderManager::ParseProgram - nc_default_plH requires excluding this program.
(INFO) - WCShaderManager::ParseProgram - nc23_bezier_plH requires excluding this program.
(ERROR) - WCShaderManager::ParseProgram - nc_default_plM not found.
(ERROR) - WCShaderManager::ParseProgram - nc23_default_plM not found.
(ERROR) - WCShaderManager::ParseProgram - nc23_bezier_plM not found.
(INFO) - WCShaderManager::ParseProgram - ns_default_plH requires excluding this program.
(INFO) - WCShaderManager::ParseProgram - ns23_bezier_plH requires excluding this program.
(ERROR) - WCShaderManager::ParseProgram - ns_default_plM not found.
(ERROR) - WCShaderManager::ParseProgram - ns23_default_plM not found.
(ERROR) - WCShaderManager::ParseProgram - ns23_bezier_plM not found.
(DEBUG) - WCDocument::ExecuteAction - Executing: Create Part Plane.
(DEBUG) - WCDocument::ExecuteAction - Executing: Create Part Plane.
(DEBUG) - WCDocument::ExecuteAction - Executing: Create Part Plane.
(DEBUG) - WCDocument::ExecuteAction - Executing: Create PartBody.
(INFO) - WCWildcatApp::~WCWildcatApp - Shutting Down...
(WARN) - WCLogManager::Shutting Down (1:loggers) ...

GrahamH said...

Thank you for trying again. Is there any chance you could take a screen shot and send it to me? It looks like your graphics card/driver doesn't support the shader extensions I use to generate curves and surfaces. That is what the compilation errors mean.

There may be a way for me to work around this, but it will take a couple of days. Please send a screen shot to graham.hemingway@gmail.com if you can. In the mean time, if possible, try Wildcat on a different machine. The video card requirements are pretty strict as of now, sorry.

Cheers,
Graham

Stefan Boeykens said...

First of all, nice effort. I hope you succeed.

Secondly, I hope it can be made to work on my Mac Powerbook (PPC/G4), as the CAD support for Macs is an issue. I have cooperated a tiny bit with qtopencascade on sourceforge and documented the installation of it on OSX, but have not enough experience with the code to assist. I would love to learn your opinion about OCC.