【发布时间】:2014-08-31 02:39:10
【问题描述】:
我不会花言巧语。 在 kubuntu 安装中,我运行 ./configure 没有任何选项。 但是我运行make,我得到以下错误:
make[4]: Entering directory `/home/software/glib/glib-2.40.0/gobject'
CCLD libgobject-2.0.la
../libtool: line 6003: cd: (libdir): No such file or directory
libtool: link: cannot determine absolute directory name of `(libdir)'
据我所知,所有依赖项都已满足。我尝试将 libdir 或 LIBDIR 设置为配置选项:
libdir=/usr/local/lib/ && ./configure
我一直在网上搜索,尝试编译旧版本的 glib,但我仍然完全迷失了方向。
[编辑] 似乎以下搜索结果是相关的:
https://bbs.archlinux.org/viewtopic.php?id=182353
嗨,当我交叉编译 glib 时,我也遇到了同样的问题。然后我 最后通过设置 LIBFFI_LIBS 和 LIBFFI_CFLAGS 解决了这个问题。 我的问题是因为我只是简单地构建 libffi,但它需要修复 在正确的位置(/usr/include)安装头文件并修改 /usr/lib/pkgconfig/libffi.pc .
我自己也编译了libffi,没有任何具体的配置选项。
和
https://lists.gnu.org/archive/html/guile-devel/2014-04/msg00056.html
“pkg-config --libs libffi”在您的系统上的输出是什么?
-L\$(libdir) -lffi-> 宾果游戏!好问题:-)
就我而言,它是:
~/download/software/glib/glib-2.40.0 $ grep -H '^LIBFFI' */Makefile
build/Makefile:LIBFFI_CFLAGS = -I/usr/local/lib/libffi-3.1/include
build/Makefile:LIBFFI_LIBS = -L\$\(libdir\) -lffi
docs/Makefile:LIBFFI_CFLAGS = -I/usr/local/lib/libffi-3.1/include
docs/Makefile:LIBFFI_LIBS = -L\$\(libdir\) -lffi
gio/Makefile:LIBFFI_CFLAGS = -I/usr/local/lib/libffi-3.1/include
gio/Makefile:LIBFFI_LIBS = -L\$\(libdir\) -lffi
glib/Makefile:LIBFFI_CFLAGS = -I/usr/local/lib/libffi-3.1/include
glib/Makefile:LIBFFI_LIBS = -L\$\(libdir\) -lffi
gmodule/Makefile:LIBFFI_CFLAGS = -I/usr/local/lib/libffi-3.1/include
gmodule/Makefile:LIBFFI_LIBS = -L\$\(libdir\) -lffi
gobject/Makefile:LIBFFI_CFLAGS = -I/usr/local/lib/libffi-3.1/include
gobject/Makefile:LIBFFI_LIBS = -L\$\(libdir\) -lffi
gthread/Makefile:LIBFFI_CFLAGS = -I/usr/local/lib/libffi-3.1/include
gthread/Makefile:LIBFFI_LIBS = -L\$\(libdir\) -lffi
m4macros/Makefile:LIBFFI_CFLAGS = -I/usr/local/lib/libffi-3.1/include
m4macros/Makefile:LIBFFI_LIBS = -L\$\(libdir\) -lffi
tests/Makefile:LIBFFI_CFLAGS = -I/usr/local/lib/libffi-3.1/include
tests/Makefile:LIBFFI_LIBS = -L\$\(libdir\) -lffi
看完上面的,我尝试了下面的但是结果是一样的(和上面grep命令的输出是一样的):
LIBFFI_LIBS=/usr/local/lib/ && ./configure
让我知道提供哪些变量、设置或信息可以使调试这个问题变得更容易。
[编辑 2] 我找到了这个文件: /usr/local/lib/pkgconfig/libffi.pc 内容如下:
prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
toolexeclibdir=$(libdir)
includedir=${libdir}/libffi-3.1/include
Name: libffi
Description: Library supporting Foreign Function Interfaces
Version: 3.1
Libs: -L${toolexeclibdir} -lffi
Cflags: -I${includedir}
我不确定用什么替换什么值,但我会尝试...
【问题讨论】: