
Friends I'm getting the dreaded "Too many symbols in DLL" problem on Windows (see below). I believe I can get round it by using static linking only, yes? But how do I do that? I have DYNAMIC_BY_DEFAULT = NO DYNAMIC_GHC_PROGRAMS = NO in my validate.mk, but it still happens. Static only will do me fine! Thanks! Simon Number of symbols in compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll: 69595 case `C:/code/HEAD/inplace/mingw/bin/objdump.exe -p compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll | sed -n "1,/^.Ordinal\/Name Pointer/ D; p; /^$/ q" | grep "\[ *0\]" | wc -l` in 1) echo DLL compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll OK;; 0) echo No symbols in DLL compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll; exit 1;; [0-9]*) echo Too many symbols in DLL compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll; C:/code/HEAD/inplace/mingw/bin/objdump.exe -p compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll | sed -n "1,/^.Ordinal\/Name Pointer/ D; p; /^$/ q" | tail; exit 1;; *) echo bad DLL compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll; exit 1;; esac Too many symbols in DLL compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll [4050] ghczm7zi7zi20131119_Var_zdfUniquableVar_closure [4051] ghczm7zi7zi20131119_Var_zdfUniquableVar_info [4052] ghczm7zi7zi20131119_Var_zdwsetVarUnique_closure [4053] ghczm7zi7zi20131119_Var_zdwsetVarUnique_info [4054] ghczm7zi7zi20131119_Var_zdwupdateTyVarKindM_closure [4055] ghczm7zi7zi20131119_Var_zdwupdateTyVarKindM_info [4056] ghczm7zi7zi20131119_Var_zdwzdcgmapMp_closure [4057] ghczm7zi7zi20131119_Var_zdwzdcgmapMp_info [4058] setHeapSize compiler/ghc.mk:472: recipe for target 'compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll' failed make[1]: *** [compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll] Error 1 make[1]: *** Deleting file 'compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll' Makefile:64: recipe for target 'all' failed make: *** [all] Error 2 HEAD $

I had a similar problem until I removed these lines: ifeq "$(PlatformSupportsSharedLibs)" "YES" GhcLibWays += dyn endif from my build.mk. On 11/21/2013 01:11, Simon Peyton-Jones wrote:
Friends
I'm getting the dreaded "Too many symbols in DLL" problem on Windows (see below).
I believe I can get round it by using static linking only, yes? But how do I do that? I have
DYNAMIC_BY_DEFAULT = NO
DYNAMIC_GHC_PROGRAMS = NO
in my validate.mk, but it still happens. Static only will do me fine!
Thanks!
Simon
Number of symbols in compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll: 69595
case `C:/code/HEAD/inplace/mingw/bin/objdump.exe -p compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll | sed -n "1,/^.Ordinal\/Name Pointer/ D; p; /^$/ q" | grep "\[ *0\]" | wc -l` in 1) echo DLL compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll OK;; 0) echo No symbols in DLL compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll; exit 1;; [0-9]*) echo Too many symbols in DLL compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll; C:/code/HEAD/inplace/mingw/bin/objdump.exe -p compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll | sed -n "1,/^.Ordinal\/Name Pointer/ D; p; /^$/ q" | tail; exit 1;; *) echo bad DLL compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll; exit 1;; esac
Too many symbols in DLL compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll
[4050] ghczm7zi7zi20131119_Var_zdfUniquableVar_closure
[4051] ghczm7zi7zi20131119_Var_zdfUniquableVar_info
[4052] ghczm7zi7zi20131119_Var_zdwsetVarUnique_closure
[4053] ghczm7zi7zi20131119_Var_zdwsetVarUnique_info
[4054] ghczm7zi7zi20131119_Var_zdwupdateTyVarKindM_closure
[4055] ghczm7zi7zi20131119_Var_zdwupdateTyVarKindM_info
[4056] ghczm7zi7zi20131119_Var_zdwzdcgmapMp_closure
[4057] ghczm7zi7zi20131119_Var_zdwzdcgmapMp_info
[4058] setHeapSize
compiler/ghc.mk:472: recipe for target 'compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll' failed
make[1]: *** [compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll] Error 1
make[1]: *** Deleting file 'compiler/stage2/build/libHSghc-7.7.20131119-0-ghc7.7.20131119.dll'
Makefile:64: recipe for target 'all' failed
make: *** [all] Error 2
HEAD $
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
participants (2)
-
kyra
-
Simon Peyton-Jones