If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: docs.haskellstack.org/en/stable/topics/GHC_from_source - Building GHC from source - Sta.

site address: docs.haskellstack.org/en/stable/topics/GHC_from_source redirected to: docs.haskellstack.org/en/stable/topics/GHC_from_source

site title: Building GHC from source - Stack...

Our opinion (on Friday 17 July 2026 23:18:45 UTC):

website (probably) only for adults * website (probably) only for adults ! YELLOW status (not for everyone) - not for everyone
After content analysis of this website we propose the following hashtags:



Meta tags:
description=A program for developing Haskell projects. ;
author=;

Headings (most frequently used words):

building, ghc, from, source, bootstrap, compiler, hadrian, prerequisites, global, packages,

Text of the page (most frequently used words):
the (71), stack (43), ghc (38), #compiler (27), hadrian (25), and (23), build (19), version (17), packages (16), from (16), that (16), python (14), with (13), windows (12), path (12), for (11), use (11), configuration (11), snapshot (11), building (11), source (10), file (10), default (10), yaml (10), not (9), pacman (9), exec (9), bindist (9), git (8), you (8), project (8), may (8), package (8), sync (8), configure (8), script (8), repository (8), target (8), commit (7), can (7), used (7), option (7), global (7), msys2 (7), documentation (7), install (7), binary (7), cabal (6), using (6), note (6), installed (6), mingw (6), w64 (6), clang (6), x86_64 (6), requires (6), dist (6), built (5), certain (5), uses (5), one (5), brew (5), alex (5), environment (5), bootstrap (5), reloc (5), _build (5), another (4), this (4), versions (4), will (4), sphinx (4), files (4), named (4), contents (4), prerequisites (4), specify (4), more (4), non (4), commands (4), contributors (3), haskell (3), org (3), issue (3), drop (3), specific (3), specified (3), sources (3), latex (3), distribution (3), work (3), line (3), gnu (3), system (3), pip (3), also (3), alias (3), variable (3), happy (3), command (3), following (3), other (3), want (3), code (3), get (3), involved (3), integration (3), topics (3), getting (3), started (3), extra (2), deps (2), https (2), gitlab (2), 5be7ad7861c8d39f60b7101fd8d8e816ff50353a (2), libraries (2), way (2), deal (2), add (2), follows (2), some (2), than (2), autoconf (2), configured (2), before (2), require (2), process (2), tex (2), live (2), full (2), generator (2), certificates (2), including (2), texinfo (2), patch (2), make (2), created (2), autotools (2), cannot (2), must (2), boot (2), tool (2), databases (2), come (2), need (2), dejavu (2), fonts (2), pip3 (2), mactex (2), case (2), macos (2), flag (2), already (2), supports (2), has (2), set (2), specifies (2), recent (2), when (2), known (2), symlinks (2), does (2), introduced (2), operating (2), systems (2), jobs (2), quick (2), example (2), flavour (2), table (2), glossary (2), faq (2), how (2), works (2), upgrading (2), maintainers (2), docker (2), location (2), flags (2), options (2), projects (2), setting (2), welcome (2), github (2), made, material, mkdocs, copyright, 2015, 2025, back, top, subdirs, relevant, avoid, mismatching, exactly, same, easiest, offending, instead, bundled, depend, unreleased, try, depends, such, because, able, find, those, hackage, etc, are, compatible, earlier, latest, did, support, cdddeb0f1280b40cc194028bbaef36e127175c4c, prompt, these, duing, texlive, common, certificate, authority, single, makeinfo, utilities, produce, manuals, ascii, text, utility, apply, original, which, itself, autoreconf, aclocal, msys, interpret, paths, correctly, clang64, installs, dependency, pypa, recommended, installing, synchronize, refresh, supplied, automake, cask, gui, applications, official, format, generating, standards, compliant, makefiles, tools, expect, removed, added, implemented, verbose, wish, remove, ensure, applicable, via, appropriate, executables, local, needs, absolute, refer, alternative, sufficiently, running, resolution, checking, error, later, required, compile, ids, results, reporting, messages, similar, aborting, working, based, into, fully, managed, creation, symbolic, links, only, processes, administrator, privileges, unless, developer, mode, been, take, very, long, time, hour, faster, times, flavours, disable, generation, check, assumed, enough, enable, any, workaround, older, compilers, once, was, fe23629b147d419053052e6e881f6e8ddfbf3bae, assumes, retrieved, main, select, configuraton, 5be7ad, commit_id, hadrian_flavour, defined, syntax, experimental, history, resources, overview, signing, key, self, hosted, runners, haskellstack, zip, maintainer, team, releases, scheme, dev, containers, contributor, guide, lock, azure, travis, shell, auto, completion, developing, visual, studio, editor, debugging, standard, initialization, nix, interpreter, specification, directories, root, customisation, scripts, include, directive, variables, upload, upgrade, update, unpack, uninstall, test, templates, setup, sdist, runhaskell, runghc, run, repl, query, purge, new, list, init, ide, hpc, hoogle, haddock, ghci, eval, dot, config, clean, bench, conclusion, interactively, executing, locations, multi, targets, synonyms, existing, your, description, hello, world, initializing, search, skip, content,


Text of the page (random words):
building ghc from source stack skip to content stack building ghc from source initializing search github welcome setting up getting started commands configure topics get involved faq glossary more stack github welcome setting up getting started getting started 1 a hello world example 2 package description 3 project configuration 4 building your project 5 building existing projects 6 installed package databases 7 stack build synonyms 8 stack build targets 9 multi package projects 10 cabal flags and ghc options 11 locations used by stack 12 executing commands 13 using ghc interactively 14 stack configuration 15 in conclusion commands commands bench build clean config dot docker eval exec ghc ghci haddock hoogle hpc ide init install list ls new path purge query repl run runghc runhaskell script sdist setup templates test uninstall unpack update upgrade upload configure configure environment variables configuration files configuration files project specific configuration non project specific configuration the include directive global flags and options customisation scripts topics topics stack root stack work directories stack environment snapshot location package location snapshot specification stack yaml vs a cabal file script interpreter docker integration nix integration non standard project initialization building ghc from source building ghc from source table of contents bootstrap compiler hadrian prerequisites global packages debugging editor integration stack and visual studio code developing on windows shell auto completion ci travis ci azure ci lock files haskell and c code get involved get involved contributors contributors contributor s guide dev containers maintainers maintainers version scheme releases maintainer team process add ghc version upgrading msys2 upgrading 7 zip haskellstack org self hosted runners signing key how stack works how stack works build overview faq glossary more more other resources version history table of contents bootstrap compiler hadrian prerequisites global packages building ghc from source experimental 2 1 1 stack supports building the ghc compiler from source using hadrian the build system for ghc the ghc version to be built and used is defined by a git commit id and a hadrian flavour with the following syntax in a yaml configuration file compiler ghc git commit_id hadrian_flavour in the following example the commit id is 5be7ad and the flavour is quick compiler ghc git 5be7ad7861c8d39f60b7101fd8d8e816ff50353a quick the j jobs option at the command line or the jobs option in a yaml configuraton file can be used to specify hadrian s j n flag by default the code is retrieved from the main ghc repository if you want to select another repository use the compiler repository option in a yaml configuration file compiler repository git my ghc repository default compiler repository https gitlab haskell org ghc ghc git by default the hadrian build target is reloc binary dist on windows and binary dist on other operating systems if you want to specify another hadrian build target use the compiler target option in a yaml configuration file compiler target binary dist default windows compiler target reloc binary dist default non windows compiler target binary dist by default stack assumes that the path to the binary distribution built by hadrian is _build reloc bindist on windows and _build bindist on other operating systems if you want to specify another path use the compiler bindist path option in a yaml configuration file compiler bindist path _build bindist default windows compiler bindist path _build reloc bindist default non windows compiler bindist path _build bindist note the hadrian build target reloc binary dist was introduced with git commit id fe23629b147d419053052e6e881f6e8ddfbf3bae once introduced the target must be used on windows stack does not check the compiler version when it uses a compiler built from source it is assumed that the built compiler is recent enough as stack does not enable any known workaround to make older compilers work building the compiler can take a very long time more than one hour for faster build times use hadrian flavours that disable documentation generation note the building of the compiler can require the creation of symbolic links symlinks on windows symlinks can only be created by processes with administrator privileges unless windows developer mode has been set bootstrap compiler building ghc from source requires a working ghc known as the bootstrap compiler as we use a stack based version of hadrian hadrian build stack in ghc sources the bootstrap compiler is configured into hadrian stack yaml and fully managed by stack note for some commit ids the snapshot specified in hadrian stack yaml specifies a version of ghc that cannot be used to build ghc this results in ghc s configure script reporting messages similar to the following before aborting checking version of ghc 9 0 2 configure error ghc version 9 2 or later is required to compile ghc the resolution is to specify an alternative snapshot one that specifies a sufficiently recent version of ghc on the command line using stack s option snapshot snapshot stack will use that snapshot when running ghc s configure script and to set the contents of the stack environment variable to be stack snapshot snapshot if snapshot is a path to a local yaml file it needs to be an absolute one hadrian s build stack script will refer to that environment variable for the stack command it uses hadrian prerequisites the hadrian build system has certain prerequisites it requires certain versions of the happy and alex executables on the path stack will build and install happy and alex if not already on the path note if happy and or alex is already on the path it may not be a version that hadrian supports in that case you may wish to remove that version from the path and ensure that the package version specified by hadrian stack yaml or if applicable via the contents of the stack environment variable is an appropriate one note alex 3 5 0 0 removed v as an alias for version and added v as an alias for verbose a flag that is not implemented as of alex 3 5 4 0 hadrian may expect v to be an alias for version macos windows hadrian requires or case use certain tools or python packages that do not come with macos by default and that need to be installed using brew or pip3 python hadrian s latex documentation also requires the dejavu fonts to be installed brew install python 3 11 ghc uses a python script named boot brew install automake tool for generating gnu standards compliant makefiles brew install texinfo official documentation format of the gnu project pip3 install u sphinx sphinx is the python documentation generator brew install cask mactex mactex full tex live distribution with gui applications hadrian requires or can use certain msys2 or python packages that do not come with the stack supplied msys2 by default and need to be installed using pacman msys2 or pip python hadrian s latex documentation also requires the dejavu fonts to be installed stack exec pacman sync refresh synchronize msys2 package databases stack exec pacman sync mingw w64 clang x86_64 python pip the pypa recommended tool pip for installing python packages also installs python as a dependency ghc uses a python script named boot the package must be the one from the clang64 msys2 repository as python from the msys repository cannot interpret windows file paths correctly stack exec pacman sync mingw w64 clang x86_64 autotools the gnu autotools build system including autoreconf aclocal and make ghc uses a sh script named configure which is itself created from a file named configure ac stack exec pacman sync patch a utility to apply patch files to original sources stack exec pacman sync mingw w64 clang x86_64 texinfo utilities to work with and produce manuals ascii text and on line documentation from a single source file including makeinfo stack exec pacman sync mingw w64 clang x86_64 ca certificates common ca certificate authority certificates stack exec pacman sync mingw w64 clang x86_64 python sphinx sphinx is the python documentation generator stack exec pacman sync mingw w64 clang x86_64 texlive full the tex live distribution hadrian may require certain latex packages and may prompt for these to be installed duing the build process note before commit cdddeb0f1280b40cc194028bbaef36e127175c4c the ghc project did not support autoconf 2 72 msys2 can be configured to use an earlier version of autoconf than the latest version global packages the ghc compiler you build from sources may depend on unreleased versions of some global packages e g cabal it may be an issue if a package you try to build with this compiler depends on such global packages because stack may not be able to find versions of those packages on hackage etc that are compatible with the compiler the easiest way to deal with this issue is to use the drop packages project specific configuration option to drop the offending packages as follows instead of using the packages specified in the snapshot the global packages bundled with ghc will be used drop packages cabal another way to deal with this issue is to add the relevant packages as extra deps built from source to avoid mismatching versions you can use exactly the same commit id you used to build ghc as follows extra deps git https gitlab haskell org ghc ghc git commit 5be7ad7861c8d39f60b7101fd8d8e816ff50353a subdirs libraries cabal cabal libraries back to top copyright c 2015 2025 stack contributors made with material for mkdocs
Images from subpage: "docs.haskellstack.org/commands/install_command/" Verify
Images from subpage: "docs.haskellstack.org/commands/list_command/" Verify
Images from subpage: "docs.haskellstack.org/commands/ls_command/" Verify
Images from subpage: "docs.haskellstack.org/commands/new_command/" Verify
Images from subpage: "docs.haskellstack.org/commands/path_command/" Verify

Verified site has: 103 subpage(s). Do you want to verify them? Verify pages:

1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
51-55 56-60 61-65 66-70 71-75 76-80 81-85 86-90 91-95 96-100
101-103


Top 50 hastags from of all verified websites.

Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

Header

HTTP/2 302
date Fri, 17 Jul 2026 23:18:45 GMT
content-type text/html; charset=utf-8
content-length 0
location /en/stable/topics/GHC_from_source/
cf-ray a1ccf7b23a03da95-CDG
cf-cache-status EXPIRED
access-control-allow-origin *
cache-control max-age=1200
content-language en
server cloudflare
x-served Proxito-404
vary Accept-Language, accept-encoding
access-control-allow-methods HEAD, OPTIONS, GET
cdn-cache-control public, max-age=1200
cross-origin-opener-policy same-origin
referrer-policy no-referrer-when-downgrade
x-backend web-i-0f80a43fb10dce282
x-content-type-options nosniff
x-rtd-domain docs.haskellstack.org
x-rtd-force-addons true
x-rtd-project stack
x-rtd-project-method custom_domain
x-rtd-resolver-filename /topics/GHC_from_source
x-rtd-version stable
x-rtd-version-method path
set-cookie _cfuvid=tRgV5hdHZPcJoffGosBKQO9isiz73eUZGWDMlxcOcqk-1784330324.8404586-1.0.1.1-ocnO5FCC2XJJyJhlQCvllgS5SDyK_ujzW9QCVoFDUwU; HttpOnly; SameSite=None; Secure; Path=/; Domain=docs.haskellstack.org
set-cookie __cf_bm=HU4GAmuGHnLOlDSTjRRb2kMuf3PbfxQ..KsS5vKaWM0-1784330324.8332446-1.0.1.1-UpIkA_uFfb.lsEIDBHI2HinAx1ZwHBBSGr6w6TQHT.zvHR6q0J2_gFpZg3uZMBGxTC02BpOjpdY7JsLk4FT0dOZnmXG0Xf_qQvApaoz65xFiLO9t.vrs691vDb0AKZMS; HttpOnly; SameSite=None; Secure; Path=/; Domain=docs.haskellstack.org; Expires=Fri, 17 Jul 2026 23:48:45 GMT
alt-svc h3= :443 ; ma=86400
HTTP/2 200
date Fri, 17 Jul 2026 23:18:45 GMT
content-type text/html; charset=utf-8
cf-ray a1ccf7b39c7bda95-CDG
cf-cache-status HIT
access-control-allow-origin *
cache-control max-age=1800, stale-if-error=86400, public
content-encoding gzip
etag 89c09f698169d294ab0491cdb04daf09
expires Fri, 17 Jul 2026 23:48:45 GMT
last-modified Sat, 13 Jun 2026 18:46:24 GMT
server cloudflare
vary Accept-Encoding
access-control-allow-methods HEAD, OPTIONS, GET
cdn-cache-control public, max-age=1800, stale-if-error=86400
cross-origin-opener-policy same-origin
referrer-policy no-referrer-when-downgrade
x-amz-id-2 fUUGE3IFee0wX/FE8Dw9Mdy9LiyDqa0vDg8uqCeByokMHTNQ7FWl1ZdfZBssCRRBpvhvCD23WmqjA3ncAkCvPGba7bjRe2gC
x-amz-meta-mtime 1781376379.342884718
x-amz-request-id AXJB5Z8QAGSBRNQB
x-amz-server-side-encryption AES256
x-backend web-i-090070b849271287f
x-content-type-options nosniff
x-rtd-domain docs.haskellstack.org
x-rtd-force-addons true
x-rtd-path /proxito/html/stack/stable/topics/GHC_from_source/index.html
x-rtd-project stack
x-rtd-project-method custom_domain
x-rtd-resolver-filename /topics/GHC_from_source/
x-rtd-version stable
x-rtd-version-method path
x-served Nginx-Proxito-Sendfile
set-cookie __cf_bm=NeuFIyL5ApqiJrsfthskBGXf.yGzQlwbGLE9_y0WgSU-1784330325.0550697-1.0.1.1-LQZWMAZTfyIbb0mjwaCeerkWIx6yfeiiBdeSb7adHzV_4F4p9WdQSIKSBMILVleV6Xz_XbBG0bQ9UipMr3rm61KsoGiqu2Ks8KTu_0apLgL.DYUyZw5Agur6ikVKI.S3; HttpOnly; SameSite=None; Secure; Path=/; Domain=docs.haskellstack.org; Expires=Fri, 17 Jul 2026 23:48:45 GMT
alt-svc h3= :443 ; ma=86400

Meta Tags

title="Building GHC from source - Stack"
charset="utf-8"
name="viewport" content="width=device-width,initial-scale=1"
name="description" content="A program for developing Haskell projects. "
name="author" content="Stack contributors"
name="generator" content="mkdocs-1.6.0, mkdocs-material-9.7.6"
property="og:type" content="website"
property="og:title" content="Building GHC from source - Stack"
property="og:description" content="A program for developing Haskell projects. "
property="og:image" content="htt????/docs.haskellstack.org/en/stable/assets/images/social/topics/GHC_from_source.png"
property="og:image:type" content="image/png"
property="og:image:width" content="1200"
property="og:image:height" content="630"
property="og:url" content="htt????/docs.haskellstack.org/en/stable/topics/GHC_from_source/"
property="twitter:card" content="summary_large_image"
property="twitter:title" content="Building GHC from source - Stack"
property="twitter:description" content="A program for developing Haskell projects. "
property="twitter:image" content="htt????/docs.haskellstack.org/en/stable/assets/images/social/topics/GHC_from_source.png"
name="readthedocs-project-slug" content="stack"
name="readthedocs-version-slug" content="stable"
name="readthedocs-resolver-filename" content="/topics/GHC_from_source/"
name="readthedocs-http-status" content="200"

Load Info

page size11585
load time (s)0.438988
redirect count1
speed download26449
server IP 104.16.253.120
* all occurrences of the string "http://" have been changed to "htt???/"