我被要求查看为新开发者设置的笔记本电脑(OS X 10.5),并且发现了pear可执行文件丢失了。 这家商店从源头上设置PHP,所以我导航到他们编译的东西的源代码树,并尝试make install,失败
Installing PEAR environment: /usr/local/lib/php/ dyld: Library not loaded: /b/32_216/rdbms/lib/libclntsh.dylib.10.1 Referenced from: /Users/username/Source/php-5.2.8/sapi/cli/php Reason: image not found make[1]: *** [install-pear-installer] Trace/BPT trap make: *** [install-pear] Error 2
所以我尝试了一个configure / make clean / make / make install,并且遇到同样的问题。
所有这些命令都使用sudo运行,因为源树由root拥有。
我用make -n install-pear跟踪了这个问题
sudo /Users/username/Source/php-5.2.8/sapi/cli/php -n -dshort_open_tag=0 -dsafe_mode=0 -dopen_basedir= -derror_reporting=E_ALL -dmemory_limit=-1 -ddetect_unicode=0 pear/install-pear-no zlib.phar -d "/usr/local/lib/php" -b "/usr/local/bin"-dshort_open_tag=0 -dsafe_mode=0 -dopen_basedir= -derror_reporting=E_ALL -dmemory_limit=-1 -ddetec Installing PEAR environment: /usr/local/lib/php/ dyld: Library not loaded: /b/32_216/rdbms/lib/libclntsh.dylib.10.1 Referenced from: /Users/username/Source/php-5.2.8/sapi/cli/php Reason: image not found make[1]: *** [install-pear-installer] Trace/BPT trap make: *** [install-pear] Error 2
奇怪的是,也许是一个红鲱鱼,当我作为一个非root用户运行的命令,我似乎进一步的进程
Installing PEAR environment: /usr/local/lib/php/ [PEAR] Console_Getopt: failed to mkdir /usr/local/lib/php/Console [PEAR] Archive_Tar: failed to mkdir /usr/local/lib/php/Archive [PEAR] Structures_Graph: failed to mkdir /usr/local/lib/php/doc/Structures_Graph/docs/html/media warning: pear/PEAR requires package "pear/Archive_Tar" (recommended version 1.3.2) warning: pear/PEAR requires package "pear/Structures_Graph" (recommended version 1.0.2) warning: pear/PEAR requires package "pear/Console_Getopt" (recommended version 1.2.3) pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0) [PEAR] PEAR: failed to mkdir /usr/local/lib/php/OS
(虽然可能是以sudo的方式运行,但这些命令只要在成功的时候静静地运行就可以了。)
我认为这可能是作为sudo运行时的$PATH问题,但似乎所有的东西都是类似的。
$ sudo echo $PATH /usr/local/bin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/X11R6/bin:/usr/local/instantclient $ echo $PATH /usr/local/bin:/sw/bin:/sw/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/X11R6/bin:/usr/local/instantclient
/usr/local/instantclient文件夹是缺less的库所在的位置。
在接下来的“我该怎么检查”的步骤中,我有点不知所措,并且希望ServerFault能够在我回到IT人员面前帮助我。
这是你的问题:
dyld: Library not loaded: /b/32_216/rdbms/lib/libclntsh.dylib.10.1
您可能没有在卷的根目录的那个/ b目录。 我不知道他们为什么要设置从那里拉东西 – 也许检查其他机器之一,看看他们的卷的根目录是否有/ b目录树。