QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3782|回复: 9

偶看来只有放弃了。。。感觉偶的glib的epoll支持挂了。

[复制链接]
发表于 2005-10-30 23:49:57 | 显示全部楼层 |阅读模式
Making all in src
make[2]: Entering directory `/tmp/BitStormLite-0.1b/src'
g++ `pkg-config --cflags gtk+-2.0` -g -O2  -o bitstormlite -lpthread `curl-config --libs` `pkg-config --libs gtk+-2.0` bdict.o BitSet.o blist.o BTTask.o EpollReactor.o LiteWindow.o main.o PeerAcceptor.o PeerLink.o PeerManager.o PieceRequest.o sha.o Socket.o Storage.o TCPTracker.o UDPTracker.o ThreadMutex.o TorrentFile.o TrackerManager.o  
EpollReactor.o(.text+0x3fb): In function `CEpollReactor::addSocket(ISocket*)':
/tmp/BitStormLite-0.1b/src/EpollReactor.cpp:58: undefined reference to `epoll_ctl'
EpollReactor.o(.text+0x43f): In function `CEpollReactor::removeSocket(ISocket*)':
/tmp/BitStormLite-0.1b/src/EpollReactor.cpp:64: undefined reference to `epoll_ctl'
EpollReactor.o(.text+0x46: In function `CEpollReactor::start()':
/tmp/BitStormLite-0.1b/src/EpollReactor.cpp:73: undefined reference to `epoll_create'
EpollReactor.o(.text+0x571): In function `CEpollReactor::svc()':
/tmp/BitStormLite-0.1b/src/EpollReactor.cpp:114: undefined reference to `epoll_wait'
EpollReactor.o(.text+0x67b): In function `CEpollReactor::updateMask(ISocket*)':
/tmp/BitStormLite-0.1b/src/EpollReactor.cpp:190: undefined reference to `epoll_ctl'
collect2: ld returned 1 exit status
make[2]: *** [bitstormlite] Error 1
make[2]: Leaving directory `/tmp/BitStormLite-0.1b/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/BitStormLite-0.1b'
make: *** [all-recursive-am] Error 2


哪位大大能够放一个静态链接的上来就功德无量了
没想到偶一向认为兼容性一流的LFS,也会躺在自家门口,叹啊。。。。

cat /usr/include/linux/version.h
#define UTS_RELEASE "2.6.13.1"
#define LINUX_VERSION_CODE 132621
#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << + (c))

gcc -v
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/specs
Configured with: ../gcc-3.3.1/configure --prefix=/usr --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++
Thread model: posix
gcc version 3.3.1


/lib/libc.so.6
GNU C Library stable release version 2.3.2, by Roland McGrath et al.
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.


Compiled by GNU CC version 3.3.1.
Compiled on a Linux 2.4.22 system on 2004-10-08.
Available extensions:
        GNU libio by Per Bothner
        crypt add-on version 2.1 by Michael Glad and others
        linuxthreads-0.10 by Xavier Leroy
        BIND-8.2.3-T5B
        libthread_db work sponsored by Alpha Processor Inc
        NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Report bugs using the `glibcbug' script to <[email protected]>.
发表于 2005-10-31 09:36:20 | 显示全部楼层
可能是glibc没有epoll支持
回复

使用道具 举报

发表于 2005-10-31 10:31:10 | 显示全部楼层
gxcooo 把源码和编译好的一块放出来如何呢?
回复

使用道具 举报

发表于 2005-10-31 11:09:29 | 显示全部楼层
因为有各个库的依赖关系,编译好的版本不能在所有发行版上运行
比如我机器上是gtk2.8,编译出的程序就不能在gtk2.6的机器上运行
楼主的问题是缺少epoll支持,估计是glibc版本问题
回复

使用道具 举报

 楼主| 发表于 2005-10-31 17:48:07 | 显示全部楼层
555......哭死。。。那个epoll是不是一个单独的什么库啊?
要不搞一个静态编译的吧。。。
我的GTK好像是2.6的。。
如果可以,升级一下GTK也未尝不可
要不版主就说一下如果用select()替代epoll_()吧
回复

使用道具 举报

发表于 2005-10-31 17:55:52 | 显示全部楼层
epoll是2.6内核提供的新功能,但需要通过glibc来调用
静态编译也解决不了你的问题,看来是你的libc6-dev版本低
我对LFS不熟,不知道它用什么方式管理软件包,debian下这个包叫做libc6-dev

select替代epoll是可以的,当初也有这个考虑,目的是移植到kernel2.4或者FreeBSD等平台
不过目前没时间考虑移植工作
回复

使用道具 举报

发表于 2005-11-2 17:30:43 | 显示全部楼层
lfs下面是没有包管理的,所有的东西都是从源代码编译来的,所以叫linux from scratch.
做好的lfs是很难升级glibc库的.
好在我刚做的lfs用的都是最新的包.
to pinkme005
如果你要升级glibc库,可以看看lfs-hints,我记得有一个hint是说如何升级glibc库.
如果你还保留有做lfs留下的tools工具链,那就可以choot /tools 然后象第六章里那样重新编译安装一个新的glibc库.不过升级后可能有一些程序会不正常,要重新编译. 这个方法我以前用过.
回复

使用道具 举报

发表于 2005-11-2 21:22:57 | 显示全部楼层
  
回复

使用道具 举报

 楼主| 发表于 2005-11-5 15:52:56 | 显示全部楼层
郁闷了。。。当初做的LFS5的时候胆子小了一点,就用LFS-BOOK上说的GLIBC
早知道就用新点的GLIBC了。。叹。。。看来只有以后重做LFS再享用了。。
回复

使用道具 举报

 楼主| 发表于 2005-11-5 15:53:23 | 显示全部楼层
郁闷了。。。当初做的LFS5的时候胆子小了一点,就用LFS-BOOK上说的GLIBC
早知道就用新点的GLIBC了。。叹。。。看来只有以后重做LFS再享用了。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-20 18:27 , Processed in 0.060342 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表