Open ninioArtillero opened 4 months ago
This issue is likely quite a ways outside the scope of HSoM's code base. It may even be outside the Haskell portion of the dependencies. A quick search on parts of the error turned up some things related to Linux versions having issues with freeglut, which is used down the dependency chain of the UISF library HSoM uses - but I don't think there's anything in UISF that would be the culprit here. It may be worth reporting the details of this error on the Haskell GLUT repo citing UISF via Euterpea/HSoM as the use case.
It is unclear to me if this is NixOS (sorry if I missed the obvious). If it is, that OS pretty commonly has issues with Euterpea and/or HSoM.
Thanks for pointing the way. I'll take the issue further and hopefully come back with a fix or a clearer description of the bug.
I'm using nix inside Arch Linux to have a fixed working environment with Euterpea. You can check out this script I've been using:
https://gist.github.com/ninioArtillero/ac5aa10125135e10809098ba0b079dc4
By the way, I didn't try to run the example from my system's ghc. So I will.
The example worked just fine under system ghc-9.2.8 (ghcup's), with both Euterpea and HSoM libraries installed from Hackage with --lib
and --allow-newer
flags. So this is indeed Nix related.
The
Bifurcate
example from https://www.euterpea.com/compiling-to-executable/ throws the following error:I'm running
``` Cabal-3.4.1.0 Euterpea-2.0.7 GLURaw-2.0.0.5 GLUT-2.7.0.16 HCodecs-0.5.2 HSoM-1.0.0 ObjectName-1.1.0.2 OpenGL-3.0.3.0 OpenGLRaw-3.3.4.1 PortMidi-0.2.0.0 QuickCheck-2.14.2 StateVar-1.2.2 Stream-0.4.7.2 UISF-0.4.0.0 array-0.5.4.0 arrows-0.4.4.2 base-4.15.1.0 binary-0.8.8.0 bytestring-0.10.12.1 containers-0.6.4.1 deepseq-1.4.5.0 directory-1.3.6.2 exceptions-0.10.4 fail-4.9.0.0 filepath-1.4.2.1 fixed-0.3 ghc-9.0.2 ghc-bignum-1.1 ghc-boot-9.0.2 ghc-boot-th-9.0.2 ghc-compact-0.1.0.0 ghc-heap-9.0.2 ghc-prim-0.7.0 ghci-9.0.2 half-0.3.1 haskeline-0.8.2 heap-1.0.4 hpc-0.6.1.0 integer-gmp-1.1 lazysmallcheck-0.6 libiserv-9.0.2 markov-chain-0.0.3.4 mtl-2.2.2 parsec-3.1.14.0 pretty-1.1.3.6 process-1.6.13.2 pure-fft-0.2.0 random-1.2.1 rts-1.0.2 semigroups-0.19.2 splitmix-0.1.0.4 stm-2.5.0.0 template-haskell-2.17.0.0 terminfo-0.4.1.5 text-1.2.5.0 time-1.9.3 transformers-0.5.6.2 unix-2.7.2.2 xhtml-3000.2.2.1 ```ghc bifurcate -o Bifurcate
from anix-shell
with the following packages in ghc's scope (ghc-pkg list
):System information
``` System: Kernel: 6.8.5-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1 clocksource: tsc avail: hpet,acpi_pm parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen root=UUID=543c6354-5d39-4703-bb64-407600dc772d rw rootflags=subvol=@ quiet rd.udev.log_priority=3 vt.global_cursor_default=0 systemd.unified_cgroup_hierarchy=1 resume=UUID=65b1555e-e8e7-41cb-84a2-63265cdbd7db loglevel=3 threadirqs sysrq_always_enabled=1 ibt=off Desktop: KDE Plasma v: 6.0.3 tk: Qt v: N/A info: frameworks v: 6.1.0 wm: kwin_x11 with: krunner vt: 2 dm: SDDM Distro: Garuda base: Arch Linux Machine: Type: Desktop System: ASUS product: N/A v: N/A serial: