Linux 由于iconv错误,我无法执行堆栈设置
当我安装stack by brew并为haskell learning设置时,出现了错误Linux 由于iconv错误,我无法执行堆栈设置,linux,haskell,Linux,Haskell,当我安装stack by brew并为haskell learning设置时,出现了错误 [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-sa
[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
和libiconv.dylib
都在
/usr/lib
目录
我的Mac os版本是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
$iconv--版本
iconv(GNU libiconv 1.15)
版权所有(C)2000—2017自由软件基金会。
许可证GPLv3+:GNU GPL版本3或更高版本
这是自由软件:您可以自由更改和重新发布它。
在法律允许的范围内,不存在任何担保。
布鲁诺·海布尔写的。
$iconv
/Users/{myAccountName}/.pyenv/shimmes/iconv
也许我认为哪个iconv的输出必须是/usr/lib
,但事实并非如此。这就是为什么我编写了哪个iconv
回调,并询问知道如何更改iconv
的被叫方的原因
但这是我的猜测。这可能不是错误的原因。因此,我还询问了错误的其他原因以及如何修复
抱歉,英语不流利。这可能会对您有所帮助:您是否尝试将
额外的lib dirs:[/usr/lib]
添加到stack.yaml
?ty!我试试看。