【发布时间】:2014-08-23 05:18:05
【问题描述】:
我正在尝试在 64 位 Debian Stable 上构建 fsthost,但最后(链接)步骤失败:
m@debian:~/Downloads/fsthost-1.5.4$ make
winegcc -m32 -o fsthost32 amc_32.o jackamc_32.o fst_32.o gtk_32.o jackvst_32.o \
jfst_32.o fxb_32.o fps_32.o vstwin_32.o cpuusage_32.o info_32.o \
midifilter_32.o list_32.o -m32 -mwindows -L/usr/lib/i386-linux-gnu/wine \
-lpthread -lX11 -ljack -lxml2 -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 \
-lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo \
-lgobject-2.0 -lglib-2.0
/usr/bin/ld: cannot find -lX11
/usr/bin/ld: cannot find -ljack
/usr/bin/ld: cannot find -lxml2
/usr/bin/ld: cannot find -lgtk-3
/usr/bin/ld: cannot find -lgdk-3
/usr/bin/ld: cannot find -latk-1.0
/usr/bin/ld: cannot find -lgio-2.0
/usr/bin/ld: cannot find -lpangocairo-1.0
/usr/bin/ld: cannot find -lgdk_pixbuf-2.0
/usr/bin/ld: cannot find -lcairo-gobject
/usr/bin/ld: cannot find -lpango-1.0
/usr/bin/ld: cannot find -lcairo
/usr/bin/ld: cannot find -lgobject-2.0
/usr/bin/ld: cannot find -lglib-2.0
collect2: error: ld returned 1 exit status
winegcc: gcc failed
make: *** [fsthost32] Error 2
m@debian:~/Downloads/fsthost-1.5.4$
注意,这里使用的是winegcc,而不是gcc。
所以,ld 声称没有libX11.so,让我们检查一下:
m@debian:~$ locate libX11.so
/usr/lib/i386-linux-gnu/libX11.so.6
/usr/lib/i386-linux-gnu/libX11.so.6.3.0
/usr/lib/x86_64-linux-gnu/libX11.so
/usr/lib/x86_64-linux-gnu/libX11.so.6
/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
m@debian:~$
宾果!没有/usr/lib/***i386***-linux-gnu/libX11.***so***!当我手动添加从/usr/lib/i386-linux-gnu/libX11.so 到/usr/lib/i386-linux-gnu/libX11.so.6 的符号链接时,该行:
/usr/bin/ld: cannot find -lX11
显然从ld的输出中消失。
为什么i386-linux-gnu 目录中没有*.so 符号链接,我应该如何从这里开始?
【问题讨论】:
-
你有没有想过如何克服这个问题?我也遇到了同样的问题。
-
@sudoman,如果我没记错的话,我在 32 位 chroot 中构建了它。但后来转移到了一个更健全的发行版 → NixOS。强烈推荐。