Skip to content

network-2.6.3.2 broken on GHC 7.4.2 #253

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
hvr opened this issue May 31, 2017 · 8 comments
Closed

network-2.6.3.2 broken on GHC 7.4.2 #253

hvr opened this issue May 31, 2017 · 8 comments
Assignees

Comments

@hvr
Copy link
Member

hvr commented May 31, 2017

I've already revised the meta-data: https://hackage.haskell.org/package/network-2.6.3.2/revisions/

I see that the .travis.yml file doesn't test all versions of base that the .cabal file advertises support for; that often leads to this kind of breakage; and in the case of network it's especially bad since it's one of the most depended upon packages, so it should have a respectively high QA.

If you don't want to support older GHCs that's fine, but please use accurate version bounds matching what is actually CI tested and thus expected to work, to keep Hackage from suddenly breaking all install plans which include network when something like this happens! :-)

Configuring component lib from network-2.6.3.2...
configure: WARNING: unrecognized options: --with-compiler
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for gcc... /usr/bin/gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/bin/gcc accepts -g... yes
checking for /usr/bin/gcc option to accept ISO C89... none needed
checking for an ANSI C-conforming const... yes
checking how to run the C preprocessor... /usr/bin/gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /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... no
checking for winsock2.h... no
checking ws2tcpip.h usability... no
checking ws2tcpip.h presence... no
checking for ws2tcpip.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 linux/can.h usability... yes
checking linux/can.h presence... yes
checking for linux/can.h... yes
checking linux/tcp.h usability... yes
checking linux/tcp.h presence... yes
checking for linux/tcp.h... yes
checking net/if.h usability... yes
checking net/if.h presence... yes
checking for net/if.h... yes
checking for readlink... yes
checking for symlink... yes
checking for if_nametoindex... 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 getpeereid in unistd.h... checking for getpeereid... no
checking for _head_libws2_32_a in -lws2_32... no
checking for getaddrinfo... yes
checking for gai_strerror... yes
checking whether AI_ADDRCONFIG is declared... yes
checking whether AI_ALL is declared... yes
checking whether AI_NUMERICSERV is declared... yes
checking whether AI_V4MAPPED is declared... yes
checking whether IPV6_V6ONLY is declared... yes
checking whether IPPROTO_IP is declared... yes
checking whether IPPROTO_TCP is declared... yes
checking whether IPPROTO_IPV6 is declared... yes
checking for sendfile in sys/sendfile.h... yes
checking for sendfile in sys/socket.h... no
checking for gethostent... yes
checking for accept4... yes
configure: creating ./config.status
config.status: creating network.buildinfo
config.status: creating include/HsNetworkConfig.h
config.status: include/HsNetworkConfig.h is unchanged
configure: WARNING: unrecognized options: --with-compiler
Preprocessing library network-2.6.3.2...
[ 1 of 11] Compiling Network.Socket.ByteString.IOVec ( /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket/ByteString/IOVec.hs, /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket/ByteString/IOVec.o )
[ 2 of 11] Compiling Network.Socket.Types ( /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket/Types.hs, /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket/Types.o )
[ 3 of 11] Compiling Network.Socket.Internal ( /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket/Internal.hs, /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket/Internal.o )
[ 4 of 11] Compiling Network.Socket   ( /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket.hs, /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket.o )
[ 5 of 11] Compiling Network.Socket.ByteString.MsgHdr ( /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket/ByteString/MsgHdr.hs, /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket/ByteString/MsgHdr.o )
[ 6 of 11] Compiling Network.Socket.ByteString.Internal ( Network/Socket/ByteString/Internal.hs, /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket/ByteString/Internal.o )
[ 7 of 11] Compiling Network.Socket.ByteString ( /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket/ByteString.hs, /tmp/matrix-worker/1496245591/dist-newstyle/build/x86_64-linux/ghc-7.4.2/network-2.6.3.2/build/Network/Socket/ByteString.o )

Network/Socket/ByteString.hsc:229:9:
    Ambiguous occurrence `catch'
    It could refer to either `Prelude.catch',
                             imported from `Prelude' at Network/Socket/ByteString.hsc:25:8-32
                             (and originally defined in `System.IO.Error')
                          or `Control.Exception.catch',
                             imported from `Control.Exception' at Network/Socket/ByteString.hsc:46:27-31
                             (and originally defined in `Control.Exception.Base')
@kazu-yamamoto
Copy link
Collaborator

@hvr Should we replace "base >= 3" with "base >= 4.7"?

https://ghc.haskell.org/trac/ghc/wiki/Commentary/Libraries/VersionHistory

@eborden I would like to add GHC 8.2.1 for travis.

See: haskell-tls/hs-tls#233

@hvr
Copy link
Member Author

hvr commented Jun 1, 2017

Should we replace "base >= 3" with "base >= 4.7"?

Yes, that would be the reasonable choice given the CI test-coverage! :-)

Btw, the Travis CI script was generated by a rather old version of my travis script generator. If you want I can generate a new one for you which also includes GHC 8.2.1.

@eborden
Copy link
Collaborator

eborden commented Jun 1, 2017

@kazu-yamamoto That all sounds fine to me. @hvr would you like to open a PR with the updated script?

@hvr
Copy link
Member Author

hvr commented Jun 1, 2017

@eborden I'm on it... see #254

@kazu-yamamoto
Copy link
Collaborator

kazu-yamamoto commented Dec 14, 2017

Currently, we are testing network with GHC 7.8.4, 7.10.3, 8.0.2 and 8.2.2 (on the travis branch).
Do we still have to support GHC 7.4.2?

@eborden
Copy link
Collaborator

eborden commented Dec 14, 2017

Our 3 stable version policy would point to no, though I don't think we want to unintentionally break hackage with bad bounds.

@kazu-yamamoto
Copy link
Collaborator

OK. I will try to add GHC 7.4 and 7.6 on the travis branch.

@kazu-yamamoto kazu-yamamoto self-assigned this Dec 14, 2017
@kazu-yamamoto
Copy link
Collaborator

This has been fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants