[GHC] #15860: Hadrian build fails on FreeBSD

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Keywords: | Operating System: FreeBSD Architecture: x86_64 | Type of failure: Compile-time (amd64) | crash or panic Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- Hi, I've tried a `hadrian/build.sh -j` on my FreeBSD machine and got greeted by a rather nasty looking error. {{{ Up to date shakeArgsWith 0.000s 0% Function shake 0.275s 80% ========================= Database read 0.000s 0% With database 0.000s 0% Running rules 0.065s 19% ===== Total 0.340s 100% Error when running Shake build system: * OracleQ (KeyValue ("hadrian/cfg/system.config","host-os")) * hadrian/cfg/system.config * hadrian/cfg/system.config settings mk/config.h compiler/ghc.cabal rts/rts.cabal Configuration file hadrian/cfg/system.config is missing. Run the configure script manually or let Hadrian run it automatically by passing the flag --configure. CallStack (from HasCallStack): error, called at src/Rules/Configure.hs:25:13 in main:Rules.Configure }}} I've tried this with commit `1a3b9bd0b674ad16a41b942c738b8f34564bcd8d` and my current system is `FreeBSD lain 12.0-BETA3 FreeBSD 12.0-BETA3 r340097 GENERIC amd64`. Building GHC with the old build system worked perfectly fine though. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by alpmestan): * cc: snowleopard (added) Comment: As stated in the #ghc IRC channel and as suggested by the error message, I suspect you have not run `./configure` (and maybe not even `./boot`?). You can run `./boot && ./configure` yourself or ask hadrian to do it by passing `--configure` or `-c`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by alpmestan): * cc: alpmestan (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

Configuration file hadrian/cfg/system.config is missing. Run the configure script manually or let Hadrian run it automatically by
#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by snowleopard): * cc: NeilMitchell (added) Comment: I guess the useful part of the error message is not easy to spot: passing the flag --configure. Or do the above two lines look nasty too? One thing we could improve is not show the stats when Hadrian terminates with a build error. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by raichoo): Getting a `CallStack` is IMHO a nasty error. It's not handling the situation gracefully, that's what I wanted to say. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by snowleopard): I see, thanks! So far this has been our only way of handling errors in Hadrian, since this is what Shake recommends:
To raise a build error call error "error message". Shake will abort, showing the error message.
(From https://github.com/ndmitchell/shake/blob/master/docs/Manual.md #tracing-and-debugging.) @NeilMitchell: Is there a more graceful way to report an error in Shake? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by raichoo): I've tried what has been suggested on IRC but now I'm running into the following behavior: {{{ hadrian: '/usr/home/raichoo/Sources/ghc/ghc/_build/stage0/bin/ghc' exited with an error: ghc: missing -B<dir> option shakeArgsWith 0.000s 0% Function shake 0.275s 12% === Database read 0.125s 5% = With database 0.006s 0% Running rules 1.767s 81% ========================= Total 2.174s 99% Error when running Shake build system: * _build/stage1/lib/package.conf.d/rts-1.0.conf * OracleQ (ContextDataKey (Context {stage = Stage1, package = Package {pkgType = Library, pkgName = "rts", pkgPath = "rts"}, way = v})) * _build/stage1/rts/setup-config ExitFailure 1 }}} Just running `/usr/home/raichoo/Sources/ghc/ghc/_build/stage0/bin/ghc` also reports `ghc: missing -B<dir> option`. Am I again missing something that's obvious here? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by snowleopard): No, this is not something obvious and does look like a bug. I haven't seen it before, and I have no idea what the `-B<dir>` option is for. I think this is related to wrapper scripts, which are not used on Windows (which I use). Perhaps @alpmestan has any ideas? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by alpmestan): `-B` is used to point a given ghc executable to its associated "topdir" in GHC parlance, which corresponds to the `lib/` dir, which contains the `settings` file, the package db and all that. See [https://github.com/ghc/ghc/blob/master/compiler/main/SysTools/BaseDir.hs#L51 this note] for more. You can see that the error is thrown by [https://github.com/ghc/ghc/blob/master/compiler/main/SysTools/BaseDir.hs#L12... this piece of code], which tries to locate the topdir by looking up an env var and then by calling `getBaseDir`, whose implementations uses `getExecutablePath` on darwin/linux, does something else on Windows but returns `Nothing` the rest of the time. To put it another way, any GHC you build needs to be passed its topdir with `-B` (or to be used through a wrapper script), I think. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by raichoo): I've adjusted the ifdefs to just go with the POSIX choices here, I currently don't see a reason why they shouldn't work on FreeBSD. However now I run into an issue where `libgmp` is not found by the linker even though I stated its location as an option to configure. {{{ Warning: -rtsopts and -with-rtsopts have no effect with -shared. Call hs_init_ghc() from your main() function to set these options. /usr/bin/ld: error: unable to find library -lgmp clang: error: linker command failed with exit code 1 (use -v to see invocati on) `clang' failed in phase `Linker'. (Exit code: 1) shakeArgsWith 0.000s 0% Function shake 0.781s 4% = Database read 0.692s 3% = With database 0.038s 0% Running rules 17.071s 91% ========================= Total 18.583s 100% Error when running Shake build system: * _build/stage1/lib/package.conf.d/rts-1.0.conf * _build/stage1/rts/build/libHSrts-1.0-ghc8.7.20181104_l.so user error (Development.Shake.cmd, system command failed Command: _build/stage0/bin/ghc -Wall -hisuf l_dyn_hi -osuf l_dyn_o -hcsuf l_ dyn_hc -fPIC -dynamic -eventlog -hide-all-packages -no-user-package-db '-pac kage-db _build/stage1/lib/package.conf.d' '-this-unit-id rts-1.0' -i -i_buil d/stage1/rts/build -i_build/stage1/rts/build/autogen -irts/. -Iincludes -I_b uild/generated -I_build/stage1/rts/build -I/usr/local/include -I/usr/local/i nclude -I_build/stage1/rts/build/build -I_build/stage1/rts/build/../includes -I_build/stage1/rts/build/includes -I_build/stage1/rts/build/includes/dist- derivedconstants/header -Irts/build -Irts/../includes -Irts/includes -Irts/i ncludes/dist-derivedconstants/header -I_build/generated -optc- I_build/genera ted -optP-include -optP_build/stage1/rts/build/autogen/cabal_macros.h -ghcve rsion-file=_build/generated/ghcversion.h -optc-fno-stack-protector -odir _bu ild/stage1/rts/build -hidir _build/stage1/rts/build -stubdir _build/stage1/r ts/build -shared -dynamic -dynload deploy -no-auto-link-packages -rtsopts -o ptl-lgmp -Wnoncanonical-monad-instances -optc-Wno-unknown-pragmas _build/sta ge1/rts/build/c/Adjustor.l_dyn_o _build/stage1/rts/build/c/Arena.l_dyn_o _bu ild/stage1/rts/build/c/Capability.l_dyn_o _build/stage1/rts/build/c/CheckUnl oad.l_dyn_o _build/stage1/rts/build/c/ClosureFlags.l_dyn_o _build/stage1/rts /build/c/Disassembler.l_dyn_o _build/stage1/rts/build/c/FileLock.l_dyn_o _bu ild/stage1/rts/build/c/Globals.l_dyn_o _build/stage1/rts/build/c/Hash.l_dyn_ o _build/stage1/rts/build/c/Heap.l_dyn_o _build/stage1/rts/build/c/Hpc.l_dyn _o _build/stage1/rts/build/c/HsFFI.l_dyn_o _build/stage1/rts/build/c/Inlines .l_dyn_o _build/stage1/rts/build/c/Interpreter.l_dyn_o _build/stage1/rts/bui ld/c/LdvProfile.l_dyn_o _build/stage1/rts/build/c/Libdw.l_dyn_o _build/stage 1/rts/build/c/LibdwPool.l_dyn_o _build/stage1/rts/build/c/Linker.l_dyn_o _bu ild/stage1/rts/build/c/Messages.l_dyn_o _build/stage1/rts/build/c/OldARMAtom ic.l_dyn_o _build/stage1/rts/build/c/PathUtils.l_dyn_o _build/stage1/rts/bui ld/c/Pool.l_dyn_o _build/stage1/rts/build/c/Printer.l_dyn_o _build/stage1/rt s/build/c/ProfHeap.l_dyn_o _build/stage1/rts/build/c/ProfilerReport.l_dyn_o _build/stage1/rts/build/c/ProfilerReportJson.l_dyn_o _build/stage1/rts/build /c/Profiling.l_dyn_o _build/stage1/rts/build/c/Proftimer.l_dyn_o _build/stag e1/rts/build/c/RaiseAsync.l_dyn_o _build/stage1/rts/build/c/RetainerProfile. l_dyn_o _build/stage1/rts/build/c/RetainerSet.l_dyn_o _build/stage1/rts/buil d/c/RtsAPI.l_dyn_o _build/stage1/rts/build/c/RtsDllMain.l_dyn_o _build/stage 1/rts/build/c/RtsFlags.l_dyn_o _build/stage1/rts/build/c/RtsMain.l_dyn_o _bu ild/stage1/rts/build/c/RtsMessages.l_dyn_o _build/stage1/rts/build/c/RtsStar tup.l_dyn_o _build/stage1/rts/build/c/RtsSymbolInfo.l_dyn_o _build/stage1/rt s/build/c/RtsSymbols.l_dyn_o _build/stage1/rts/build/c/RtsUtils.l_dyn_o _bui ld/stage1/rts/build/c/STM.l_dyn_o _build/stage1/rts/build/c/Schedule.l_dyn_o _build/stage1/rts/build/c/Sparks.l_dyn_o _build/stage1/rts/build/c/StableNa me.l_dyn_o _build/stage1/rts/build/c/StablePtr.l_dyn_o _build/stage1/rts/bui ld/c/StaticPtrTable.l_dyn_o _build/stage1/rts/build/c/Stats.l_dyn_o _build/s tage1/rts/build/c/StgCRun.l_dyn_o _build/stage1/rts/build/c/StgPrimFloat.l_d yn_o _build/stage1/rts/build/c/Task.l_dyn_o _build/stage1/rts/build/c/Thread Labels.l_dyn_o _build/stage1/rts/build/c/ThreadPaused.l_dyn_o _build/stage1/ rts/build/c/Threads.l_dyn_o _build/stage1/rts/build/c/Ticky.l_dyn_o _build/s tage1/rts/build/c/Timer.l_dyn_o _build/stage1/rts/build/c/TopHandler.l_dyn_o _build/stage1/rts/build/c/Trace.l_dyn_o _build/stage1/rts/build/c/WSDeque.l _dyn_o _build/stage1/rts/build/c/Weak.l_dyn_o _build/stage1/rts/build/c/even tlog/EventLog.l_dyn_o _build/stage1/rts/build/c/eventlog/EventLogWriter.l_dy n_o _build/stage1/rts/build/c/hooks/FlagDefaults.l_dyn_o _build/stage1/rts/b uild/c/hooks/LongGCSync.l_dyn_o _build/stage1/rts/build/c/hooks/MallocFail.l _dyn_o _build/stage1/rts/build/c/hooks/OnExit.l_dyn_o _build/stage1/rts/buil d/c/hooks/OutOfHeap.l_dyn_o _build/stage1/rts/build/c/hooks/StackOverflow.l_ dyn_o _build/stage1/rts/build/c/linker/CacheFlush.l_dyn_o _build/stage1/rts/ build/c/linker/Elf.l_dyn_o _build/stage1/rts/build/c/linker/LoadArchive.l_dy n_o _build/stage1/rts/build/c/linker/M32Alloc.l_dyn_o _build/stage1/rts/buil d/c/linker/MachO.l_dyn_o _build/stage1/rts/build/c/linker/PEi386.l_dyn_o _bu ild/stage1/rts/build/c/linker/SymbolExtras.l_dyn_o _build/stage1/rts/build/c /linker/elf_got.l_dyn_o _build/stage1/rts/build/c/linker/elf_plt.l_dyn_o _bu ild/stage1/rts/build/c/linker/elf_plt_aarch64.l_dyn_o _build/stage1/rts/buil d/c/linker/elf_plt_arm.l_dyn_o _build/stage1/rts/build/c/linker/elf_reloc.l_ dyn_o _build/stage1/rts/build/c/linker/elf_reloc_aarch64.l_dyn_o _build/stag e1/rts/build/c/linker/elf_util.l_dyn_o _build/stage1/rts/build/c/sm/BlockAll oc.l_dyn_o _build/stage1/rts/build/c/sm/CNF.l_dyn_o _build/stage1/rts/build/ c/sm/Compact.l_dyn_o _build/stage1/rts/build/c/sm/Evac.l_dyn_o _build/stage1 /rts/build/c/sm/GC.l_dyn_o _build/stage1/rts/build/c/sm/GCAux.l_dyn_o _build /stage1/rts/build/c/sm/GCUtils.l_dyn_o _build/stage1/rts/build/c/sm/MBlock.l _dyn_o _build/stage1/rts/build/c/sm/MarkWeak.l_dyn_o _build/stage1/rts/build /c/sm/Sanity.l_dyn_o _build/stage1/rts/build/c/sm/Scav.l_dyn_o _build/stage1 /rts/build/c/sm/Storage.l_dyn_o _build/stage1/rts/build/c/sm/Sweep.l_dyn_o _ build/stage1/rts/build/c/xxhash.l_dyn_o _build/stage1/rts/build/c/fs.l_dyn_o _build/stage1/rts/build/c/posix/GetEnv.l_dyn_o _build/stage1/rts/build/c/po six/GetTime.l_dyn_o _build/stage1/rts/build/c/posix/Itimer.l_dyn_o _build/st age1/rts/build/c/posix/OSMem.l_dyn_o _build/stage1/rts/build/c/posix/OSThrea ds.l_dyn_o _build/stage1/rts/build/c/posix/Select.l_dyn_o _build/stage1/rts/ build/c/posix/Signals.l_dyn_o _build/stage1/rts/build/c/posix/TTY.l_dyn_o _b uild/stage1/rts/build/cmm/Apply.l_dyn_o _build/stage1/rts/build/cmm/Compact. l_dyn_o _build/stage1/rts/build/cmm/Exception.l_dyn_o _build/stage1/rts/buil d/cmm/HeapStackCheck.l_dyn_o _build/stage1/rts/build/cmm/PrimOps.l_dyn_o _bu ild/stage1/rts/build/cmm/StgMiscClosures.l_dyn_o _build/stage1/rts/build/cmm /StgStartup.l_dyn_o _build/stage1/rts/build/cmm/StgStdThunks.l_dyn_o _build/ stage1/rts/build/cmm/Updates.l_dyn_o _build/stage1/rts/build/cmm/AutoApply.l _dyn_o -o _build/stage1/rts/build/libHSrts-1.0-ghc8.7.20181104_l.so -O2 -H32 m -this-unit-id rts -XHaskell98 -ghcversion- file=/usr/home/raichoo/Sources/g hc/ghc/_build/generated/ghcversion.h -Irts -Wno-deprecated-flags -Wcpp- undef Exit code: 1 Stderr: Warning: -rtsopts and -with-rtsopts have no effect with -shared. Call hs_init_ghc() from your main() function to set these options. /usr/bin/ld: error: unable to find library -lgmp clang: error: linker command failed with exit code 1 (use -v to see invocati on) `clang' failed in phase `Linker'. (Exit code: 1) ) }}} {{{ ./configure LD=ld CC=clang --disable-large-address-space --with-gmp- includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with- iconv-includes=/usr/local/include --with-iconvlibraries=/usr/local/lib --prefix=/usr/home/raichoo/Local/ghc/HEAD }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by NeilMitchell): @snowleopard: I view printing the call stack when the build fails as very useful. Also note that it's not just printing the call stack of Haskell, some of those parts are the Shake build call stack. It's printed better in the latest version of Shake, as: {{{ Error when running Shake build system: at src/Test/Self.hs:27:5-26: * Depends on: Main.exe at src/Test/Self.hs:48:9-16: * Depends on: General/Wait.o * Depends on: General/Wait.o General/Wait.hi * Raised the exception: ... }}} Which hopefully improves things. I can see two further improvements: * Don't print timing information on an error. * If the exception is an {{{ErrorCallWithLocation}}} then grab the location information and put it in the rest of the stack trace - which then puts the stack traces together and the error at the end. You can of course override the Shake behaviour entirely by catching the {{{ShakeException}}} - but I think the call stack is super helpful. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by raichoo): I've a patch that gets me a working `ghc` build with `hadrian` on FreeBSD. I still need to pass `--integer-simple` as a flag since for some reason `hadrian` won't pass the `libgmp` library path to the linker. https://phabricator.haskell.org/D5335 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by snowleopard): Thank you for the patch! Glad you made it work with `--integer-simple`. It's difficult to figure out what's wrong with `libgmp` on FreeBSD from my Windows machine, but I can point you to the GMP-related build rule: https://github.com/ghc/ghc/blob/94756201349685a34c4495addd3484fdfcc8b498/had... Also, you could try to build GHC using in-tree GMP. I think the easiest way to do that is to comment out these lines: https://github.com/ghc/ghc/blob/94756201349685a34c4495addd3484fdfcc8b498/had... -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#15860: Hadrian build fails on FreeBSD -------------------------------------+------------------------------------- Reporter: raichoo | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.7 (Hadrian) | Resolution: | Keywords: Operating System: FreeBSD | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D5335 Wiki Page: | -------------------------------------+------------------------------------- Changes (by alpmestan): * differential: => Phab:D5335 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15860#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC