On 11/8/2010 7:45 AM, Andy Koppe wrote: > On 8 November 2010 12:29, Ken Brown wrote: >> You can see 'g++-3 -mno-cygwin' in the link command that I >> quoted in my original post.
You're right. Sorry for the confusion. >> There must be some other reason that >> /usr/lib/libuuid.a is used. >> > > It's due to a name clash between the unrelated libuuid and UUID.DLL. > It's aiming for /usr/lib/w32api/libuuid.a rather than > /usr/lib/libuuid.a. The workaround is to uninstall libuuid-devel. See > also http://www.cygwin.com/ml/cygwin/2010-06/msg00601.html. ...and Andy's correct. This is a (long-standing) problem with the -mno-cygwin mode: it tends to "mix" cygwin libs in /usr/lib and the "native" ones in /usr/lib/w32api/ together (which is very bad). The cross compiler setups do not have this problem (but, AFAIK, the mingw64-* based cross compilers aren't official supported for building setup.exe...which means we(*) need to get off the stick and publish a mingw.org-based cross compiler soon). If you want to use gcc-3, then the two workarounds are, as Andy suggests, to uninstall libuuid-devel, or to modify the Makefile[|.in|.am] that specifies -luuid and explicitly refer to /usr/lib/w32api/libuuid.a instead. (*) For various values of "we". -- Chuck
