|Subject:||[GE dev] Compiling Grid Engine under Cygwin|
|From:||Ian R. Chesal (ian....@rogers.com)|
|Date:||Jan 19, 2003 9:28:03 pm|
gridengine_source.diff.gz - 2k
aimk.out.gz - 8k
What follows are the changes necessary to your Cygwin environment and the latest CVS tree of Grid Engine to COMPILE all the binaries under Cygwin. Note: I have not tested anything yet aside from a few quick command line calls to make sure things don't SegFault right away. And they don't. which I think is promising. I will launch more detailed tests this week. And now follows a rather lengthy text.
I'm looking for comments/suggestions/criticisms of this work. I've never worked with Grid Engine before so it's all educational for me to hear what you have to say.
Oh, and if someone can tell me the equivalent of a 'make clean' with ./aimk I'd be most appreciative. I've just been deleting the source/LINUX6 and source/3rdparty/sge_depend/LINUX6 directories before recompiling and assuming that was a compile from scratch. A -clean option would be nice....
Thanks! Ian Chesal
After after a long Sunday and a wee bit 'o tweaking I was able to get Grid Engine to compile under Cygwin 1.3.18. To begin with the following non-standard packages are required for the compilation:
Sun's Cygwin RPC library port: http://www.mail-archive.com/cygwin-apps@cy...@ The deprecated Cygwin IPC library: http://www.neuro.gatech.edu/users/cwilson/cygutils/cygipc/
I installed the RPC stuff into /usr and the IPC stuff in to /usr/local (using the precompiled tarball from that site).
You will have to install those before even attempting these steps. I have all the latest Cygwin packages installed on my Windows XP box as of 8:00 am January 19, 2003. And all this is happening on an AMD XP 1900+ running Windows XP. Email if you want more hardware details. I will be testing the binaries on XP and Windows 2000.
The following steps need to be undertaken to "fix" the Cygwin installation to compile Grid Engine:
1. Link /usr/lib/librpc.a to /usr/lib/librpclib.a 2. Link /usr/lib/libcygwin.a to /usr/lib/libdl.a 3. Link /usr/lib/libcygwin.a to /usr/lib/libg.a 4. Link /usr/X11R6/include/X11 to /usr/include/X11/
There are some tweaks to the source you will need to make to get Grid Engine to compile. 99% of the work revolves around defining a sub-target of LINUX6 called CYGWIN and adding the appropriate #if-type macros all over the place. I'm including a diff of the source module that describes all the changes. Make them and you're all set. I'd really like to hear people's comments on my approach to modifying the source for this port; never having touched the Grid Engine source before and all I'm not sure my style is the Grid Engine style.
The compilation process is done in two steps:
1. ./aimk -only-depend -no-intl 2. ./aimk -only-core -no-intl
I couldn't get I18N support going. Someone else can take a whack at that if they really want it.
That's it. The results end up in the source/LINUX6 directory. I'm also attaching a dump of the compile. There are a few warnings. If anyone thinks they need to go away, let me know.
--- Ian R. Chesal <ian....@utoronto.ca>