Ubuntu 编译Xvfb的静态链接二进制文件
我的头撞在墙上了。我正在尝试编译Xvfb虚拟帧缓冲区的静态链接二进制文件 现在,我从源代码处编译如下:Ubuntu 编译Xvfb的静态链接二进制文件,ubuntu,compilation,xvfb,Ubuntu,Compilation,Xvfb,我的头撞在墙上了。我正在尝试编译Xvfb虚拟帧缓冲区的静态链接二进制文件 现在,我从源代码处编译如下: $ sudo apt-get build-dep xvfb $ apt-get source Xvfb $ cd xorg-source $ ./configure --enable-shared=no $ make 这仍然会产生一个已编译的二进制文件,但它仍然是动态链接的(我正在用这个命令检查) 这可能是因为我需要对所有依赖项进行静态链接,但我在继续操作时遇到了问题。查看发送到终端的最后
$ sudo apt-get build-dep xvfb
$ apt-get source Xvfb
$ cd xorg-source
$ ./configure --enable-shared=no
$ make
这仍然会产生一个已编译的二进制文件,但它仍然是动态链接的(我正在用这个命令检查)
这可能是因为我需要对所有依赖项进行静态链接,但我在继续操作时遇到了问题。查看发送到终端的最后一个链接命令,然后自己(手动)重新运行它,将“共享”替换为“静态”(这对我在Ubuntu 12.10/amd64上的操作很有帮助:
# be sure to build static versions of all included libraries
$ ./configure --enable-static
$ make
$ cd hw/vfb
$ make clean
# this provides static versions of some functions which are dynamic only in eglibc
$ sudo apt-get install libtirpc-dev
# LDFLAGS=-all-static asks libtool to do static linking
# LD_EXPORT_SYMBOLS_FLAGS= causes --export-dynamic to be omitted
# LIBS='...' fills in missing dependencies for static libraries
$ make LDFLAGS=-all-static LD_EXPORT_SYMBOLS_FLAG= LIBS='-lfreetype -lgpg-error -lfontenc -ltirpc -lz -lbz2 -lm -lrt -lpthread'
这有点像黑客,原因有二:
/tmp/xorg-server-1.13.0/os/rpcauth.c:79: undefined reference to `xdrmem_create'
谢谢我不太清楚你的确切意思。我没有看到任何带有“共享”一词的链接命令。链接的帖子也没有什么意义。你介意详细说明一下吗?
/tmp/xorg-server-1.13.0/os/rpcauth.c:79: undefined reference to `xdrmem_create'