我最近切换到Slackware来学习如何使用更高级的Linux发行版。它默认安装了GNU Guile2.0,但我是从源代码构建Guile3.0的。当我尝试构建guile-json时,当我运行配置脚本时,收到以下消息。说明上说要运行./configure --prefix=<guile-prefix>。我正在尝试做的事情的前缀是什么,或者我如何找到它?
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
configure: checking for guile 3.0
configure: checking for guile 2.2
configure: checking for guile 2.0
configure: found guile 2.0
checking for guile-2.0... no
checking for guile2.0... no
checking for guile-2... no
checking for guile2... no
checking for guile... /usr/local/bin/guile
configure: error: found development files for Guile 2.0, but /usr/local/bin/guile has effective version 3.0发布于 2020-06-26 18:53:00
自述文件告诉您使用./configure --prefix=<guile-prefix>。一般来说,这意味着您使用与构建guile时相同的前缀值,因此/usr/local。这已经是autotools的默认值了,所以我不认为这对你有任何帮助。
您的问题是,配置脚本会检测到2.0版本的系统guile库,但是您的Guile3.0是$PATH中的第一个库,这是不兼容的。您应该通过设置几个环境变量来确保配置脚本能够找到正确的guile版本:
export GUILE_LOAD_PATH=/usr/local/share/guile/site/3.0
export GUILE_LOAD_COMPILED_PATH=/usr/local/lib/guile/3.0/site-ccache
./configure --prefix=/usr/local显然,请调整这些值,使其与您安装库的实际位置相对应。
您可能应该将这些变量添加到您的.profile或其他东西中,以便在运行guile时始终正确定义它们。
https://stackoverflow.com/questions/62542300
复制相似问题