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