Problem with Windows ghc 6.8.2

Hi all, I'm not too experienced with ghc or Haskell, so I wanted to check here rather than submitting a bug: $ cat test.hs import Text.PrettyPrint main = print "foo" $ /c/ghc/ghc-6.6.1/bin/ghc test.hs $ ./main.exe "foo" $ /c/ghc/ghc-6.8.2/bin/ghc test.hs test.o(.text+0x217):fake: undefined reference to `__stginit_prettyzm1zi0zi0zi0_TextziPrettyPrint_' $ I'm using Vista64. The session above was copied from a cygwin shell, but it does the same in an msys shell or cmd.exe. Both versions of ghc were installed using the official binary distribution. I'm having trouble compiling ghc from source at the moment (I think there's another issue I'm hitting with the 6.6.1 build, haven't tracked it down yet) so I can't debug what is going wrong myself. I'd appreciate people's advice about what to do. Should my test program work or am I doing something wrong? Maybe there are some optional libraries to install that I have missed, that used to be core? Output from ghc -v test.hs follows: $ rm test.hi $ $ $ /c/ghc/ghc-6.8.2/bin/ghc -v test.hs *** Tidy Core: Result size = 16 writeBinIface: 1 Names writeBinIface: 7 dict entries *** CorePrep: Result size = 18 *** Stg2Stg: *** CodeGen: *** CodeOutput: *** Assembler: c:\ghc\ghc-6.8.2\gcc -Bc:\ghc\ghc-6.8.2\gcc-lib/ -I. -c c:\Users\mjb67\AppData\Local\Temp\ghc4332_0\ghc4332_0.s -o test.o *** Windres: c:\ghc\ghc-6.8.2\bin/windres --preprocessor="c:\ghc\ghc-6.8.2\gcc" "-Bc:\ghc\ghc-6.8.2\gcc-lib/" "-E" "-xc" "-DRC_INVOKED" --use-temp-file --input=c:/Users/mjb67/AppData/Local/Temp/ghc4332_0/ghc4332_0.rc --output=c:/Users/mjb67/AppData/Local/Temp/ghc4332_0/ghc4332_0.o --output-format=coff *** Linker: c:\ghc\ghc-6.8.2\gcc -Bc:\ghc\ghc-6.8.2\gcc-lib/ -v -o main.exe -DDONT_WANT_WIN32_DLL_SUPPORT test.o c:/Users/mjb67/AppData/Local/Temp/ghc4332_0/ghc4332_0.o -Lc:/ghc/ghc-6.8.2/lib\haskell98-1.0.1.0 -Lc:/ghc/ghc-6.8.2/lib\array-0.1.0.0 -Lc:/ghc/ghc-6.8.2/lib\process-1.0.0.0 -Lc:/ghc/ghc-6.8.2/lib\random-1.0.0.0 -Lc:/ghc/ghc-6.8.2/lib\directory-1.0.0.0 -Lc:/ghc/ghc-6.8.2/lib\filepath-1.1.0.0 -Lc:/ghc/ghc-6.8.2/lib\old-time-1.0.0.0 -Lc:/ghc/ghc-6.8.2/lib\old-locale-1.0.0.0 -Lc:/ghc/ghc-6.8.2/lib\base-3.0.1.0 -Lc:/ghc/ghc-6.8.2 -Lc:/ghc/ghc-6.8.2/gcc-lib -lHShaskell98-1.0.1.0 -lHSarray-0.1.0.0 -lHSprocess-1.0.0.0 -lHSrandom-1.0.0.0 -lHSdirectory-1.0.0.0 -lHSfilepath-1.1.0.0 -lHSold-time-1.0.0.0 -lHSold-locale-1.0.0.0 -lHSbase-3.0.1.0 -lwsock32 -lmsvcrt -lkernel32 -luser32 -lshell32 -lHSrts -lm -lgmp -lwsock32 -u _base_GHCziBase_Izh_static_info -u _base_GHCziBase_Czh_static_info -u _base_GHCziFloat_Fzh_static_info -u _base_GHCziFloat_Dzh_static_info -u _base_GHCziPtr_Ptr_static_info -u _base_GHCziWord_Wzh_static_info -u _base_GHCziInt_I8zh_static_info -u _base_GHCziInt_I16zh_static_info -u _base_GHCziInt_I32zh_static_info -u _base_GHCziInt_I64zh_static_info -u _base_GHCziWord_W8zh_static_info -u _base_GHCziWord_W16zh_static_info -u _base_GHCziWord_W32zh_static_info -u _base_GHCziWord_W64zh_static_info -u _base_GHCziStable_StablePtr_static_info -u _base_GHCziBase_Izh_con_info -u _base_GHCziBase_Czh_con_info -u _base_GHCziFloat_Fzh_con_info -u _base_GHCziFloat_Dzh_con_info -u _base_GHCziPtr_Ptr_con_info -u _base_GHCziPtr_FunPtr_con_info -u _base_GHCziStable_StablePtr_con_info -u _base_GHCziBase_False_closure -u _base_GHCziBase_True_closure -u _base_GHCziPack_unpackCString_closure -u _base_GHCziIOBase_stackOverflow_closure -u _base_GHCziIOBase_heapOverflow_closure -u _base_GHCziIOBase_NonTermination_closure -u _base_GHCziIOBase_BlockedOnDeadMVar_closure -u _base_GHCziIOBase_BlockedIndefinitely_closure -u _base_GHCziIOBase_Deadlock_closure -u _base_GHCziIOBase_NestedAtomically_closure -u _base_GHCziWeak_runFinalizzerBatch_closure -u _base_GHCziConc_ensureIOManagerIsRunning_closure Reading specs from c:/ghc/ghc-6.8.2/gcc-lib/specs Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debug Thread model: win32 gcc version 3.4.2 (mingw-special) ld -Bdynamic -o main.exe -u _base_GHCziBase_Izh_static_info -u _base_GHCziBase_Czh_static_info -u _base_GHCziFloat_Fzh_static_info -u _base_GHCziFloat_Dzh_static_info -u _base_GHCziPtr_Ptr_static_info -u _base_GHCziWord_Wzh_static_info -u _base_GHCziInt_I8zh_static_info -u _base_GHCziInt_I16zh_static_info -u _base_GHCziInt_I32zh_static_info -u _base_GHCziInt_I64zh_static_info -u _base_GHCziWord_W8zh_static_info -u _base_GHCziWord_W16zh_static_info -u _base_GHCziWord_W32zh_static_info -u _base_GHCziWord_W64zh_static_info -u _base_GHCziStable_StablePtr_static_info -u _base_GHCziBase_Izh_con_info -u _base_GHCziBase_Czh_con_info -u _base_GHCziFloat_Fzh_con_info -u _base_GHCziFloat_Dzh_con_info -u _base_GHCziPtr_Ptr_con_info -u _base_GHCziPtr_FunPtr_con_info -u _base_GHCziStable_StablePtr_con_info -u _base_GHCziBase_False_closure -u _base_GHCziBase_True_closure -u _base_GHCziPack_unpackCString_closure -u _base_GHCziIOBase_stackOverflow_closure -u _base_GHCziIOBase_heapOverflow_closure -u _base_GHCziIOBase_NonTermination_closure -u _base_GHCziIOBase_BlockedOnDeadMVar_closure -u _base_GHCziIOBase_BlockedIndefinitely_closure -u _base_GHCziIOBase_Deadlock_closure -u _base_GHCziIOBase_NestedAtomically_closure -u _base_GHCziWeak_runFinalizzerBatch_closure -u _base_GHCziConc_ensureIOManagerIsRunning_closure c:/ghc/ghc-6.8.2/gcc-lib/crt2.o c:/ghc/ghc-6.8.2/gcc-lib/crtbegin.o -Lc:/ghc/ghc-6.8.2/lib\haskell98-1.0.1.0 -Lc:/ghc/ghc-6.8.2/lib\array-0.1.0.0 -Lc:/ghc/ghc-6.8.2/lib\process-1.0.0.0 -Lc:/ghc/ghc-6.8.2/lib\random-1.0.0.0 -Lc:/ghc/ghc-6.8.2/lib\directory-1.0.0.0 -Lc:/ghc/ghc-6.8.2/lib\filepath-1.1.0.0 -Lc:/ghc/ghc-6.8.2/lib\old-time-1.0.0.0 -Lc:/ghc/ghc-6.8.2/lib\old-locale-1.0.0.0 -Lc:/ghc/ghc-6.8.2/lib\base-3.0.1.0 -Lc:/ghc/ghc-6.8.2 -Lc:/ghc/ghc-6.8.2/gcc-lib -Lc:/ghc/ghc-6.8.2/gcc-lib test.o c:/Users/mjb67/AppData/Local/Temp/ghc4332_0/ghc4332_0.o -lHShaskell98-1.0.1.0 -lHSarray-0.1.0.0 -lHSprocess-1.0.0.0 -lHSrandom-1.0.0.0 -lHSdirectory-1.0.0.0 -lHSfilepath-1.1.0.0 -lHSold-time-1.0.0.0 -lHSold-locale-1.0.0.0 -lHSbase-3.0.1.0 -lwsock32 -lmsvcrt -lkernel32 -luser32 -lshell32 -lHSrts -lm -lgmp -lwsock32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt c:/ghc/ghc-6.8.2/gcc-lib/crtend.o test.o(.text+0x217):fake: undefined reference to `__stginit_prettyzm1zi0zi0zi0_TextziPrettyPrint_' *** Deleting temp files: Deleting: c:/Users/mjb67/AppData/Local/Temp/ghc4332_0/ghc4332_0.o c:/Users/mjb67/AppData/Local/Temp/ghc4332_0/ghc4332_0.rc c:/Users/mjb67/AppData/Local/Temp/ghc4332_0/ghc4332_0.s *** Deleting temp dirs: Deleting: c:/Users/mjb67/AppData/Local/Temp/ghc4332_0

Am Sonntag, 24. Februar 2008 01:54 schrieb Matthew Bentham:
Hi all,
I'm not too experienced with ghc or Haskell, so I wanted to check here rather than submitting a bug:
It's probably the base-split. In 6.6.1, Text.PrettyPrint was in the base package, in 6.8.2 it's in the pretty package. Try compiling with -package pretty, or better still, with --make: /path/to/ghc --make test or /path/to/ghc -o test.exe test.hs -package pretty If that's not it, you might have a real problem. Cheers, Daniel
$ cat test.hs import Text.PrettyPrint main = print "foo" $ /c/ghc/ghc-6.6.1/bin/ghc test.hs $ ./main.exe "foo" $ /c/ghc/ghc-6.8.2/bin/ghc test.hs test.o(.text+0x217):fake: undefined reference to `__stginit_prettyzm1zi0zi0zi0_TextziPrettyPrint_' $
I'm using Vista64. The session above was copied from a cygwin shell, but it does the same in an msys shell or cmd.exe. Both versions of ghc were installed using the official binary distribution.
I'm having trouble compiling ghc from source at the moment (I think there's another issue I'm hitting with the 6.6.1 build, haven't tracked it down yet) so I can't debug what is going wrong myself.
I'd appreciate people's advice about what to do. Should my test program work or am I doing something wrong? Maybe there are some optional libraries to install that I have missed, that used to be core?
participants (2)
-
Daniel Fischer
-
Matthew Bentham