偶看来只有放弃了。。。感觉偶的glib的epoll支持挂了。
Making all in srcmake: 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+0x468): 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: *** Error 1
make: Leaving directory `/tmp/BitStormLite-0.1b/src'
make: *** Error 1
make: Leaving directory `/tmp/BitStormLite-0.1b'
make: *** 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) << 8) + (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]>. 可能是glibc没有epoll支持 gxcooo 把源码和编译好的一块放出来如何呢? 因为有各个库的依赖关系,编译好的版本不能在所有发行版上运行
比如我机器上是gtk2.8,编译出的程序就不能在gtk2.6的机器上运行
楼主的问题是缺少epoll支持,估计是glibc版本问题 555......哭死。。。那个epoll是不是一个单独的什么库啊?
要不搞一个静态编译的吧。。。
我的GTK好像是2.6的。。
如果可以,升级一下GTK也未尝不可
要不版主就说一下如果用select()替代epoll_()吧 epoll是2.6内核提供的新功能,但需要通过glibc来调用
静态编译也解决不了你的问题,看来是你的libc6-dev版本低
我对LFS不熟,不知道它用什么方式管理软件包,debian下这个包叫做libc6-dev
select替代epoll是可以的,当初也有这个考虑,目的是移植到kernel2.4或者FreeBSD等平台
不过目前没时间考虑移植工作 lfs下面是没有包管理的,所有的东西都是从源代码编译来的,所以叫linux from scratch.
做好的lfs是很难升级glibc库的.
好在我刚做的lfs用的都是最新的包.
to pinkme005
如果你要升级glibc库,可以看看lfs-hints,我记得有一个hint是说如何升级glibc库.
如果你还保留有做lfs留下的tools工具链,那就可以choot /tools 然后象第六章里那样重新编译安装一个新的glibc库.不过升级后可能有一些程序会不正常,要重新编译. 这个方法我以前用过. :shock::oops: 郁闷了。。。当初做的LFS5的时候胆子小了一点,就用LFS-BOOK上说的GLIBC
早知道就用新点的GLIBC了。。叹。。。看来只有以后重做LFS再享用了。。 郁闷了。。。当初做的LFS5的时候胆子小了一点,就用LFS-BOOK上说的GLIBC
早知道就用新点的GLIBC了。。叹。。。看来只有以后重做LFS再享用了。。
页:
[1]