
#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