CFD Online Logo CFD Online URL
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Installation

Windows Installation Petrbs Port Redux Patches and Binary Distribution

Register Blogs Members List Search Today's Posts Mark Forums Read

LinkBack Thread Tools Search this Thread Display Modes
Old   February 10, 2006, 17:35
Default As promised, I've been working
Posts: n/a
As promised, I've been working through Petr Vita's Cygwin patch, including the changes needed to make it work on a non-managed (ordinary) mount, and with tcsh as well as bash.

The result, in short, is a tarball of the official distribution with some filenames changed so that it will unpack correctly on a case-insensitive filesystem (I'll post more details on that elsewhere, or look in the changelog.cygwin file I included), and a set of six patches which go through various parts of the port. And, at the end, some packages of the resulting source files and compiled binaries, such that one can have a working OpenFOAM-on-Cygwin installation simply by unpackaging them -- no aspirin needed!

I've put everything online at, including the binary packages and installation instructions; if you just want to install OpenFOAM, go there. The following is a description of the patches and changes, which I hope will be useful to the OpenFOAM developers in deciding whether and how to include Petr's changes in the core distribution:

First, as mentioned, I've renamed some files to deal with case-insensitivity problems. The problems have been discussed quite a bit elsewhere; I'll just note that this only involved 34 source files. The tarball of the renamed files to start with (no file contents have been changed at all yet) is:

The first change is to fix all of the file references that just got broken by renaming files; in particular, #include lines and entries in Make/files configurations. In addition, the wmakeLnInclude script does not properly handle .cc and .hh files, and so it must be adapted to link those as well. The following patch file (which should be applied to the cygwin-src-0.0 files) includes these changes:

Now that the case-sensitivity problems are addressed, we can begin with the real meat of the patch, which comes from Petr and his colleagues. We start with the most important piece of this: the changes to the wmake build system that are required for adapting to the Windows linker. This is explained in considerably more detail in the OpenFOAM-Cygwin-HOWTO.txt file, so I will simply provide the changes in patch-file form:

Next, there are various changes to the cshrc and bashrc scripts in order to add architecture options for the Cygwin environment, and to account for some minor differences in the environment itself.

There are also a few minor bug-fixes in the build scripts, which are not Cygwin-specific at all, but are needed for a correct build; we include those now:

The changes to the wmake architecture require some changes to a number of the build files, in order to resolve what would otherwise be some dependency loops in Windows for the Pstream and triSurface libraries. Those are included here, along with a couple of additional #include statements in other files, and some changes to the build scripts so that MICO and programs that depend on it (FoamX, patchTool, and foamDebugSwitches) are not built on Cygwin, as that part of the port has not yet been worked out:

Finally, Windows requires additional libraries to be included at link time instead of being left until runtime in many cases, and this requires changes to a large number of the Make/options files:

At this point, the port can be compiled; change to the OpenFOAM-1.2 directory, source .OpenFOAM-1.2/cshrc or bashrc depending on your preferences, and then run ./Allwmake.

(Also, there are some Cygwin prerequisites that aren't installed by default: sed, patch, make, flex, and bison are the ones I've noticed in my testing on various machines.)
  Reply With Quote


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
OpenFOAM 15x MinGW Windows Port gocarts OpenFOAM Installation 1 April 17, 2009 10:41
Anyone interested in doing a WinXPCrossFireX port cknopp OpenFOAM 24 March 12, 2008 10:24
"could not bind to local port" Frias Siemens 5 December 21, 2007 04:05
Port OpenFOAM to IBM Cell BE mgarcia OpenFOAM Installation 2 November 1, 2007 07:33
Windows Installation BugsComments on Petrbs patch brooksmoses OpenFOAM Installation 48 April 16, 2006 00:20

All times are GMT -4. The time now is 14:55.