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

Is Haste supposed/known to work on FreeBSD? #410

Open
WolframKahl opened this issue Sep 14, 2017 · 4 comments
Open

Is Haste supposed/known to work on FreeBSD? #410

WolframKahl opened this issue Sep 14, 2017 · 4 comments

Comments

@WolframKahl
Copy link

I am trying now, for the first time, to install Haste on my PC-BSD laptop; this is essentially a thin wrapper around FreeBSD 10.3-RELEASE-p5.

With haste-compiler, I am still using 8ac3ae9 .

Identical procedure (involving a custom installation of GHC-7.10.3) works on Linux.

On the PC-BSD box I get very low-level errors from haste-boot, so my first suspicion is that maybe Haste hasn't been tried on FreeBSD yet?

Downloading Google Closure compiler...
Reading package info from "libraries/rts.pkg" ... done.
Warning: Topdown solver is deprecated
Resolving dependencies...
Configuring ghc-prim-0.4.0.0...
Building ghc-prim-0.4.0.0...
Installed ghc-prim-0.4.0.0
Reading package info from "ghc-prim-0.4.0.0.conf" ... done.
Warning: Topdown solver is deprecated
Resolving dependencies...
Configuring integer-gmp-0.5.0.0...
Building integer-gmp-0.5.0.0...
Installed integer-gmp-0.5.0.0
cleaning...
Warning: Topdown solver is deprecated
Resolving dependencies...
Configuring base-4.8.0.0...
Building base-4.8.0.0...
Failed to install base-4.8.0.0
Build log ( /usr/home/kahl/.haste-cabal/logs/base-4.8.0.0.log ):
Configuring base-4.8.0.0...
Building base-4.8.0.0...
Preprocessing library base-4.8.0.0...
In file included from include/Rts.h:216:0,
                 from Flags.hsc:32:
include/rts/storage/Block.h: In function 'Bdescr':
include/rts/storage/Block.h:171:8: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     ((((W_)p &  MBLOCK_MASK & ~BLOCK_MASK) >> (BLOCK_SHIFT-BDESCR_SHIFT))
        ^
include/rts/storage/Block.h:172:9: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
      | ((W_)p & ~MBLOCK_MASK)
         ^
In file included from include/Rts.h:217:0,
                 from Flags.hsc:32:
include/rts/storage/ClosureMacros.h: In function 'GET_CLOSURE_TAG':
include/rts/storage/ClosureMacros.h:205:12: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     return (StgWord)p & TAG_MASK;
            ^
include/rts/storage/ClosureMacros.h: In function 'UNTAG_CLOSURE':
include/rts/storage/ClosureMacros.h:211:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     return (StgClosure*)((StgWord)p & ~TAG_MASK);
                          ^
include/rts/storage/ClosureMacros.h:211:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     return (StgClosure*)((StgWord)p & ~TAG_MASK);
            ^
include/rts/storage/ClosureMacros.h: In function 'TAG_CLOSURE':
include/rts/storage/ClosureMacros.h:217:26: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     return (StgClosure*)((StgWord)p | tag);
                          ^
include/rts/storage/ClosureMacros.h:217:12: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     return (StgClosure*)((StgWord)p | tag);
            ^
include/rts/storage/ClosureMacros.h: In function 'LOOKS_LIKE_INFO_PTR_NOT_NULL':
include/rts/storage/ClosureMacros.h:247:45: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
     StgInfoTable *info = INFO_PTR_TO_STRUCT((StgInfoTable *)p);
                                             ^
include/rts/storage/ClosureMacros.h: In function 'LOOKS_LIKE_CLOSURE_PTR':
include/rts/storage/ClosureMacros.h:258:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     return LOOKS_LIKE_INFO_PTR((StgWord)(UNTAG_CLOSURE((StgClosure *)(p)))->header.info);
                                ^
In file included from include/Rts.h:209:0,
                 from Flags.hsc:32:
include/rts/storage/ClosureMacros.h: In function 'stack_frame_sizeW':
include/rts/storage/InfoTables.h:390:53: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 #define GET_LARGE_BITMAP(info) ((StgLargeBitmap*) (((StgWord) ((info)+1)) \
                                                     ^
include/rts/storage/ClosureMacros.h:431:20: note: in expansion of macro 'GET_LARGE_BITMAP'
         return 1 + GET_LARGE_BITMAP(&info->i)->size;
                    ^
include/rts/storage/InfoTables.h:390:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
 #define GET_LARGE_BITMAP(info) ((StgLargeBitmap*) (((StgWord) ((info)+1)) \
                                 ^
include/rts/storage/ClosureMacros.h:431:20: note: in expansion of macro 'GET_LARGE_BITMAP'
         return 1 + GET_LARGE_BITMAP(&info->i)->size;
                    ^
In file included from include/Rts.h:210:0,
                 from Flags.hsc:32:
include/rts/storage/ClosureMacros.h:434:36: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
         return 2 + BCO_BITMAP_SIZE((StgBCO *)((P_)frame)[1]);
                                    ^
include/rts/storage/Closures.h:254:61: note: in definition of macro 'BCO_BITMAP'
 #define BCO_BITMAP(bco)      ((StgLargeBitmap *)((StgBCO *)(bco))->bitmap)
                                                             ^
include/rts/storage/ClosureMacros.h:434:20: note: in expansion of macro 'BCO_BITMAP_SIZE'
         return 2 + BCO_BITMAP_SIZE((StgBCO *)((P_)frame)[1]);
                    ^
In file included from include/Rts.h:234:0,
                 from Flags.hsc:32:
include/rts/Threads.h: At top level:
include/rts/Threads.h:53:1: error: unknown type name 'pid_t'
 pid_t  forkProcess     (HsStablePtr *entry);
 ^
In file included from include/Rts.h:237:0,
                 from Flags.hsc:32:
include/rts/Stable.h: In function 'deRefStablePtr':
include/rts/Stable.h:40:29: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     return stable_ptr_table[(StgWord)sp].addr;
                             ^
compiling dist/build/GHC/RTS/Flags_hsc_make.c failed (exit code 1)
command was: /usr/local/bin/gcc -c dist/build/GHC/RTS/Flags_hsc_make.c -o dist/build/GHC/RTS/Flags_hsc_make.o -fno-stack-protector -D__GLASGOW_HASKELL__=710 -D__HASTE__=006 -Dfreebsd_BUILD_OS=1 -Dx86_64_BUILD_ARCH=1 -Dfreebsd_HOST_OS=1 -Dx86_64_HOST_ARCH=1 -Iinclude -Idist/build/autogen -include dist/build/autogen/cabal_macros.h -I/usr/home/kahl/.haste/x86_64-freebsd-haste-0.6.0.0-ghc-7.10.3/include -I/usr/local/packages/CalcCheck5/lib/ghc-7.10.3/include/
ExitFailure 1ExitFailure 1haste-cabal.bin: Error: some packages failed to install:
base-4.8.0.0 failed during the building phase. The exception was:
ExitFailure 1
haste-boot: Command `/usr/local/packages/CalcCheck5/bin/haste-cabal' failed with error code 1

$ uname -a
FreeBSD hermes 10.3-RELEASE-p5 FreeBSD 10.3-RELEASE-p5 #0: Thu Jun 30 03:52:15 UTC 2016     root@amd64-builder.pcbsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
@valderman
Copy link
Owner

It's never been tested on any BSD except for OSX, I'm afraid. The build is quite brittle at the moment, but I imagine that once the build is fixed everything should probably work. Unfortunately I don't have time to spare supporting BSD, but I'd gladly merge any related PRs.

@WolframKahl
Copy link
Author

On OSX, are you using clang or gcc?
Any pointers where to start on this, if I get to looking into it in detail?

@valderman
Copy link
Owner

It's the clang GCC wrapper, I'm afraid. The best place to start is probably the system includes (as well as the ones for base). The current set is essentially a pre-configured set of Linux GHC includes, beaten with a hammer just enough times to compile on OSX and Windows too. Properly generating these from autoconf (or just beating them with a hammer some more...) would likely go a long way towards fixing the problem.

@WolframKahl
Copy link
Author

WolframKahl commented Sep 15, 2017 via email

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

No branches or pull requests

2 participants