在 ubuntu 13.04 中安装 Emerald 时,当我输入“sudo make”时遇到问题:
libtool:链接:gcc -g -O2 -pthread -I/usr/include/libwnck-1.0 -I/usr/include/compiz -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/harfbuzz -I/usr/include/startup-notification-1.0 -o .libs/emerald main.o engine_loader.o ../libengine/.libs/libemeraldengine.so -lwnck-1 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 /usr/lib/x86_64-linux-gnu/libfreetype.so -lfontconfig -ldecoration -lXrender -lX11 -lpangocairo-1.0 -lpango-1.0 /usr/lib/x86_64-linux-gnu/libcairo.so -lgobject-2.0 -lglib-2.0 -pthread /usr/bin/ld: main.o: 对符号‘exp@@GLIBC_2.2.5’未定义引用 /usr/bin/ld:注意:'exp@@GLIBC_2.2.5' 在 DSO /lib/x86_64-linux-gnu/libm.so.6 中定义,因此尝试将其添加到链接器命令行 /lib/x86_64-linux-gnu/libm.so.6:无法读取符号:无效操作 collect2:错误:ld 返回 1 退出状态 make[1]: *** [翡翠] 蓝色 1 make[1]: 当前目录 `/home/stanek/emerald-0.9.5/src' make: *** [install-recursive] 下载 1
答案1
这有点像一个杂乱无章的程序,但它确实有效:
编辑 emerald 源文件夹中的 configure.ac 文件。大约在第 55 行,您将找到以下行:
LIBS="$LIBS $EMERALD_LIBS"
将其更改为
LIBS="$LIBS $EMERALD_LIBS -lm -ldl"
并重做这些步骤。它会起作用。