[BuildTools] Drive letters for Windows

Kipp Martin kipp.martin at chicagogsb.edu
Thu May 17 19:39:38 EDT 2007


Hi Lou:

One problem is that there are at least FIVE Windows "platforms" for 
building COIN-OR projects.

Platform 1) MS Visual Studio / cl compiler --  with this platform I 
think the problems I mentioned in the previous email will occur. Since 
DYLP_ERRMSGDIR will not get defined from configure.ac/configure there 
will be the seperator problem we talked about that arises from the

#ifndef DYLP_ERRMSGDIR  #endif block

One solution is for users of this platform is to define the environment 
variable DYLP_ERRMSGDIR using System/Advanced/Environment Variables. 
Then they still have the problem with

string errfile = string(DYLP_ERRMSGDIR)+string("/dy_errmsgs.txt")
unless, as you suggest, putting the / in with DYLP_ERRMSGDIR.

Platform 2) Cygwin and gcc compiler. I tried this last night and it 
works with no problem on Dylp (and my other COIN-OR) projects. Of course 
this is a pure "Unix" environment so I would expect the 
configure.ac/configure to work.

Platform 3) Mingw and gcc -- Jun is going to be testing this. I don't 
think there will be a problem -- Jun would you confirm that you don't 
get the

errinit: couldn't open error message text file 
"/home/kmartin/COIN-OS/DyLP/src/Dylp/dy_errmsgs.txt".

errinit: only numeric error codes will be reported

error upon completion of our unitTest

Platform 4) Cygwin with cl -- evidently  this is the platform you chose 
and it worked.  What does DYLP_ERRMSGDIR end up getting set to?

Platform 5) Msys and cl -- I just can't get this to work. Part of the 
probelm is that DYLP_ERRMSGDIR is being defined in your configure.ac. 
The shell (in this case Msys) thinks like a unix shell and acts 
accordingly and uses / as the seperator (and also thinks the root is 
/home/kmartin). But the cl compiler wants (I think) \ and 
c:\Msys\1.0\home\kmartin.  So somehow configure needs to determine that 
if both cl and mingw (msys) are present to use \ and not /.  I tried to 
define DYLP_ERRMSGDIR in my configure by

./configure DYLP_ERRMSGDIR='Path to file'

However, I just cannot get this to work. I try all sorts of combinations 
of / or \ or \\ and nothing works. It just can't find file 
dy_errmsgs.txt even though it is there.


> 	I can hear you typing ``Just get Msys ..."    :-)
> 

Actually, I am typing "Just get a Mac, just get a Mac ..."

Cheers,

-- 
Kipp Martin
Professor of Operations Research
	and Computing Technology
University of Chicago
Graduate School of Business
5807 South Woodlawn Avenue
Chicago IL 60637
773-702-7456
http://gsbkip.chicagogsb.edu
http://www.coin-or.org/


More information about the BuildTools mailing list