<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
For those interested, the patch for&nbsp;parsing the paths that contain spaces (windows installs of mysql), I passed along the changes&nbsp;for Setup.lhs so that the split skips spaces inside quotes:<BR>
&nbsp;<BR>
<FONT face="Courier New">mysqlBuildInfo :: LocalBuildInfo -&gt; IO BuildInfo<BR>mysqlBuildInfo lbi = do<BR>&nbsp; let mysqlConfig = rawSystemProgramStdoutConf verbosity mysqlConfigProgram (withPrograms lbi)<BR>&nbsp; includeDirs &lt;- return . map <FONT style="BACKGROUND-COLOR: #ffff00" color=#000000>(dropWhile (\x -&gt; elem x "-I") ) . split </FONT>=&lt;&lt; mysqlConfig ["--include"]<BR>&nbsp; ldOptions&nbsp;&nbsp; &lt;- return . split =&lt;&lt; mysqlConfig ["--libs"]</FONT><BR>
<FONT face="Courier New">&nbsp; return emptyBuildInfo {<BR>&nbsp;&nbsp;&nbsp; ldOptions&nbsp;&nbsp; = ldOptions,<BR>&nbsp;&nbsp;&nbsp; includeDirs = includeDirs<BR>&nbsp; }<BR>&nbsp; where<BR>&nbsp;&nbsp;&nbsp; verbosity = normal -- honestly, this is a hack</FONT><BR>
<FONT face="Courier New"></FONT>&nbsp;<BR>
<FONT style="BACKGROUND-COLOR: #ffff00" face="Courier New">split :: [Char] -&gt; [[Char]]<BR>split </FONT><A href="mailto:xs@(l:lx"><FONT style="BACKGROUND-COLOR: #ffff00" face="Courier New">xs@(l:lx</FONT></A><FONT style="BACKGROUND-COLOR: #ffff00" face="Courier New">) = if (elem '\"' xs)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then let x = dropWhile (== '"') xs<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y = takeWhile (/= '"') x<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in&nbsp; y : split ( dropWhile (\n -&gt; elem n "\" \r\n\t") (drop (length y) x))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else let x = takeWhile (\n -&gt; not (elem n " \r\n\t") ) xs<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; in x : split ( dropWhile (\n -&gt; elem n " \r\n\t") (drop (length x) xs))<BR>split [] = []<BR></FONT><BR>
&nbsp;<BR>
This hasn't fixed everything, such that I have a complete install of HDBC-mysql on&nbsp;Windows, but it is a step.<BR>
&nbsp;<BR>
Roderick<BR><BR>&nbsp;<BR>
<HR id=stopSpelling>
Subject: Re: hdbc-mysql on windows<BR>From: waterson@maubi.net<BR>Date: Fri, 19 Mar 2010 11:18:20 -0700<BR>CC: haskell-cafe@haskell.org<BR>To: developer@live.com<BR><BR><BASE>Roderick, thanks for passing this along. &nbsp;To be honest, I haven't tried to build this on Windows yet. &nbsp;I have an old PC that I keep meaning to get things going on. &nbsp;If you're able to get things working, I'd be more than happy to integrate any changes that you want to send along... patches are very much appreciated! :)
<DIV><BR></DIV>
<DIV>thanks!</DIV>
<DIV>chris</DIV>
<DIV><BR>
<DIV>
<DIV>On Mar 18, 2010, at 1:46 PM, Roderick Ford wrote:</DIV><BR class=ecxApple-interchange-newline>
<BLOCKQUOTE><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium 'Courier New'; WHITE-SPACE: normal; LETTER-SPACING: normal; WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt" class=ecxhmmessage>Hello,<BR>In order to build (cabal install HDBC-mysql) the HDBC-mysql package, I am having to make the following changes:<BR>&nbsp;<BR>(1) I had to change the mysql (5.1.45 community distrib msi) to use a wrapper exe on the mysql_config.pl and put this in c:\program files\mysql\bin since although the c:\program files\mysql\scripts\, where mysql_config.pl resides,&nbsp;was in the path, even the commandline call to it was not finding or using&nbsp;it...very strange.&nbsp; This of course doesn't directly have to do with the HDBC-mysql package.&nbsp;<SPAN class=ecxApple-converted-space>&nbsp;</SPAN><BR>--The quick wrapper was:<BR>import System.Environment(getArgs)<BR>import System.Process(readProcessWithExitCode)<BR>import System.Exit(exitWith,ExitCode(ExitSuccess))<BR>main = do<BR>&nbsp;args &lt;- getArgs<BR>&nbsp;(ecode,out,err) &lt;- readProcessWithExitCode "c:<A>\\Perl64\\bin\\perl.exe</A>" ("C:<A>\\Program</A><SPAN class=ecxApple-converted-space>&nbsp;</SPAN>Files\\MySQL\\scripts\\mysql_config.pl" : args) ""<BR>&nbsp;if ecode == ExitSuccess<BR>&nbsp;&nbsp;then mapM_ putStrLn (lines out)<BR>&nbsp;&nbsp;else mapM_ putStrLn (lines err)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exitWith ecode<BR>&nbsp;<BR>--&nbsp;so now the output is:<SPAN class=ecxApple-converted-space>&nbsp;</SPAN><BR>"C:\Program Files\MySQL\lib\mysqlclient.lib" "wsock32.lib" "advapi32.lib" "user3<BR>2.lib"<BR><BR>&nbsp;<BR>(2) Once that was done, the "cabal install HDBC-mysql" call was able to find the mysql_config. However, it was splitting the values returned by mysql_config on space, and thus failed to find mysql.h, as the resulting command was:<BR>&nbsp;<BR>C:\Program Files (x86)\Haskell Platform\2009.2.0.2\gcc.exe -c -BC:\<BR>Program Files (x86)\Haskell Platform\2009.2.0.2\gcc-lib -IC:\Program Files (x86)<BR>\Haskell Platform\2009.2.0.2\include\mingw -D__GLASGOW_HASKELL__=610 -IIC:\Program -Iles\MySQL\include\mysql" ...<BR>&nbsp;<BR>-- then I tried taking the -I out of the mysql_config.pl script and got the following from the "cabal install HDBC-mysql"<BR>command was: C:\Program Files (x86)\Haskell Platform\2009.2.0.2\gcc.exe -c -BC:\<BR>Program Files (x86)\Haskell Platform\2009.2.0.2\gcc-lib -IC:\Program Files (x86)<BR>\Haskell Platform\2009.2.0.2\include\mingw -D__GLASGOW_HASKELL__=610 -I:\Program&nbsp;-Iles\MySQL\include\mysql" ... blah blah blah<BR>cabal: Error: some packages failed to install:<BR>HDBC-mysql-0.6.1 failed during the building phase. The exception was:<BR>exit: ExitFailure 1<BR>&nbsp;<BR>&nbsp;<BR>... so finally I am downloading your package to see if I can figure out a fix for windows boxes.&nbsp; Just thought I would give you a heads up on this windows-related bug.<BR>&nbsp;<BR>Thanks,<BR>Roderick<BR>&nbsp;<BR></DIV></SPAN></BLOCKQUOTE></DIV><BR></DIV>                                               </body>
</html>