首页 > 其他 > 详细

编译qemu的一个修改版本时遇到timer_settime@@GLIBC_2.2'的问题

时间:2015-11-29 16:19:57      阅读:826      评论:0      收藏:0      [点我收藏+]

转载: http://blog.sina.com.cn/s/blog_a5ba8b0f0101snq7.html

 

自己在qemu上做了一些修改,来完成一些所需的工作,但是之前修改的时候是在我 的mac上的做的,mac上装的ubuntu是64bit的,后来转到thinkpad上做的时候,不想把文件从新合,就直接打包拷贝到thinkpad 上的ubuntu系统里了,但是thinkpad上的ubuntu系统时32bit的,configure后make时出现了以下错误:

/usr/bin/ld: ../qemu-timer.o: undefined reference to symbol timer_settime@@GLIBC_2.2
/usr/bin/ld: note: timer_settime@@GLIBC_2.2 is defined in DSO /lib/i386-linux-gnu/librt.so.1 so try adding it to the linker command line
/lib/i386-linux-gnu/librt.so.1: could not read symbols: 无效的操作
collect2: 错误: ld 返回 1
make[1]: *** [qemu-system-arm] 错误 1
make: *** [subdir-arm-softmmu] 错误 2
搜了半天,后来在一个论坛里找到一个方法,修复了这个问题,但是我目前还没弄明白问题的所在,先把解决方案放这儿备用吧。
但是怕地址失效,就把关键的地方简介的说下:
主要是里面提供了一个patch,给configure文件打完补丁之后就解决了,patch里面的内容是:
--- configure.orig 2013-06-13 10:56:41.516276000 +0100
+++ configure 2013-06-13 11:20:26.010368566 +0100
@@ -1362,7 +1362,7 @@
 cat > $TMPC <<EOF
 #include
 #include
-int main(void) { clockid_t id; return clock_gettime(id, NULL); }
+int main(void) { struct itimerspec v; timer_t t; return timer_gettime (t, &v); }
 EOF
 
 rt=no
可以直接把上面的内容拷贝到自己创建的空文件中,文件名论文里面定义的是configure.patch,但是我觉得其他的名字应该也可以,然后执行下面的指令
patch configure configure.patch
之后重新configure后再make就没有问题了。
 

编译qemu的一个修改版本时遇到timer_settime@@GLIBC_2.2'的问题

原文:http://www.cnblogs.com/pengdonglin137/p/5004784.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!