3

When I installed stack by brew and setup for haskell learning, error was occurred

[1 of 1] Compiling Main             ( /private/var/folders/j6/g61rgqwj27z30t9xsxpyqj_00000gn/T/stack-sanity-check-51e69d22a73355e8/Main.hs, /private/var/folders/j6/g61rgqwj27z30t9xsxpyqj_00000gn/T/stack-sanity-check-51e69d22a73355e8/Main.o )
Linking /private/var/folders/j6/g61rgqwj27z30t9xsxpyqj_00000gn/T/stack-sanity-check-51e69d22a73355e8/Main ...
Standard error:

Undefined symbols for architecture x86_64:
  "_iconv", referenced from:
      _hs_iconv in libHSbase-4.12.0.0.a(iconv.o)
     (maybe you meant: _base_GHCziIOziEncodingziIconv_iconvEncoding1_closure, _base_GHCziIOziEncodingziIconv_iconvEncoding1_info , _base_GHCziIOziEncodingziIconv_iconvEncoding4_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding15_info , _base_GHCziIOziEncodingziIconv_iconvEncoding4_info , _base_GHCziIOziEncodingziIconv_iconvEncoding7_info , _base_GHCziIOziEncodingziIconv_iconvEncoding6_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding6_info , _base_GHCziIOziEncodingziIconv_iconvEncoding8_info , _hs_iconv_open , _base_GHCziIOziEncodingziIconv_iconvEncoding9_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding12_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding9_info , _base_GHCziIOziEncodingziIconv_iconvEncoding12_info , _base_GHCziIOziEncodingziIconv_iconvEncoding13_info , _base_GHCziIOziEncodingziIconv_iconvEncoding11_info , _base_GHCziIOziEncodingziIconv_iconvEncoding_info , _base_GHCziIOziEncodingziIconv_iconvEncoding7_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding13_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding2_info , _base_GHCziIOziEncodingziIconv_iconvEncoding11_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding14_bytes , _base_GHCziIOziEncodingziIconv_iconvEncoding15_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding3_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding8_closure , _base_GHCziIOziEncodingziIconv_iconvEncoding2_closure , _hs_iconv , _base_GHCziIOziEncodingziIconv_iconvEncoding10_bytes , _hs_iconv_close , _base_GHCziIOziEncodingziIconv_iconvEncoding5_closure )
  "_iconv_open", referenced from:
      _hs_iconv_open in libHSbase-4.12.0.0.a(iconv.o)
     (maybe you meant: _hs_iconv_open)
  "_iconv_close", referenced from:
      _hs_iconv_close in libHSbase-4.12.0.0.a(iconv.o)
     (maybe you meant: _hs_iconv_close)
  "_locale_charset", referenced from:
      _localeEncoding in libHSbase-4.12.0.0.a(PrelIOUtils.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
`gcc' failed in phase `Linker'. (Exit code: 1)

libiconv.2.4.0.dylib , libiconv.2.dylib and libiconv.dylib are in /usr/lib directory

my Mac os version is mac OS Mojave 10.14

$ iconv --version
iconv (GNU libiconv 1.15)
Copyright (C) 2000-2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Bruno Haible.

$ which iconv
/Users/{myAccountName}/.pyenv/shims/iconv

Maybe I think which iconv 's output must be /usr/lib, but it is not. That's why I wrote the which iconv callback and ask someone who knows how to change iconv 's callee.

But it is my guess. It was probably not the reason of the error. So, I also ask the other reason of the error and how to fix.

Sorry for not fluent english.

0 Answers0