更改$sudo gcc的搜索目录

更改$sudo gcc的搜索目录,gcc,haskell,sudo,Gcc,Haskell,Sudo,在OSX上,我试图为haskell的阴谋集团安装zlib先决条件。我得到这个错误: $ sudo ./Setup build Preprocessing library zlib-0.5.0.0… ld: library not found for -lgmp collect2: ld returned 1 exit status linking dist/build/Codec/Compression/Zlib/Stream_hsc_make.o failed command was: /us

在OSX上,我试图为haskell的阴谋集团安装zlib先决条件。我得到这个错误:

$ sudo ./Setup build
Preprocessing library zlib-0.5.0.0…
ld: library not found for -lgmp
collect2: ld returned 1 exit status
linking dist/build/Codec/Compression/Zlib/Stream_hsc_make.o failed
command was: /usr/bin/gcc -lz -L/sw/lib/ghc-6.8.3/lib/bytestring-0.9.0.1.1 -L/sw/lib/ghc-6.8.3/lib/array-0.1.0.0 -L/sw/lib/ghc-6.8.3/lib/base-3.0.2.0 -L/sw/lib/ghc-6.8.3 -lm -lgmp -ldl dist/build/Codec/Compression/Zlib/Stream_hsc_make.o -o dist/build/Codec/Compression/Zlib/Stream_hsc_make
库-lgmp位于/sw/lib中,因此如果手动添加-L/sw/lib,我可以成功运行该命令(“/usr/bin/gcc…”)。问题是sudo不知道/sw/lib。瞧:

$ gcc -print-search-dirs | grep sw
libraries: =/lib/i686-apple-darwin9/4.0.1/:/lib/:/usr/lib/i686-apple-darwin9/4.0.1/:/usr/lib/:./i686-apple-darwin9/4.0.1/:./:/sw/lib/i686-apple-darwin9/4.0.1/:/sw/lib/:/usr/lib/gcc/i686-apple-darwin9/4.0.1/:/usr/lib/gcc/i686-apple-darwin9/4.0.1/:/usr/lib/gcc/i686-apple-darwin9/4.0.1/../../../../i686-apple-darwin9/lib/i686-apple-darwin9/4.0.1/:/usr/lib/gcc/i686-apple-darwin9/4.0.1/../../../../i686-apple-darwin9/lib/:/usr/lib/gcc/i686-apple-darwin9/4.0.1/../../../i686-apple-darwin9/4.0.1/:/usr/lib/gcc/i686-apple-darwin9/4.0.1/../../../
$ sudo gcc -print-search-dirs | grep sw
$ 
我如何告诉sudo版本的gcc在/sw/lib中查找库?我是否在root的.bash\u配置文件中添加环境变量?如果是,哪一个

更新: 也许有一种更合适的方法可以做到这一点,但以下是有效的方法。我创建了一个bash脚本,其中包含以下内容:

#!/bin/sh
export LIBRARY_PATH=/sw/lib:$LIBRARY_PATH
./Setup build
然后我跑了

$ sudo ./script.sh
那是毫无怨言的编译zlib-万岁!不幸的是,阴谋集团安装仍然给我错误:

$ ./Setup configure
Configuring cabal-install-0.6.2…
Setup: At least the following dependencies are missing:
zlib >=0.4 && <0.6

…而且按预期安装了所有设备

尝试设置
LDFLAGS=-L/sw/lib

尝试设置
LDFLAGS=-L/sw/lib

GHC现在为OS X提供了安装程序(Leopard,不确定Tiger)。唯一的问题是,如果您使用macports或fink,它们可能不会看到您安装了GHC,并尝试安装其自己的版本。

GHC现在附带了一个OS X安装程序(Leopard,不确定Tiger)。唯一的问题是,如果您使用macports或fink,它们可能看不到您安装了GHC,并尝试安装其自己的版本。

为什么要使用
sudo
呢?您不应该以超级用户身份编译。以普通用户身份编译,以超级用户身份安装。

为什么要使用
sudo
呢?您不应该以超级用户身份编译。以普通用户身份编译,以超级用户身份安装。

具体在哪里设置?我尝试将它放在根用户以前不存在的~/.bash_配置文件中,并将其添加到我自己的~/.bash_配置文件中。两者都没有区别。具体地说,把它放在哪里?我尝试将它放在根用户以前不存在的~/.bash_配置文件中,并将其添加到我自己的~/.bash_配置文件中。两者都没有区别。
$  ./bootstrap.sh