Saturday, October 6, 2012

Building On Windows

Once the IBCP git repository has been cloned, the program can be built using the MSYS command line.  If the Git GUI was used to clone the repository as instructed, once the MSYS command line is started, there will be the ibcp directory.  Change to this directory and build the same as Linux with the make command.

However, there a problem on Windows with the awk scripts - the record separator (RS and ORS) assignments to "\r\n" lines, that are needed to work with DOS (CRLF) text file format, were removed during the clean up and repair of the git repository so that they would work on correctly on Linux.  However, this broke the scripts on Windows.  This showed up when running the regtest script and all the parser tests failed (the translator tests did all succeed).

These assignments were put back and a new commit was made to new branch winfix0.1.15 off of master.  So, to see the parser tests succeed on Windows, checkout out this branch with the git checkout winfix0.1.15 command.  If the make was already performed, do a git clean ‑df command first and run make again.  Now all tests should succeed when running the ./regtest script - at least on Windows XP.

However, on Windows 7, parser test 3 fails.  The specific test that fails is the smallest constant out of range check for the value 1.234e‑308, which does not return an error on Windows 7, whereas on Window XP and Linux it does.  Briefly investigating this, Windows 7 appears to allow even smaller values before reporting an out of range error, which don't occur until the value gets to around 1e‑323.  This will be investigated further later on the latest development branch (assuming the problem still exists). 

Making the awk scripts work on all platforms will be resolved on the latest development branch.  Next up, building the latest development branch...

No comments:

Post a Comment

All comments and feedback welcomed, whether positive or negative.
(Anonymous comments are allowed, but comments with URL links or unrelated comments will be removed.)