Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
GitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
8.4.3 full addLibrarySearchPath error on Windows 10 #312
Haskell Platform 8.4.3 full (but not core) gives an error message the first time certain IO operations are run after starting ghci in a command prompt or in PowerShell. Here is an example transcript from a fresh installation of Haskell Platform 8.4.3 full (with no updates or other installations before starting ghci).
This happens for me on three different Windows 10 machines with the same path showing in the error. Operating systems were Windows 10 Pro 1803 and Windows 10 Home 1803. Default installation settings were used. In all cases, the referenced D:\GitHub\... folder has never existed. One machine never had anything Haskell-related on it in the past and another did not have a D:\ drive. Some IO operations from other libraries generate numerous identical errors in sequence.
The problem does not occur with the core version and the example above with System.Random behaves correctly after installing random-1.1. I on core, so presume it's one of the extra things in the full version causing the behavior.
Thanks for the careful report and sorry for the problems!
I can confirm this issue. Looking at the conf file for random in /lib/package.conf.d I can see that it includes the d:\GitHub path in the library dirs, dynamic-library-dirs, and include-dirs.
This is certainly a build issue with the full windows platform that we'll need to sort out.
Entries from the build machine user's cabal config file are copied into the .conf files. We need to insulate this inadvertent pollution of the built packages. Note that this has only recently been an issue with the Haskell Platform.
To fix this for the future, when cabal is invoked during an HP build, we will set and use a default cabal config file.
Edit: Also, not specific to Windows 10
…ws 10 When cabal is invoked during an HP build, we will set and use a default cabal config file. * hptool/src/Target.hs * Entries from the build-machine-user's cabal config file are copied into the <package>.conf files. We need to insulate against this inadvertent pollution of the built packages. So, with each cabal invocation, specify a path to a cabal config file to use. The first time cabal runs, it will create this file with all defaults, and that file will be used for all the other uses of cabal during the HP build.