繁体   English   中英

Yesod haskell-stack安装-fPIC

[英]Yesod haskell-stack installing -fPIC

这是我第一次尝试安装Haskell yesod,但是在Arch Linux上使用这些命令时遇到了一些问题

yesod devel 

要么

stack exec -- yesod devel


/usr/bin/ld: /home/romano/.stack/programs/x86_64-linux/ghc-tinfo6-7.10.3/lib/ghc-7.10.3/rts/libHSrts.a(Scav.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /home/romano/.stack/programs/x86_64-linux/ghc-tinfo6-7.10.3/lib/ghc-7.10.3/rts/libHSrts.a(Compact.o): relocation R_X86_64_32S against symbol `mblock_cache' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /home/romano/.stack/programs/x86_64-linux/ghc-tinfo6-7.10.3/lib/ghc-7.10.3/rts/libHSrts.a(GCAux.o): relocation R_X86_64_32S against symbol `mblock_cache' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /home/romano/.stack/programs/x86_64-linux/ghc-tinfo6-7.10.3/lib/ghc-7.10.3/rts/libHSrts.a(MarkWeak.o): relocation R_X86_64_32S against symbol `stg_DEAD_WEAK_info' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /home/romano/.stack/programs/x86_64-linux/ghc-tinfo6-7.10.3/lib/ghc-7.10.3/rts/libCffi.a(closures.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: /home/romano/.stack/programs/x86_64-linux/ghc-tinfo6-7.10.3/lib/ghc-7.10.3/rts/libCffi.a(ffi64.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
Exit code ExitFailure 1 while running ["ghc","-clear-package-db","-global-package-db","-hide-all-packages","-package","base","-package","Cabal-1.22.5.0","/tmp/stack16245/Setup.hs","-o","/home/romano/.stack/setup-exe-cache/x86_64-linux-tinfo6/tmp-setup-Simple-Cabal-1.22.5.0-ghc-7.10.3","-rtsopts"] in /tmp/stack16245/
ExitFailure 1
Type help for available commands. Press enter to force a rebuild.

现在我不确定为什么会发生这种情况,但是我认为我的数据库设置错误

一些用户遇到了链接器错误,这些错误似乎取决于本地环境,即,程序包可能在不同的计算机上编译。 据报道,在某些情况下,该问题是不确定的。

在某些情况下,该问题可能与使用硬化标志有关,特别是与生成位置独立可执行文件(PIE)有关的硬化标志。

在Arch Linux中, hardening-wrapper软件包对此提供了支持。 可能的解决方法:

sudo vim /etc/hardening-wrapper.conf

* vim,nan,emacs或您喜欢的任何编辑器。

HARDENING_PIE=1更改为HARDENING_PIE=0
保存。

而已。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM