cabal - Haskell reexport linker errors -
i want have function in foo.internal module used other things in there, should exposed foo module. when reexport function foo use elsewhere linker errors. using stack build code, might issue there, or cabal, not sure.
minimal working example:
module foo.internal secrets = "stuff" module foo(secrets) import foo.internal (secrets) module main import foo main = putstrln secrets when compile stack build get
package-0.1.0.0: build preprocessing library package-0.1.0.0... [1 of 2] compiling foo.internal ( src/foo/internal.hs, .stack-work/dist/x86_64-linux/cabal-1.22.5.0/build/foo/internal.o ) [2 of 2] compiling foo ( src/foo.hs, .stack-work/dist/x86_64-linux/cabal-1.22.5.0/build/foo.o ) in-place registering package-0.1.0.0... preprocessing executable 'package-exe' package-0.1.0.0... linking .stack-work/dist/x86_64-linux/cabal-1.22.5.0/build/package-exe/package-exe ... .stack-work/dist/x86_64-linux/cabal-1.22.5.0/build/package-exe/package-exe-tmp/main.o:(.text+0x26): undefined reference `packazuepdwtk5e5zzocoivjmdoj3p_fooziinternal_secrets_closure' .stack-work/dist/x86_64-linux/cabal-1.22.5.0/build/package-exe/package-exe-tmp/main.o: in function `s2re_srt': (.data+0x40): undefined reference `packazuepdwtk5e5zzocoivjmdoj3p_fooziinternal_secrets_closure' collect2: error: ld returned 1 exit status
Comments
Post a Comment