Network on GHC 6.12 with Windows
Neil Mitchell
ndmitchell at gmail.com
Mon Jan 4 15:14:58 EST 2010
Hi,
For people who were following this thread, we've got a resolution:
* Upgrade to the latest network package.
* Make sure you have Cygwin or Mingw installed.
* Make sure the gcc on your path is NOT the Mingw/Cygwin one, but the
C:\ghc\ghc-6.12.1\mingw\bin\gcc.exe.
With those changes I was able to install the network package.
It's a real shame I can't install it from a standard Windows shell,
but I guess I just have to wait for the platform to get that bit
working.
Thanks, Neil
2009/11/24 Neil Mitchell <ndmitchell at gmail.com>:
> Hi Johan,
>
> I get a different behaviour, but it's not all good. I seem to fail
> during the configure stage now - complete output below.
>
> Thanks, Neil
>
> $ ghc --version
> The Glorious Glasgow Haskell Compilation System, version 6.12.0.20091121
>
> $ darcs get http://code.haskell.org/network
> Copying patch 329 of 329... done.
> Applying patch 329 of 329... done.
> Finished getting.
>
> $ cd network
>
> $ wget http://johantibell.com/gamr7networkpatch.dpatch
> --2009-11-24 15:32:54-- http://johantibell.com/gamr7networkpatch.dpatch
> Length: 3178 (3.1K) [application/octet-stream]
> Saving to: `gamr7networkpatch.dpatch'
>
> 100%[======================================>] 3,178 --.-K/s in 0.002s
>
> 2009-11-24 15:32:54 (1.60 MB/s) - `gamr7networkpatch.dpatch' saved [3178/3178]
>
> $ darcs apply gamr7networkpatch.dpatch
> Finished applying...
>
> $ autoreconf
>
> $ runhaskell Setup configure
>
> Setup.hs:3:0:
> Warning: In the use of `defaultUserHooks'
> (imported from Distribution.Simple):
> Deprecated: "Use simpleUserHooks or autoconfUserHooks,
> unless you need Cabal-1.2
> compatibility in which case you must stick with defaultUserHooks"
> Warning: defaultUserHooks in Setup script is deprecated.
> Configuring network-2.2.1.5...
> configure: WARNING: unrecognized options: --with-hc
> checking build system type... i686-pc-cygwin
> checking host system type... i686-pc-cygwin
> checking for gcc... gcc
> checking for C compiler default output file name... a.exe
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables... .exe
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc accepts -g... yes
> checking for gcc option to accept ISO C89... none needed
> checking for an ANSI C-conforming const... yes
> checking how to run the C preprocessor... gcc -E
> checking for grep that handles long lines and -e... /usr/bin/grep
> checking for egrep... /usr/bin/grep -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking fcntl.h usability... yes
> checking fcntl.h presence... yes
> checking for fcntl.h... yes
> checking limits.h usability... yes
> checking limits.h presence... yes
> checking for limits.h... yes
> checking for stdlib.h... (cached) yes
> checking for sys/types.h... (cached) yes
> checking for unistd.h... (cached) yes
> checking winsock2.h usability... no
> checking winsock2.h presence... yes
> configure: WARNING: winsock2.h: present but cannot be compiled
> configure: WARNING: winsock2.h: check for missing prerequisite headers?
> configure: WARNING: winsock2.h: see the Autoconf documentation
> configure: WARNING: winsock2.h: section "Present But Cannot Be Compiled"
> configure: WARNING: winsock2.h: proceeding with the compiler's result
> configure: WARNING: ## ------------------------------------ ##
> configure: WARNING: ## Report this to libraries at haskell.org ##
> configure: WARNING: ## ------------------------------------ ##
> checking for winsock2.h... no
> checking ws2tcpip.h usability... no
> checking ws2tcpip.h presence... yes
> configure: WARNING: ws2tcpip.h: present but cannot be compiled
> configure: WARNING: ws2tcpip.h: check for missing prerequisite headers?
> configure: WARNING: ws2tcpip.h: see the Autoconf documentation
> configure: WARNING: ws2tcpip.h: section "Present But Cannot Be Compiled"
> configure: WARNING: ws2tcpip.h: proceeding with the compiler's result
> configure: WARNING: ## ------------------------------------ ##
> configure: WARNING: ## Report this to libraries at haskell.org ##
> configure: WARNING: ## ------------------------------------ ##
> checking for ws2tcpip.h... no
> checking wspiapi.h usability... no
> checking wspiapi.h presence... no
> checking for wspiapi.h... no
> checking arpa/inet.h usability... yes
> checking arpa/inet.h presence... yes
> checking for arpa/inet.h... yes
> checking netdb.h usability... yes
> checking netdb.h presence... yes
> checking for netdb.h... yes
> checking netinet/in.h usability... yes
> checking netinet/in.h presence... yes
> checking for netinet/in.h... yes
> checking netinet/tcp.h usability... yes
> checking netinet/tcp.h presence... yes
> checking for netinet/tcp.h... yes
> checking sys/socket.h usability... yes
> checking sys/socket.h presence... yes
> checking for sys/socket.h... yes
> checking sys/uio.h usability... yes
> checking sys/uio.h presence... yes
> checking for sys/uio.h... yes
> checking sys/un.h usability... yes
> checking sys/un.h presence... yes
> checking for sys/un.h... yes
> checking for readlink... yes
> checking for symlink... yes
> checking for struct msghdr.msg_control... yes
> checking for struct msghdr.msg_accrights... no
> checking for struct sockaddr.sa_len... no
> checking for in_addr_t in netinet/in.h... yes
> checking for SO_PEERCRED and struct ucred in sys/socket.h... yes
> checking for _head_libws2_32_a in -lws2_32... yes
> checking for getaddrinfo... no
> checking for getaddrinfo if WINVER is 0x0501... no
> checking for gai_strerror... no
> checking whether AI_ADDRCONFIG is declared... no
> checking whether AI_ALL is declared... no
> checking whether AI_NUMERICSERV is declared... no
> checking whether AI_V4MAPPED is declared... no
> checking for sendfile in sys/sendfile.h... no
> checking for sendfile in sys/socket.h... no
> checking for gethostent... no
> configure: creating ./config.status
> config.status: creating network.buildinfo
> config.status: creating include/HsNetworkConfig.h
> configure: WARNING: unrecognized options: --with-hc
> Setup: Missing dependency on a foreign library:
> * Missing header file: HsNet.h
> This problem can usually be solved by installing the system package that
> provides this library (you may need the "-dev" version). If the library is
> already installed but in a non-standard location then you can use the flags
> --extra-include-dirs= and --extra-lib-dirs= to specify where it is.
>
> $ runhaskell Setup build
>
> Setup.hs:3:0:
> Warning: In the use of `defaultUserHooks'
> (imported from Distribution.Simple):
> Deprecated: "Use simpleUserHooks or autoconfUserHooks,
> unless you need Cabal-1.2
> compatibility in which case you must stick with defaultUserHooks"
> Preprocessing library network-2.2.1.5...
> In file included from Network\BSD.hsc:17:
> include/HsNet.h:78:22: sys/uio.h: No such file or directory
> include/HsNet.h:81:25: sys/socket.h: No such file or directory
> include/HsNet.h:84:26: netinet/tcp.h: No such file or directory
> include/HsNet.h:87:25: netinet/in.h: No such file or directory
> include/HsNet.h:90:21: sys/un.h: No such file or directory
> include/HsNet.h:93:24: arpa/inet.h: No such file or directory
> include/HsNet.h:96:19: netdb.h: No such file or directory
> In file included from Network\BSD.hsc:17:
> include/HsNet.h:138: error: syntax error before "addr"
> include/HsNet.h: In function `my_inet_ntoa':
> include/HsNet.h:146: error: storage size of 'a' isn't known
> include/HsNet.h:147: error: `addr' undeclared (first use in this function)
> include/HsNet.h:147: error: (Each undeclared identifier is reported only once
> include/HsNet.h:147: error: for each function it appears in.)
> include/HsNet.h:148: warning: return makes pointer from integer without a cast
> Network\BSD.hsc: In function `main':
> Network\BSD.hsc:149: error: invalid application of `sizeof' to
> incomplete type `servent'
> Network\BSD.hsc:149: error: invalid application of `sizeof' to
> incomplete type `servent'
> Network\BSD.hsc:149: error: invalid application of `sizeof' to
> incomplete type `servent'
> Network\BSD.hsc:153: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:154: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:157: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:158: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:253: error: invalid application of `sizeof' to
> incomplete type `protoent'
> Network\BSD.hsc:253: error: invalid application of `sizeof' to
> incomplete type `protoent'
> Network\BSD.hsc:253: error: invalid application of `sizeof' to
> incomplete type `protoent'
> Network\BSD.hsc:257: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:258: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:265: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:343: error: invalid application of `sizeof' to
> incomplete type `hostent'
> Network\BSD.hsc:343: error: invalid application of `sizeof' to
> incomplete type `hostent'
> Network\BSD.hsc:343: error: invalid application of `sizeof' to
> incomplete type `hostent'
> Network\BSD.hsc:347: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:348: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:351: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:353: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:452: error: invalid application of `sizeof' to
> incomplete type `hostent'
> Network\BSD.hsc:452: error: invalid application of `sizeof' to
> incomplete type `hostent'
> Network\BSD.hsc:452: error: invalid application of `sizeof' to
> incomplete type `hostent'
> Network\BSD.hsc:456: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:457: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:460: error: dereferencing pointer to incomplete type
> Network\BSD.hsc:461: error: dereferencing pointer to incomplete type
> compiling dist\build\Network\BSD_hsc_make.c failed
> command was: C:\ghc\ghc-6.12.1-rc2\mingw\bin\gcc.exe -c
> -D__GLASGOW_HASKELL__=612 -Iinclude -DCALLCONV=ccall -DBASE4
> -IC:\ghc\ghc-6.12.1-rc2\base-4.2.0.0\include
> -IC:\ghc\ghc-6.12.1-rc2/include -IC:\ghc\ghc-6.12.1-rc2/include
> -IC:/ghc/ghc-6.12.1-rc2/lib/include/ dist\build\Network\BSD_hsc_make.c
> -o dist\build\Network\BSD_hsc_make.o
>
More information about the Libraries
mailing list