Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix windows build. #739

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Fix windows build. #739

wants to merge 1 commit into from

Conversation

Febbe
Copy link

@Febbe Febbe commented Oct 4, 2024

I finally managed to compile bsv.exe on Windows via MSYS2-ucrt64 (Mingw).
Most changes are related to the make system:

  • rm -f does not work for folders the -r (recursive option must be added)
  • the /tmp dir does not exist on Windows, instead, a local temp folder is created
  • gcc may produce *.a(static) and *.dll.a(dyn symbols) + *.dll(dyn impl) files, but .dll(both) and .lib(static) are also supported and are more common. .so files aren't created.
  • on Windows, hard links can't be updated, once created and must be removed.
  • Paths in windows may contain : (e.g.C:\), therefore a regex just for : will split those paths
    Changes to the Haskell code:
  • All changes are regarding POSIX system-specific features that can't be ported to Windows
  • Replaced those packages with windows specific or platform-independent implementations
    DISCLAIMER: I have zero knowledge about Haskell and utilized ChatGPT. Therefore, please briefly review or rewrite this part for me.
    Changes to C++:
  • Mostly replaced POSIX-specific functions with their Windows counterpart.
  • Todo: Thread timer is sort of a hack and should be done via Windows API if possible.
  • Preallocating memory is possible on Windows but fundamentally works differently - wouldn't use it without a custom allocator.
  • Fixed warnings (treated as error) about pruning reinterpret_casts.
    Now I am stuck with some errors running ghc in the build process:
Febbe@PC-Febbe UCRT64 /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc
$ make install-src

[...]

make[2]: Entering directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp'
Using tclsh: /ucrt64/bin/tclsh
Using tcl include flags:
Using tcl library flags: -ltcl86 -ltclstub86
Building with GHC 9.4.8
----- Normal build options -----
mkdir -p ./tmp
bsc start Fri Oct 4 23:33:16 CEST 2024
./update-build-version.sh
fatal: No names found, cannot describe anything.
BuildVersion.hs up-to-date
./update-build-system.sh
BuildSystem.hs up-to-date
ghc -Wtabs -fmax-pmcheck-models=800 -hidir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp/../../build/comp -odir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp/../../build/comp -stubdir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp/../../build/comp -main-is Main_bsc \
        -O2 -hide-all-packages -fasm -Wall -fno-warn-orphans -fno-warn-name-shadowing -fno-warn-unused-matches -package base -package containers -package array -package mtl -package regex-compat -package bytestring -package directory -package process -package filepath -package time -package old-time -package old-locale -package split -package syb -package integer-gmp -package text -package signal  -package Win32 -package unix-compat -iGHC/posix -iLibs -i../Parsec -i../vendor/stp/include_hs -i../vendor/yices/include_hs -i../vendor/htcl '-tmpdir ./tmp'  -I../vendor/stp/include -I../vendor/yices/include -L../vendor/htcl   --make bsc -j1 +RTS -M4G -A128m -RTS "-with-rtsopts=-H256m -K10m -i1" -rtsopts -L../vendor/stp/lib -lstp -L../vendor/yices/lib -lyices
bsc done Fri Oct 4 23:33:20 CEST 2024
bluetcl start Fri Oct 4 23:33:24 CEST 2024
ghc -Wtabs -fmax-pmcheck-models=800 -hidir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp/../../build/comp -odir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp/../../build/comp -stubdir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp/../../build/comp -O2 -hide-all-packages -fasm -Wall -fno-warn-orphans -fno-warn-name-shadowing -fno-warn-unused-matches -package base -package containers -package array -package mtl -package regex-compat -package bytestring -package directory -package process -package filepath -package time -package old-time -package old-locale -package split -package syb -package integer-gmp -package text -package signal  -package Win32 -package unix-compat -iGHC/posix -iLibs -i../Parsec -i../vendor/stp/include_hs -i../vendor/yices/include_hs -i../vendor/htcl '-tmpdir ./tmp'  -I../vendor/stp/include -I../vendor/yices/include -L../vendor/htcl   --make bluetcl -j1 +RTS -M4G -A128m -RTS -c
ghc -Wtabs -fmax-pmcheck-models=800 -hidir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp/../../build/comp -odir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp/../../build/comp -stubdir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp/../../build/comp -O2 -hide-all-packages -fasm -Wall -fno-warn-orphans -fno-warn-name-shadowing -fno-warn-unused-matches -package base -package containers -package array -package mtl -package regex-compat -package bytestring -package directory -package process -package filepath -package time -package old-time -package old-locale -package split -package syb -package integer-gmp -package text -package signal  -package Win32 -package unix-compat -iGHC/posix -iLibs -i../Parsec -i../vendor/stp/include_hs -i../vendor/yices/include_hs -i../vendor/htcl '-tmpdir ./tmp'  -I../vendor/stp/include -I../vendor/yices/include -L../vendor/htcl   --make bluetcl -j1 +RTS -M4G -A128m -RTS -L../vendor/stp/lib -lstp -L../vendor/yices/lib -lyices  -ltcl86 -ltclstub86 -lhtcl  \
        -o bluetcl \
        -no-hs-main \
        -x c bluetcl_Main.hsc
[149 of 149] Linking bluetcl.exe [Objects changed]
bluetcl done Fri Oct 4 23:33:31 CEST 2024
mkdir -p -m 755 /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/core
install -m 755 bsc /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/core/bsc
mkdir -p -m 755 /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin
install -m 755 wrapper.sh /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/bsc
mkdir -p -m 755 /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/core
install -m 755 bluetcl /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/core/bluetcl
mkdir -p -m 755 /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin
install -m 755 wrapper.sh /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/bluetcl
make[2]: Leaving directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp'
make  -C Libraries  PREFIX=/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst  install
make[2]: Entering directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/Libraries'
make -C Base1 build &&  make -C Base2 build &&  make -C Base3-Misc build &&  make -C Base3-Contexts build &&  make -C Base3-Math build && true
make[3]: Entering directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/Libraries/Base1'
/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/bsc -stdlib-names -bdir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/build/bsvlib -p . -vsearch /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/build/bsvlib -no-use-prelude Prelude.bs
Mingw-w64 runtime failure:
32 bit pseudo relocation at 00007FF606E431EC out of range, targeting 00007FFA43C204C0, yielding the value 000000043CDDD2D0.
make[3]: *** [Makefile:26: /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/build/bsvlib/Prelude.bo] Error 127
make[3]: Leaving directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/Libraries/Base1'
make[2]: *** [Makefile:31: build] Error 2
make[2]: Leaving directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/Libraries'
make[1]: *** [Makefile:62: install] Error 2
make[1]: Leaving directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src'
make: *** [GNUmakefile:41: install-src] Error 2

Sometimes on a clean build I get this:

Febbe@PC-Febbe UCRT64 /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc
$ make install-src
[...]

In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:69:0: error:
In file included from C:\msys64\mingw64\include\windef.h:9:0: error:
In file included from C:\msys64\mingw64\include\minwindef.h:163:0: error:
C:\msys64\mingw64\include\winnt.h:3041:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
3041 | #include <pshpack4.h>
     |          ^
#include <pshpack4.h>
         ^
C:\msys64\mingw64\include\pshpack4.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,4)
  |         ^
#pragma pack(push,4)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:69:0: error:
In file included from C:\msys64\mingw64\include\windef.h:9:0: error:
In file included from C:\msys64\mingw64\include\minwindef.h:163:0: error:
C:\msys64\mingw64\include\winnt.h:3048:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
3048 | #include <poppack.h>
     |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
C:\msys64\mingw64\include\winnt.h:7166:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
7166 | #include "pshpack4.h"
     |          ^
#include "pshpack4.h"
         ^
C:\msys64\mingw64\include\pshpack4.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,4)
  |         ^
#pragma pack(push,4)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:69:0: error:
In file included from C:\msys64\mingw64\include\windef.h:9:0: error:
In file included from C:\msys64\mingw64\include\minwindef.h:163:0: error:
C:\msys64\mingw64\include\winnt.h:7174:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
7174 | #include "pshpack2.h"
     |          ^
#include "pshpack2.h"
         ^
C:\msys64\mingw64\include\pshpack2.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,2)
  |         ^
#pragma pack(push,2)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:69:0: error:
In file included from C:\msys64\mingw64\include\windef.h:9:0: error:
In file included from C:\msys64\mingw64\include\minwindef.h:163:0: error:
C:\msys64\mingw64\include\winnt.h:7285:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
7285 | #include "poppack.h"
     |          ^
#include "poppack.h"
         ^
C:\msys64\mingw64\include\pshpack4.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,4)
  |         ^
#pragma pack(push,4)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:69:0: error:
In file included from C:\msys64\mingw64\include\windef.h:9:0: error:
In file included from C:\msys64\mingw64\include\minwindef.h:163:0: error:
C:\msys64\mingw64\include\winnt.h:7634:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
7634 | #include "pshpack2.h"
     |          ^
#include "pshpack2.h"
         ^
C:\msys64\mingw64\include\pshpack2.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,2)
  |         ^
#pragma pack(push,2)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:69:0: error:
In file included from C:\msys64\mingw64\include\windef.h:9:0: error:
In file included from C:\msys64\mingw64\include\minwindef.h:163:0: error:
C:\msys64\mingw64\include\winnt.h:8205:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
8205 | #include "poppack.h"
     |          ^
#include "poppack.h"
         ^
C:\msys64\mingw64\include\pshpack4.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,4)
  |         ^
#pragma pack(push,4)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:69:0: error:
In file included from C:\msys64\mingw64\include\windef.h:9:0: error:
In file included from C:\msys64\mingw64\include\minwindef.h:163:0: error:
C:\msys64\mingw64\include\winnt.h:8265:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
8265 | #include "pshpack8.h"
     |          ^
#include "pshpack8.h"
         ^
C:\msys64\mingw64\include\pshpack8.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,8)
  |         ^
#pragma pack(push,8)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:69:0: error:
In file included from C:\msys64\mingw64\include\windef.h:9:0: error:
In file included from C:\msys64\mingw64\include\minwindef.h:163:0: error:
C:\msys64\mingw64\include\winnt.h:8277:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
8277 | #include "poppack.h"
     |          ^
#include "poppack.h"
         ^
C:\msys64\mingw64\include\pshpack4.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,4)
  |         ^
#pragma pack(push,4)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:69:0: error:
In file included from C:\msys64\mingw64\include\windef.h:9:0: error:
In file included from C:\msys64\mingw64\include\minwindef.h:163:0: error:
C:\msys64\mingw64\include\winnt.h:8719:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
8719 | #include "poppack.h"
     |          ^
#include "poppack.h"
         ^
note: previous '#pragma pack' directive that modifies alignment is here
C:\msys64\mingw64\include\winnt.h:9218:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
9218 | #include <pshpack8.h>
     |          ^
#include <pshpack8.h>
         ^
C:\msys64\mingw64\include\pshpack8.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,8)
  |         ^
#pragma pack(push,8)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:69:0: error:
In file included from C:\msys64\mingw64\include\windef.h:9:0: error:
In file included from C:\msys64\mingw64\include\minwindef.h:163:0: error:
C:\msys64\mingw64\include\winnt.h:9227:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
9227 | #include <poppack.h>
     |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
C:\msys64\mingw64\include\winnt.h:10312:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
      |
10312 | #include "pshpack4.h"
      |          ^
#include "pshpack4.h"
         ^
C:\msys64\mingw64\include\pshpack4.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,4)
  |         ^
#pragma pack(push,4)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:69:0: error:
In file included from C:\msys64\mingw64\include\windef.h:9:0: error:
In file included from C:\msys64\mingw64\include\minwindef.h:163:0: error:
C:\msys64\mingw64\include\winnt.h:10340:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
      |
10340 | #include "poppack.h"
      |          ^
#include "poppack.h"
         ^
note: previous '#pragma pack' directive that modifies alignment is here
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:71:0: error:
C:\msys64\mingw64\include\wingdi.h:471:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
471 | #include <pshpack1.h>
    |          ^
#include <pshpack1.h>
         ^
C:\msys64\mingw64\include\pshpack1.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,1)
  |         ^
#pragma pack(push,1)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:71:0: error:
C:\msys64\mingw64\include\wingdi.h:477:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
477 | #include <poppack.h>
    |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
C:\msys64\mingw64\include\wingdi.h:683:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
683 | #include <pshpack2.h>
    |          ^
#include <pshpack2.h>
         ^
C:\msys64\mingw64\include\pshpack2.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,2)
  |         ^
#pragma pack(push,2)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:71:0: error:
C:\msys64\mingw64\include\wingdi.h:691:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
691 | #include <poppack.h>
    |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
C:\msys64\mingw64\include\wingdi.h:752:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
752 | #include <pshpack2.h>
    |          ^
#include <pshpack2.h>
         ^
C:\msys64\mingw64\include\pshpack2.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,2)
  |         ^
#pragma pack(push,2)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:71:0: error:
C:\msys64\mingw64\include\wingdi.h:765:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
765 | #include <poppack.h>
    |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
C:\msys64\mingw64\include\wingdi.h:816:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
816 | #include <pshpack4.h>
    |          ^
#include <pshpack4.h>
         ^
C:\msys64\mingw64\include\pshpack4.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,4)
  |         ^
#pragma pack(push,4)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:71:0: error:
C:\msys64\mingw64\include\wingdi.h:868:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
868 | #include <poppack.h>
    |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
C:\msys64\mingw64\include\wingdi.h:884:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
884 | #include <pshpack4.h>
    |          ^
#include <pshpack4.h>
         ^
C:\msys64\mingw64\include\pshpack4.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,4)
  |         ^
#pragma pack(push,4)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:71:0: error:
C:\msys64\mingw64\include\wingdi.h:944:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
944 | #include <poppack.h>
    |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:72:0: error:
C:\msys64\mingw64\include\winuser.h:2338:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
2338 | #include <pshpack2.h>
     |          ^
#include <pshpack2.h>
         ^
C:\msys64\mingw64\include\pshpack2.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,2)
  |         ^
#pragma pack(push,2)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:72:0: error:
C:\msys64\mingw64\include\winuser.h:2388:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
2388 | #include <poppack.h>
     |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:86:0: error:
In file included from C:\msys64\mingw64\include\mmsystem.h:12:0: error:
C:\msys64\mingw64\include\mmsyscom.h:12:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
   |
12 | #include <pshpack1.h>
   |          ^
#include <pshpack1.h>
         ^
C:\msys64\mingw64\include\pshpack1.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,1)
  |         ^
#pragma pack(push,1)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:86:0: error:
In file included from C:\msys64\mingw64\include\mmsystem.h:12:0: error:
C:\msys64\mingw64\include\mmsyscom.h:198:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
198 | #include <poppack.h>
    |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:86:0: error:
C:\msys64\mingw64\include\mmsystem.h:14:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
   |
14 | #include <pshpack1.h>
   |          ^
#include <pshpack1.h>
         ^
C:\msys64\mingw64\include\pshpack1.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,1)
  |         ^
#pragma pack(push,1)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:86:0: error:
C:\msys64\mingw64\include\mmsystem.h:55:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
   |
55 | #include <poppack.h>
   |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:88:0: error:
C:\msys64\mingw64\include\rpc.h:39:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
   |
39 | #include <pshpack8.h>
   |          ^
#include <pshpack8.h>
         ^
C:\msys64\mingw64\include\pshpack8.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,8)
  |         ^
#pragma pack(push,8)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:88:0: error:
C:\msys64\mingw64\include\rpc.h:108:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
108 | #include <poppack.h>
    |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:90:0: error:
C:\msys64\mingw64\include\winperf.h:9:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
  |
9 | #include <pshpack8.h>
  |          ^
#include <pshpack8.h>
         ^
C:\msys64\mingw64\include\pshpack8.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,8)
  |         ^
#pragma pack(push,8)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:90:0: error:
C:\msys64\mingw64\include\winperf.h:192:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
192 | #include <poppack.h>
    |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:97:0: error:
In file included from C:\msys64\mingw64\include\winscard.h:10:0: error:
In file included from C:\msys64\mingw64\include\wtypes.h:8:0: error:
C:\msys64\mingw64\include\rpcndr.h:19:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
   |
19 | #include <pshpack8.h>
   |          ^
#include <pshpack8.h>
         ^
C:\msys64\mingw64\include\pshpack8.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,8)
  |         ^
#pragma pack(push,8)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:97:0: error:
In file included from C:\msys64\mingw64\include\winscard.h:10:0: error:
In file included from C:\msys64\mingw64\include\wtypes.h:8:0: error:
C:\msys64\mingw64\include\rpcndr.h:905:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
905 | #include <poppack.h>
    |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:97:0: error:
In file included from C:\msys64\mingw64\include\winscard.h:10:0: error:
In file included from C:\msys64\mingw64\include\wtypes.h:13:0: error:
C:\msys64\mingw64\include\ole2.h:10:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
   |
10 | #include <pshpack8.h>
   |          ^
#include <pshpack8.h>
         ^
C:\msys64\mingw64\include\pshpack8.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,8)
  |         ^
#pragma pack(push,8)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:97:0: error:
In file included from C:\msys64\mingw64\include\winscard.h:10:0: error:
In file included from C:\msys64\mingw64\include\wtypes.h:13:0: error:
In file included from C:\msys64\mingw64\include\ole2.h:17:0: error:
In file included from C:\msys64\mingw64\include\objbase.h:66:0: error:
C:\msys64\mingw64\include\objidl.h:9973:5: error:
     warning: declaration does not declare anything [-Wmissing-declarations]
        struct _STGMEDIUM_UNION {
        ^
     |
9973 |     struct _STGMEDIUM_UNION {
     |     ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:97:0: error:
In file included from C:\msys64\mingw64\include\winscard.h:10:0: error:
In file included from C:\msys64\mingw64\include\wtypes.h:13:0: error:
C:\msys64\mingw64\include\ole2.h:146:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
146 | #include <poppack.h>
    |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:97:0: error:
In file included from C:\msys64\mingw64\include\winscard.h:11:0: error:
C:\msys64\mingw64\include\winioctl.h:784:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
784 | #include <pshpack1.h>
    |          ^
#include <pshpack1.h>
         ^
C:\msys64\mingw64\include\pshpack1.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,1)
  |         ^
#pragma pack(push,1)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:97:0: error:
In file included from C:\msys64\mingw64\include\winscard.h:11:0: error:
C:\msys64\mingw64\include\winioctl.h:790:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
790 | #include <poppack.h>
    |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
C:\msys64\mingw64\include\winioctl.h:1066:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
1066 | #include <pshpack1.h>
     |          ^
#include <pshpack1.h>
         ^
C:\msys64\mingw64\include\pshpack1.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,1)
  |         ^
#pragma pack(push,1)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:97:0: error:
In file included from C:\msys64\mingw64\include\winscard.h:11:0: error:
C:\msys64\mingw64\include\winioctl.h:1075:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
1075 | #include <poppack.h>
     |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
C:\msys64\mingw64\include\winioctl.h:1081:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
1081 | #include <pshpack1.h>
     |          ^
#include <pshpack1.h>
         ^
C:\msys64\mingw64\include\pshpack1.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,1)
  |         ^
#pragma pack(push,1)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:97:0: error:
In file included from C:\msys64\mingw64\include\winscard.h:11:0: error:
C:\msys64\mingw64\include\winioctl.h:1092:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
1092 | #include <poppack.h>
     |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
C:\msys64\mingw64\include\winioctl.h:1101:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
1101 | #include <pshpack1.h>
     |          ^
#include <pshpack1.h>
         ^
C:\msys64\mingw64\include\pshpack1.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,1)
  |         ^
#pragma pack(push,1)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:97:0: error:
In file included from C:\msys64\mingw64\include\winscard.h:11:0: error:
C:\msys64\mingw64\include\winioctl.h:1110:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
1110 | #include <poppack.h>
     |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
C:\msys64\mingw64\include\winioctl.h:1112:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
1112 | #include <pshpack1.h>
     |          ^
#include <pshpack1.h>
         ^
C:\msys64\mingw64\include\pshpack1.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,1)
  |         ^
#pragma pack(push,1)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:97:0: error:
In file included from C:\msys64\mingw64\include\winscard.h:11:0: error:
C:\msys64\mingw64\include\winioctl.h:1119:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
1119 | #include <poppack.h>
     |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
C:\msys64\mingw64\include\winioctl.h:1140:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
1140 | #include <pshpack1.h>
     |          ^
#include <pshpack1.h>
         ^
C:\msys64\mingw64\include\pshpack1.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,1)
  |         ^
#pragma pack(push,1)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:97:0: error:
In file included from C:\msys64\mingw64\include\winscard.h:11:0: error:
C:\msys64\mingw64\include\winioctl.h:1146:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
     |
1146 | #include <poppack.h>
     |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:102:0: error:
In file included from C:\msys64\mingw64\include\winspool.h:12:0: error:
C:\msys64\mingw64\include\prsht.h:30:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
   |
30 | #include <pshpack8.h>
   |          ^
#include <pshpack8.h>
         ^
C:\msys64\mingw64\include\pshpack8.h:7:9: error:
     note: previous '#pragma pack' directive that modifies alignment is here
  |
7 | #pragma pack(push,8)
  |         ^
#pragma pack(push,8)
        ^
In file included from tmp\ghc34276_0\ghc_117.c:2:0: error:
In file included from C:\ghcup\ghc\9.4.8\lib\x86_64-windows-ghc-9.4.8\rts-1.0.2\include\Rts.h:29:0: error:
In file included from C:\msys64\mingw64\include\windows.h:102:0: error:
In file included from C:\msys64\mingw64\include\winspool.h:12:0: error:
C:\msys64\mingw64\include\prsht.h:484:10: error:
     warning: the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]
    |
484 | #include <poppack.h>
    |          ^
#include <poppack.h>
         ^
note: previous '#pragma pack' directive that modifies alignment is here
53 warnings generated.
ghc -Wtabs -fmax-pmcheck-models=800 -hidir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp/../../build/comp -odir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp/../../build/comp -stubdir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp/../../build/comp -O2 -hide-all-packages -fasm -Wall -fno-warn-orphans -fno-warn-name-shadowing -fno-warn-unused-matches -package base -package containers -package array -package mtl -package regex-compat -package bytestring -package directory -package process -package filepath -package time -package old-time -package old-locale -package split -package syb -package integer-gmp -package text -package signal  -package Win32 -package unix-compat -iGHC/posix -iLibs -i../Parsec -i../vendor/stp/include_hs -i../vendor/yices/include_hs -i../vendor/htcl '-tmpdir ./tmp'  -I../vendor/stp/include -I../vendor/yices/include -L../vendor/htcl   --make bluetcl -j1 +RTS -M4G -A128m -RTS -L../vendor/stp/lib -lstp -L../vendor/yices/lib -lyices  -ltcl86 -ltclstub86 -lhtcl  \
        -o bluetcl \
        -no-hs-main \
        -x c bluetcl_Main.hsc
[149 of 149] Linking bluetcl.exe [Objects changed]
bluetcl done Fri Oct 4 23:27:09 CEST 2024
mkdir -p -m 755 /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/core
install -m 755 bsc /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/core/bsc
mkdir -p -m 755 /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin
install -m 755 wrapper.sh /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/bsc
mkdir -p -m 755 /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/core
install -m 755 bluetcl /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/core/bluetcl
mkdir -p -m 755 /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin
install -m 755 wrapper.sh /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/bluetcl
make[2]: Leaving directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/comp'
make  -C Libraries  PREFIX=/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst  install
make[2]: Entering directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/Libraries'
make -C Base1 build &&  make -C Base2 build &&  make -C Base3-Misc build &&  make -C Base3-Contexts build &&  make -C Base3-Math build && true
make[3]: Entering directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/Libraries/Base1'
/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/inst/bin/bsc -stdlib-names -bdir /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/build/bsvlib -p . -vsearch /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/build/bsvlib -no-use-prelude Prelude.bs
Mingw-w64 runtime failure:
32 bit pseudo relocation at 00007FF75CA131EC out of range, targeting 00007FFA43F404C0, yielding the value 00000002E752D2D0.
make[3]: *** [Makefile:26: /c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/build/bsvlib/Prelude.bo] Error 127
make[3]: Leaving directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/Libraries/Base1'
make[2]: *** [Makefile:31: build] Error 2
make[2]: Leaving directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src/Libraries'
make[1]: *** [Makefile:62: install] Error 2
make[1]: Leaving directory '/c/Users/Febbe/Desktop/ws/bsc-2024.07/bsc/src'
make: *** [GNUmakefile:41: install-src] Error 2

Copy link
Collaborator

@quark17 quark17 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thanks! Hopefully the error is something that can be figured out. If I google for it plus GHC, I find a number of results, including an open bug in GHC's issue tracker (23194) -- I don't know if maybe an older GHC version would avoid the error?

#endif
#include <cstdint>
#include <realtimeapiset.h>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This import breaks the Ubuntu builds:

time_mem.h:37:10: fatal error: realtimeapiset.h: No such file or directory

Hopefully it's a simple fix, like just moving it into the Windows arm of the if-defs.

The STP code in this repo is an old snapshot. STP is now available on GitHub and a new release was recently tagged; so we could delete the snapshot and instead checkout the STP repo as a submodule. If the newer STP builds for Windows, then that might be a better approach than trying to patch the old snapshot. However, that effort doesn't need to hold up this PR -- note that the BSC build has an option STP_STUB which can used to avoid building STP, if necessary.

getEnvDefault :: String -> String -> IO String
getEnvDefault var def = do
value <- lookupEnv var
return $ maybe def id value
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CI has a code-cleanliness check that is failing, because this line has trailing whitespace that should be removed

@Febbe
Copy link
Author

Febbe commented Oct 17, 2024

Awesome, thanks! Hopefully the error is something that can be figured out. If I google for it plus GHC, I find a number of results, including an open bug in GHC's issue tracker (23194) -- I don't know if maybe an older GHC version would avoid the error?

I found a fix to that issue, but it requires the language extension CApiFFI and ConstPtr, which requires GHC 9.8.* / base-4.18: I replaced ccall with capi and the error is gone. It seems that the usage of ccall is discouraged anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants