[OS] Mods to fix ASL & socket library specs

Kipp Martin kipp.martin at chicagogsb.edu
Mon Sep 17 18:29:24 EDT 2007


Hi Lou:

First, thanks for doing this, we really appreciate the help.


To get all of this going looks like some really serious hours on my 
part.  I have to teach a brand new course to 220 students Wednesday and 
Thursday so I am not going to be able to do much in the next few days.

I will dive in ASAP.

Thanks again,


> 
> 	Andreas, you're geting this by virtue of changes to build files in
> ThirdParty/ASL and Data/Samples. Since ASL is used many places, I wanted to
> give an opportunity for more testing before committing changes there.
> 
> 	I think I've managed to work out the configuration issues on Windows,
> for the Msys/cl, Mingw (no-cygwin), and Cygwin environments. Attached is a tar
> file with the modified files --- you'll need to run BuildTools/run_autotools
> after installing them. They apply to the current head of OS/trunk.
> 
> 	Data/Samples is trivial. It needs to call COIN_PROG_CC in order to
> get CPPFLAGS correct under -mno-cygwin. Otherwise it incorrectly concludes
> that gzlib is useable. The hazard only shows when configuring with cache
> (-C) and Data/Samples is configured before any other project that checks
> this --- once cached, the result persists.
> 
> 	ThirdParty/ASL now passes the compilation flags determined by
> COIN_PROG_CC as a command line parameter to the nmake call. This overrides the
> setting in makefile.vc, which is what we want. The call to compile_MS_ASL now
> works from the makefile (a bit of Googling turned up the reason this didn't
> work; see note in compile_MS_ASL). Andreas, you might want to convert the code
> for the unix case into a shell script in the same manner. Easier than wedging
> it into the makefile case.
> 
> 	Kipp, Jun, Bob, I've done some violence to your configuration files,
> so you'll want to test this carefully. The changes involve autodetecting the
> correct way to handle sockets. I've written a macro (now in OS/m4) to do
> this. It prefers Winsock when available; this matches the behaviour of the OS
> code. A complication here is that Cygwin can swing both ways, while OS
> currently forces Winsock under Cygwin. Once the macro sees which headers are
> available, it tries various combinations of library specifications. Basically,
> the various fake Unix environs need -lwsock32, Msys/cl wants wsock32.lib,
> Solaris wants -lsocket -lnsl, and Linux (GCC in general?) doesn't need
> anything. The library spec now goes into ADDLIBS and thus into os_addlibs.txt,
> the standard COIN places.
> 
> 	In the process, I did radical surgery on OS/configure.ac and a bunch
> of Makefile.am's. OS/configure.ac is now much closer to the canonical COIN
> order of actions. I tried to chop WINSOCKLIBS from the Makefile.am's, but may
> have missed a few. To confuse the issue, I covered my bets by setting it in
> the AC_COIN_OS_SOCKET_LIBS macro and then set ADDLIBS in OS/configure.ac. Some
> grooming might be in order, but I figure better you than me, as you are more
> familiar with OS and can test more thoroughly.
> 
> 	Tested in these environments, debug build only so far:
> 
>   * Msys / cl (i.e., Msys with --enable-doscompile=msvc)
>   * Mingw (i.e., Cygwin with --enable-doscompile=mingw, the dread -mno-cygwin)
>   * Cygwin
>   * Solaris 10 / Studio
>   * Fedora 7 / GCC
> 
> Mac OSX is notably absent; I leave that to you. The only build that includes
> Ipopt is the Fedora build, and it dies with this message:
> 
> Exception of type: LAPACK_NOT_INCLUDED in file
> "/devel/Coin-Trunk/Coin-OS/Ipopt/src/LinAlg/IpLapack.cpp" at line 65:
>  Exception message: Ipopt has been compiled without LAPACK routine DPOTRF, but
>  options are chosen that require this dependency.  Abort.
> 
>  EXIT: Some uncaught Ipopt exception encountered.
>  Finish Ipopt Optimize
> 
> which is not surprising since I built Ipopt without Lapack. Might want to
> change the OS test to allow for this.
> 
> 						Lou
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> OS mailing list
> OS at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/os


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


More information about the OS mailing list