Version 2.3.0.11 released. On Mon, Feb 13, 2012 at 9:58 AM, Holger Reinhardt <[email protected]>wrote:
> Did as requested and everything seems to work fine. Test suite also passes: > > Test Cases Total > Passed 10 10 > Failed 0 0 > Total 10 10 > Test suite simple: PASS > > > > 2012/2/13 Johan Tibell <[email protected]> > >> I've merged and pushed the changes to the "stable" branch on GitHub. If >> someone could verify that it works fine on Windows, I'll make another >> release. >> >> In addition to running whatever program you're interested in, also run: >> >> cabal clean >> autoreconf >> cabal configure --enable-tests >> cabal build >> cabal test >> >> All tests should pass. >> >> -- Johan >> >> >> On Wed, Feb 8, 2012 at 11:04 AM, Johan Tibell <[email protected]>wrote: >> >>> I will merge this as soon as I get back from vacation. >>> On Feb 8, 2012 8:54 AM, "Holger Reinhardt" <[email protected]> wrote: >>> >>>> Having discussed the issue privately with Alberto, I've found another >>>> bug and updated my pull request [1]. Using that code it should be possible >>>> to build the network library on Windows using MSys on GHC 7.4.1. >>>> >>>> [1] https://github.com/haskell/network/pull/25 >>>> >>>> 2012/2/8 Alberto G. Corona <[email protected]> >>>> >>>>> yes i did it,. >>>>> >>>>> the error is as follows: >>>>> >>>>> shop.exe: NetworkSocket.hsc:(948,3)-(1007,23): Non-exhaustive patterns >>>>> in case >>>>> >>>>> I will download network form hackage and will do it form the >>>>> beginning. . >>>>> >>>>> >>>>> >>>>> 2012/2/8 Holger Reinhardt <[email protected]>: >>>>> > Did you run "cabal clean" before rebuilding with Git Bash? And can >>>>> you post >>>>> > the exact runtime error you get? >>>>> > >>>>> > 2012/2/8 Alberto G. Corona <[email protected]> >>>>> > >>>>> >> I switched to Git bash and the runtime error produced by the library >>>>> >> is the same. >>>>> >> This error may be produced because the configuration it does not >>>>> >> detect the netwiorkin related includes such is socket.h. This does >>>>> not >>>>> >> exist neither in the ghc installation neither in GIT/Mingw >>>>> >> >>>>> >> >>>>> >> 2012/2/7 Holger Reinhardt <[email protected]>: >>>>> >> > I just use the version of MSys that is included with Git [1]. >>>>> This puts >>>>> >> > a >>>>> >> > "Git bash" icon on your desktop which you can then use to build >>>>> the >>>>> >> > network >>>>> >> > library. >>>>> >> > >>>>> >> > [1] http://code.google.com/p/msysgit/ >>>>> >> > >>>>> >> > >>>>> >> > 2012/2/7 Alberto G. Corona <[email protected]> >>>>> >> >> >>>>> >> >> Nothing bur a long history of failures. The problem is the >>>>> >> >> configuration and versioning of MinGW and MSys. This is a >>>>> nighmare. >>>>> >> >> >>>>> >> >> 2012/2/7 Holger Reinhardt <[email protected]>: >>>>> >> >> > Oh you are using Cygwin. I'm using MSys so this is why I cannot >>>>> >> >> > reproduce >>>>> >> >> > your problem. Is there anything preventing you from using MSys? >>>>> >> >> > >>>>> >> >> > >>>>> >> >> > 2012/2/7 Alberto G. Corona <[email protected]> >>>>> >> >> >> >>>>> >> >> >> The "problem" this time is in "Configure" : >>>>> >> >> >> >>>>> >> >> >> case "$host" in >>>>> >> >> >> *-mingw32) >>>>> >> >> >> EXTRA_SRCS="cbits/initWinSock.c, cbits/winSockErr.c, >>>>> >> >> >> cbits/asyncAccept.c" >>>>> >> >> >> EXTRA_LIBS=ws2_32 >>>>> >> >> >> CALLCONV=stdcall ;; >>>>> >> >> >> *-solaris2*) >>>>> >> >> >> EXTRA_SRCS="cbits/ancilData.c" >>>>> >> >> >> EXTRA_LIBS="nsl, socket" >>>>> >> >> >> CALLCONV=ccall ;; >>>>> >> >> >> *) >>>>> >> >> >> EXTRA_SRCS="cbits/ancilData.c" >>>>> >> >> >> EXTRA_LIBS= >>>>> >> >> >> CALLCONV=ccall ;; >>>>> >> >> >> esac >>>>> >> >> >> >>>>> >> >> >> >>>>> >> >> >> >>>>> >> >> >> Since I´m cross-compiling with cygwin, the variable Host does >>>>> not >>>>> >> >> >> contain ¨*-muingw32" but "i686-pc-cygwin" >>>>> >> >> >> >>>>> >> >> >> changing the case , the library incorporates the lost C coded >>>>> files. >>>>> >> >> >> >>>>> >> >> >> Now the library links fine win imported, but there is a >>>>> runtime >>>>> >> >> >> error: >>>>> >> >> >> >>>>> >> >> >> NetworkSocket.hsc:(948,3)-(1007,23): Non-exhaustive patterns >>>>> in case >>>>> >> >> >> >>>>> >> >> >> maybe it is due to some other preprocessor directive mismatch >>>>> >> >> >> >>>>> >> >> >> >>>>> >> >> >> 2012/2/7 Holger Reinhardt <[email protected]>: >>>>> >> >> >> > Did you also change the files in the /cbits/ folder? >>>>> Because they >>>>> >> >> >> > also >>>>> >> >> >> > check >>>>> >> >> >> > for HAVE_WINSOCK_H. >>>>> >> >> >> > >>>>> >> >> >> > >>>>> >> >> >> > 2012/2/7 Alberto G. Corona <[email protected]> >>>>> >> >> >> >> >>>>> >> >> >> >> The code is evolving and none of the versions match >>>>> exactily with >>>>> >> >> >> >> the >>>>> >> >> >> >> patch, but substituting HAVE_WINSOCK by HAVE WINSOCK2 in >>>>> these >>>>> >> >> >> >> files >>>>> >> >> >> >> solves the compilation problem at least in the network >>>>> 2.3.0.10 >>>>> >> >> >> >> version from hackage. >>>>> >> >> >> >> >>>>> >> >> >> >> However it produces the same undefined references when this >>>>> >> >> >> >> library >>>>> >> >> >> >> is >>>>> >> >> >> >> imported in my application. It seems that some object code >>>>> is not >>>>> >> >> >> >> included in the final library. I verified that at least >>>>> some of >>>>> >> >> >> >> these >>>>> >> >> >> >> undefined references correspond with C code in the >>>>> source, but >>>>> >> >> >> >> somehow this is not included in the object library.... >>>>> >> >> >> >> >>>>> >> >> >> >> 2012/2/7 Johan Tibell <[email protected]>: >>>>> >> >> >> >> > Note that there are two branches on github, master and >>>>> stable. >>>>> >> >> >> >> > You >>>>> >> >> >> >> > want >>>>> >> >> >> >> > the >>>>> >> >> >> >> > latter. >>>>> >> >> >> >> > >>>>> >> >> >> >> > On Feb 7, 2012 8:23 AM, "Alberto G. Corona" >>>>> >> >> >> >> > <[email protected]> >>>>> >> >> >> >> > wrote: >>>>> >> >> >> >> >> >>>>> >> >> >> >> >> This is quite different. >>>>> >> >> >> >> >> I don´t know how but I was looking at some other older >>>>> patch >>>>> >> >> >> >> >> around >>>>> >> >> >> >> >> the same issue and I supposed that it was the one >>>>> refered by >>>>> >> >> >> >> >> Yohan >>>>> >> >> >> >> >> Tibell. >>>>> >> >> >> >> >> >>>>> >> >> >> >> >> I´ll try your patch. >>>>> >> >> >> >> >> >>>>> >> >> >> >> >> Thanks!. >>>>> >> >> >> >> >> >>>>> >> >> >> >> >> 2012/2/7 Holger Reinhardt <[email protected]>: >>>>> >> >> >> >> >> > Hi, >>>>> >> >> >> >> >> > >>>>> >> >> >> >> >> > (I submitted the patch that Johan linked to) >>>>> >> >> >> >> >> > Network/Socket/Internal.hsc has the following code: >>>>> >> >> >> >> >> > >>>>> >> >> >> >> >> > #if defined(WITH_WINSOCK) || defined(cygwin32_HOST_OS) >>>>> >> >> >> >> >> > type CSaFamily = (#type unsigned short) >>>>> >> >> >> >> >> > #elif defined(darwin_HOST_OS) >>>>> >> >> >> >> >> > type CSaFamily = (#type u_char) >>>>> >> >> >> >> >> > #else >>>>> >> >> >> >> >> > type CSaFamily = (#type sa_family_t) >>>>> >> >> >> >> >> > #endif >>>>> >> >> >> >> >> > >>>>> >> >> >> >> >> > You have patched this part to always use 'unsigned >>>>> short'. >>>>> >> >> >> >> >> > But >>>>> >> >> >> >> >> > the >>>>> >> >> >> >> >> > real >>>>> >> >> >> >> >> > issue is that WITH_WINSOCK is not defined, even >>>>> though it >>>>> >> >> >> >> >> > should >>>>> >> >> >> >> >> > be. The >>>>> >> >> >> >> >> > reason for this lies in include/HsNet.h: >>>>> >> >> >> >> >> > >>>>> >> >> >> >> >> > #if defined(HAVE_WINSOCK_H) && >>>>> !defined(cygwin32_HOST_OS) >>>>> >> >> >> >> >> > # define WITH_WINSOCK 1 >>>>> >> >> >> >> >> > #endif >>>>> >> >> >> >> >> > >>>>> >> >> >> >> >> > The problem here is that it checks for >>>>> HAVE_WINSOCK_H, but >>>>> >> >> >> >> >> > the >>>>> >> >> >> >> >> > configure >>>>> >> >> >> >> >> > script never defines this variable. Instead it >>>>> >> >> >> >> >> > defines HAVE_WINSOCK2_H. >>>>> >> >> >> >> >> > It >>>>> >> >> >> >> >> > seems that the network library used Winsock1 in the >>>>> past and >>>>> >> >> >> >> >> > in >>>>> >> >> >> >> >> > the >>>>> >> >> >> >> >> > transition to Winsock2 someone forgot to change a few >>>>> of the >>>>> >> >> >> >> >> > #ifdefs. >>>>> >> >> >> >> >> > >>>>> >> >> >> >> >> > My patch just changes all occurences of HAVE_WINSOCK_H >>>>> >> >> >> >> >> > to HAVE_WINSOCK2_H. >>>>> >> >> >> >> >> > You might want to try that and report back if it >>>>> works for >>>>> >> >> >> >> >> > you. >>>>> >> >> >> >> >> > >>>>> >> >> >> >> >> > 2012/2/7 Alberto G. Corona <[email protected]> >>>>> >> >> >> >> >> >> >>>>> >> >> >> >> >> >> Hi Johan, >>>>> >> >> >> >> >> >> The patch is not for the current version of network >>>>> and the >>>>> >> >> >> >> >> >> code >>>>> >> >> >> >> >> >> is >>>>> >> >> >> >> >> >> quite different. Basically it is necesary to define >>>>> this >>>>> >> >> >> >> >> >> variable >>>>> >> >> >> >> >> >> as >>>>> >> >> >> >> >> >> "unsigned short" that is the thing intended in the >>>>> patch. >>>>> >> >> >> >> >> >> however >>>>> >> >> >> >> >> >> I >>>>> >> >> >> >> >> >> put it by brute force, without regard of the >>>>> prerpocessor >>>>> >> >> >> >> >> >> directives. >>>>> >> >> >> >> >> >> With this change the code compiles well with: >>>>> >> >> >> >> >> >> >>>>> >> >> >> >> >> >> >>>>> >> >> >> >> >> >> >>>>> >> >> >> >> >> >> >>>>> >> >> >> >> >> >> >>>>> >> >> >> >> >> >> >>>>> >> >> >> >> >> >> >>>>> >> >> >> >> >> >> >>>>> http://neilmitchell.blogspot.com/2010/12/installing-haskell-network-library-on.html >>>>> >> >> >> >> >> >> >>>>> >> >> >> >> >> >> However my compiled library lack the methods defined >>>>> as >>>>> >> >> >> >> >> >> foreign. >>>>> >> >> >> >> >> >> I´ll >>>>> >> >> >> >> >> >> keep trying. >>>>> >> >> >> >> >> >> >>>>> >> >> >> >> >> >> 2012/2/6 Johan Tibell <[email protected]>: >>>>> >> >> >> >> >> >> > Hi, >>>>> >> >> >> >> >> >> > >>>>> >> >> >> >> >> >> > Someone recently contributed a fix that should make >>>>> >> >> >> >> >> >> > network >>>>> >> >> >> >> >> >> > build >>>>> >> >> >> >> >> >> > with >>>>> >> >> >> >> >> >> > 7.4: https://github.com/haskell/network/pull/25 >>>>> >> >> >> >> >> >> > >>>>> >> >> >> >> >> >> > Can you see if that works for you? I haven't yet >>>>> had time >>>>> >> >> >> >> >> >> > to >>>>> >> >> >> >> >> >> > merge >>>>> >> >> >> >> >> >> > and >>>>> >> >> >> >> >> >> > release that fix (I'm on vacation.) >>>>> >> >> >> >> >> >> > >>>>> >> >> >> >> >> >> > -- Johan >>>>> >> >> >> >> >> >> > >>>>> >> >> >> >> >> >> >>>>> >> >> >> >> >> >> _______________________________________________ >>>>> >> >> >> >> >> >> Haskell-Cafe mailing list >>>>> >> >> >> >> >> >> [email protected] >>>>> >> >> >> >> >> >> http://www.haskell.org/mailman/listinfo/haskell-cafe >>>>> >> >> >> >> >> > >>>>> >> >> >> >> >> > >>>>> >> >> >> > >>>>> >> >> >> > >>>>> >> >> > >>>>> >> >> > >>>>> >> > >>>>> >> > >>>>> > >>>>> > >>>>> >>>> >>>> >>>> _______________________________________________ >>>> Haskell-Cafe mailing list >>>> [email protected] >>>> http://www.haskell.org/mailman/listinfo/haskell-cafe >>>> >>>> >> >
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
