gpt4 book ai didi

macos - 在 OSX : LIBFFI not found 上编译 clisp-2.49

转载 作者:行者123 更新时间:2023-12-04 16:07:09 35 4
gpt4 key购买 nike

特尔;博士:

即使 libffi好像安装好了,configure即使我给它(正确?)前缀,脚本也找不到它。

/!\ The last part (*) of this post is where I'm stuck. /!\

I only put the other information to explain how I get there. I apologize for the big post, if something seems irrelevant to you, feel free to tell me, I'll consider making my post shorter.



为什么我要自己编译CLISP:

我有一个我想运行的 lisp 程序,但是当我用 CLISP 运行它时已安装 brew (我没有 root 访问权限)我收到以下错误:
*** - CFFI requires CLISP compiled with dynamic FFI support.

所以想自己编译CLISP。

到目前为止,我一直在使用 SBCL,但我有 a problem并且正在寻找其他实现。

我在尝试编译时遇到的问题:

我下载了 the sources ,解压。

然后我尝试运行 ./configure .

但我明白了:
Configure findings:
FFI: no (user requested: default)
readline: no (user requested: default)
libsigsegv: no, consider installing GNU libsigsegv
./configure: libsigsegv was not detected, thus some features, such as
generational garbage collection and
stack overflow detection in interpreted Lisp code
cannot be provided.
Please install libsigsegv like this:
mkdir tools; cd tools; prefix=`pwd`/x86_64-apple-darwin15.4.0
wget http://ftp.gnu.org/pub/gnu/libsigsegv/libsigsegv-2.8.tar.gz
tar xfz libsigsegv-2.8.tar.gz
cd libsigsegv-2.8
./configure --prefix=${prefix} && make && make check && make install
cd ../..
rm -f src/config.cache
./configure --with-libsigsegv-prefix=${prefix}
If you insist on building without libsigsegv, please pass
--ignore-absence-of-libsigsegv
to this script:
./configure --ignore-absence-of-libsigsegv
If you have installed libsigsegv, but clisp does not detect it,
you might have installed it incorrectly, see section 2 in in unix/INSTALL.

重要的 :

libffilibsigsegv两者都安装了 Homebrew 软件。 但是没有找到。
我尝试添加 --with-libsigsegv-prefix=<several values amongst ~/.brew/{opt,opt/libsigsegv,lib,Cellar/libsigsegv,...} : 还是一样的问题。

这也和 this post几乎一样或 this one .但是经过验证的解决方案对我不起作用(没有 root 访问权限的 OSX)。

使用 --with-dynamic-ffi 运行配置时和 --ignore-absence-of-libsigsegv :

我试图运行 ./configure --ignore-absence-of-libsigsegv并添加 --with-dynamic-ffi正如有人在评论中建议我的那样。

但后来我得到了这个:
Configure findings:
FFI: no (user requested: default)
readline: no (user requested: default)
libsigsegv: no, consider installing GNU libsigsegv
As you requested, we will proceed without libsigsegv...
./makemake --with-dynamic-ffi > Makefile
clang: error: unsupported option '-print-multi-os-directory'
clang: error: no input files

尝试手动安装时 libffilibsigsegv :

我也尝试了第一条错误消息中的建议:

运行时 ./configure --with-libsigsegv-prefix=${prefix}我有 :
Configure findings:
FFI: no (user requested: default)
readline: no (user requested: default)
libsigsegv: yes
./makemake --with-libsigsegv-prefix=/nfs/2013/v/vmonteco/Documents/clisp-2.49/tools/x86_64-apple-darwin15.4.0 > Makefile
clang: error: unsupported option '-print-multi-os-directory'
clang: error: no input files
make: `config.lisp' is up to date.

即使我添加 --with-dynamic-ffi或者如果我尝试安装 libffi手动像建议的第一条错误消息(并添加 --with-ffi-prefix=${prefix} 以及)

如果我尝试手动构建和安装 libffcall还有:

我得到很多
avcall-i386.s:7:2: error: instruction requires: Not 64-bit mode

运行时 make
(*) 所以现在,它确实找到了 libsigsegv ,但没有找到 libffi .

然而树在 ${prefix}看起来像这样:
.
├── include
│   └── sigsegv.h
├── lib
│   ├── libffi-3.2.1
│   │   └── include
│   │   ├── ffi.h
│   │   └── ffitarget.h
│   ├── libffi.6.dylib
│   ├── libffi.a
│   ├── libffi.dylib -> libffi.6.dylib
│   ├── libffi.la
│   ├── libsigsegv.a
│   ├── libsigsegv.la
│   └── pkgconfig
│   └── libffi.pc
└── share
├── info
│   ├── dir
│   └── libffi.info
└── man
└── man3
├── ffi.3
├── ffi_call.3
├── ffi_prep_cif.3
└── ffi_prep_cif_var.3

我没有想法了。

最佳答案

在 OSX(仅针对 OSX 开发)上,检查 Clozure 是一个非常好的主意。 http://ccl.clozure.com它包括一个 IDE,从速度和一般性能来看,它与 SBCL 相当。您可以使用 Clozure 开发原生 OSX UI 应用程序,当然这些应用程序是不可移植的。如果您遵守标准,那么您甚至可以在 Linux 等上使用 Clozure。

关于macos - 在 OSX : LIBFFI not found 上编译 clisp-2.49,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36849567/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com