[GHC] #9297: Packages linked against certain Windows .dll files give warnings at runtime

GHC ghc-devs at haskell.org
Fri Jul 11 16:56:15 UTC 2014


#9297: Packages linked against certain Windows .dll files give warnings at runtime
----------------------------------+---------------------------------
       Reporter:  RyanGlScott     |             Owner:  simonmar
           Type:  bug             |            Status:  new
       Priority:  normal          |         Milestone:
      Component:  Runtime System  |           Version:  7.8.2
       Keywords:                  |  Operating System:  Windows
   Architecture:  x86_64 (amd64)  |   Type of failure:  None/Unknown
     Difficulty:  Unknown         |         Test Case:
     Blocked By:                  |          Blocking:
Related Tickets:                  |
----------------------------------+---------------------------------
 I am using GHC 7.8.3 on Windows 7, x86_64. When GHC loads certain packages
 at runtime, it gives some interesting warnings:

 {{{
 > ghci -package haskeline
 GHCi, version 7.8.3: http://www.haskell.org/ghc/  :? for help
 Loading package ghc-prim ... linking ... done.
 Loading package integer-gmp ... linking ... done.
 Loading package base ... linking ... done.
 Loading package array-0.5.0.0 ... linking ... done.
 Loading package deepseq-1.3.0.2 ... linking ... done.
 Loading package bytestring-0.10.4.0 ... linking ... done.
 Loading package Win32-2.3.0.2 ... linking ... done.
 Loading package containers-0.5.5.1 ... linking ... done.
 Loading package filepath-1.3.0.2 ... linking ... done.
 Loading package old-locale-1.0.0.6 ... linking ... done.
 Loading package time-1.4.2 ... linking ... done.
 Loading package directory-1.2.1.0 ... linking ... done.
 Loading package transformers-0.3.0.0 ... linking ... done.
 Loading package haskeline-0.7.1.2 ... linking ... ghc.exe: warning:
 SetConsoleCursorPosition from kernel32 is linked instead of
 __imp_SetConsoleCursorPosition
 ghc.exe: warning: FillConsoleOutputCharacterA from kernel32 is linked
 instead of __imp_FillConsoleOutputCharacterA
 ghc.exe: warning: FillConsoleOutputAttribute from kernel32 is linked
 instead of __imp_FillConsoleOutputAttribute
 done.
 Prelude>
 }}}

 Besides {{{haskeline}}}, other packages with similar problems include
 {{{unix-compat}}}, {{{network}}}, and {{{regex-posix}}}. To see them all
 at once, you can run the [{{{hermit-web}}} https://github.com/ku-fpg
 /hermit-web] executable:

 {{{
 > hermit-web Last.hs
 [starting HERMIT-Web v0.1.0.0 on Last.hs]
 [starting HERMIT v0.5.0.0 on Last.hs]
 % ghc Last.hs -fforce-recomp -O2 -dcore-lint -fsimple-list-literals
 -fexpose-all-unfoldings -fplugin=HERMIT.Web -fplugin-opt=HERMIT.Web:*:
 [1 of 1] Compiling Main             ( Last.hs, Last.o )
 Loading package ghc-prim ... linking ... done.
 Loading package integer-gmp ... linking ... done.
 Loading package base ... linking ... done.
 Loading package array-0.5.0.0 ... linking ... done.
 Loading package deepseq-1.3.0.2 ... linking ... done.
 Loading package bytestring-0.10.4.0 ... linking ... done.
 Loading package containers-0.5.5.1 ... linking ... done.
 Loading package Win32-2.3.0.2 ... linking ... done.
 Loading package filepath-1.3.0.2 ... linking ... done.
 Loading package old-locale-1.0.0.6 ... linking ... done.
 Loading package time-1.4.2 ... linking ... done.
 Loading package directory-1.2.1.0 ... linking ... done.
 Loading package pretty-1.1.1.1 ... linking ... done.
 Loading package process-1.2.0.0 ... linking ... done.
 Loading package Cabal-1.18.1.3 ... linking ... done.
 Loading package binary-0.7.1.0 ... linking ... done.
 Loading package bin-package-db-0.0.0.0 ... linking ... done.
 Loading package hoopl-3.10.0.1 ... linking ... done.
 Loading package hpc-0.6.0.1 ... linking ... done.
 Loading package template-haskell ... linking ... done.
 Loading package transformers-0.3.0.0 ... linking ... done.
 Loading package ghc-7.8.3 ... linking ... done.
 Loading package haskeline-0.7.1.2 ... linking ... ghc: warning:
 SetConsoleCursorPosition from kernel32 is linked instead of
 __imp_SetConsoleCursorPosition
 ghc: warning: FillConsoleOutputCharacterA from kernel32 is linked instead
 of __imp_FillConsoleOutputCharacterA
 ghc: warning: FillConsoleOutputAttribute from kernel32 is linked instead
 of __imp_FillConsoleOutputAttribute
 done.
 Loading package text-1.1.1.3 ... linking ... done.
 Loading package hashable-1.2.2.0 ... linking ... done.
 Loading package scientific-0.3.2.2 ... linking ... done.
 Loading package attoparsec-0.12.1.0 ... linking ... done.
 Loading package dlist-0.7.1 ... linking ... done.
 Loading package mtl-2.1.3.1 ... linking ... done.
 Loading package syb-0.4.2 ... linking ... done.
 Loading package unordered-containers-0.2.5.0 ... linking ... done.
 Loading package primitive-0.5.3.0 ... linking ... done.
 Loading package vector-0.10.11.0 ... linking ... done.
 Loading package aeson-0.7.0.6 ... linking ... done.
 Loading package blaze-builder-0.3.3.2 ... linking ... done.
 Loading package data-default-class-0.0.1 ... linking ... done.
 Loading package data-default-instances-base-0.0.1 ... linking ... done.
 Loading package data-default-instances-containers-0.0.1 ... linking ...
 done.
 Loading package data-default-instances-dlist-0.0.1 ... linking ... done.
 Loading package data-default-instances-old-locale-0.0.1 ... linking ...
 done.
 Loading package data-default-0.5.3 ... linking ... done.
 Loading package ansi-terminal-0.6.1.1 ... linking ... done.
 Loading package kure-2.16.2 ... linking ... done.
 Loading package marked-pretty-0.1 ... linking ... done.
 Loading package random-1.0.1.1 ... linking ... done.
 Loading package operational-0.2.3.2 ... linking ... done.
 Loading package stm-2.4.3 ... linking ... done.
 Loading package exceptions-0.6.1 ... linking ... done.
 Loading package temporary-1.2.0.3 ... linking ... done.
 Loading package hermit-0.5.0.0 ... linking ... done.
 Loading package case-insensitive-1.2.0.0 ... linking ... done.
 Loading package http-types-0.8.5 ... linking ... done.
 Loading package transformers-base-0.4.2 ... linking ... done.
 Loading package monad-control-0.3.3.0 ... linking ... done.
 Loading package lifted-base-0.2.3.0 ... linking ... done.
 Loading package mmorph-1.0.3 ... linking ... done.
 Loading package resourcet-1.1.2.2 ... linking ... done.
 Loading package nats-0.2 ... linking ... done.
 Loading package semigroups-0.15.1 ... linking ... done.
 Loading package void-0.6.1 ... linking ... done.
 Loading package conduit-1.1.6 ... linking ... done.
 Loading package regex-base-0.93.2 ... linking ... done.
 Loading package regex-posix-0.95.2 ... linking ... ghc: warning: isupper
 from msvcrt is linked instead of __imp_isupper
 ghc: warning: toupper from msvcrt is linked instead of __imp_toupper
 ghc: warning: tolower from msvcrt is linked instead of __imp_tolower
 ghc: warning: isalpha from msvcrt is linked instead of __imp_isalpha
 ghc: warning: isalpha from msvcrt is linked instead of __imp_isalpha
 ghc: warning: isalpha from msvcrt is linked instead of __imp_isalpha
 ghc: warning: iscntrl from msvcrt is linked instead of __imp_iscntrl
 ghc: warning: isupper from msvcrt is linked instead of __imp_isupper
 ghc: warning: isgraph from msvcrt is linked instead of __imp_isgraph
 ghc: warning: isprint from msvcrt is linked instead of __imp_isprint
 ghc: warning: ispunct from msvcrt is linked instead of __imp_ispunct
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 ghc: warning: isalpha from msvcrt is linked instead of __imp_isalpha
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 ghc: warning: isalnum from msvcrt is linked instead of __imp_isalnum
 done.
 Loading package regex-compat-0.95.1 ... linking ... done.
 Loading package parsec-3.1.5 ... linking ... done.
 Loading package network-2.5.0.0 ... linking ... ghc: warning: WSACleanup
 from ws2_32 is linked instead of __imp_WSACleanup
 ghc: warning: WSAStartup from ws2_32 is linked instead of __imp_WSAStartup
 ghc: warning: WSACleanup from ws2_32 is linked instead of __imp_WSACleanup
 ghc: warning: accept from ws2_32 is linked instead of __imp_accept
 ghc: warning: inet_ntoa from ws2_32 is linked instead of __imp_inet_ntoa
 ghc: warning: getnameinfo from ws2_32 is linked instead of
 __imp_getnameinfo
 ghc: warning: getaddrinfo from ws2_32 is linked instead of
 __imp_getaddrinfo
 ghc: warning: freeaddrinfo from ws2_32 is linked instead of
 __imp_freeaddrinfo
 done.
 Loading package vault-0.3.0.3 ... linking ... done.
 Loading package wai-3.0.0.2 ... linking ... done.
 Loading package base64-bytestring-1.0.0.1 ... linking ... done.
 Loading package fast-logger-2.1.5 ... linking ... done.
 Loading package zlib-0.5.4.1 ... linking ... done.
 Loading package streaming-commons-0.1.3.1 ... linking ... done.
 Loading package stringsearch-0.3.6.5 ... linking ... done.
 Loading package byteorder-1.0.4 ... linking ... done.
 Loading package wai-logger-2.1.1 ... linking ... done.
 Loading package word8-0.0.4 ... linking ... done.
 Loading package wai-extra-3.0.1 ... linking ... done.
 Loading package conduit-extra-1.1.1 ... linking ... done.
 Loading package simple-sendfile-0.2.15 ... linking ... done.
 Loading package unix-compat-0.4.1.3 ... linking ... ghc: warning:
 GetVersionExA from kernel32 is linked instead of __imp_GetVersionExA
 ghc: warning: GetModuleHandleA from kernel32 is linked instead of
 __imp_GetModuleHandleA
 ghc: warning: GetProcAddress from kernel32 is linked instead of
 __imp_GetProcAddress
 ghc: warning: _snprintf from msvcrt is linked instead of __imp__snprintf
 ghc: warning: GetSystemInfo from kernel32 is linked instead of
 __imp_GetSystemInfo
 ghc: warning: GetSystemMetrics from user32 is linked instead of
 __imp_GetSystemMetrics
 ghc: warning: GetVersionExA from kernel32 is linked instead of
 __imp_GetVersionExA
 ghc: warning: _snprintf from msvcrt is linked instead of __imp__snprintf
 ghc: warning: GetSystemInfo from kernel32 is linked instead of
 __imp_GetSystemInfo
 ghc: warning: GetComputerNameA from kernel32 is linked instead of
 __imp_GetComputerNameA
 ghc: warning: CryptAcquireContextA from advapi32 is linked instead of
 __imp_CryptAcquireContextA
 ghc: warning: CryptGenRandom from advapi32 is linked instead of
 __imp_CryptGenRandom
 ghc: warning: _stat64 from msvcrt is linked instead of __imp__stat64
 ghc: warning: _open from msvcrt is linked instead of __imp__open
 ghc: warning: _stat64 from msvcrt is linked instead of __imp__stat64
 done.
 Loading package warp-3.0.0.4 ... linking ... done.
 Loading package scotty-0.8.1 ... linking ... done.
 Loading package hermit-web-0.1.0.0 ... linking ... done.
 Setting phasers to stun... (port 3000) (ctrl-c to quit)
 }}}

 These warnings seem to be related to Windows-specific {{{.dll}}} files,
 including {{{kernel32.dll}}}, {{{user32.dll}}}, {{{msvcrt.dll}}},
 {{{advapi32.dll}}}, and {{{ws2_32.dll}}}. As far as I can tell, there are
 no problems other than the warnings themselves, but I can't be sure.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9297>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list