Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,976
    • Issues 4,976
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 479
    • Merge requests 479
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #9297
Closed
Open
Created Jul 11, 2014 by Ryan Scott@RyanGlScottMaintainer

Packages linked against certain Windows .dll files give warnings at runtime

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.

Trac metadata
Trac field Value
Version 7.8.2
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Runtime System
Test case
Differential revisions
BlockedBy
Related
Blocking
CC simonmar
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking