被libc弄得晕头转向……

编译 kports,结果 configure 检查QT的时候报错,查看config.log:libqt-mt.so: undefined … __res_state我一看,又是这个…… 从前见过,但从前加了 -pthread 就好了,现在怎么不行呢?然后,去网上找,什么都没有;去 /usr/lib和/lib和/usr/local/lib grep,都没有…… 汗……于是去 /usr/src/lib/libpthread 里面找,一点都没有发现……偶尔灵机一动,想到可能在别的库里面。于是到 /usr/src/lib 里面找,结果在 /usr/src/lib/libc/resolv/res_state.c 里面找到了。既然这样,为什么 /lib/libc.so.6 里面会grep不到??尝试一下,重新编译安装libc,再试,好了!!估计是上次没有 make buildword 的结果…… 以后一定make buildworld… Old Blog Link: http://computer.mblogger.cn/henryhu/posts/61348.aspx

FreeBSD中读取Ethernet Address的一种可行方法

#include <net/if.h>#include <ifaddrs.h>#include <net/if_dl.h>#include <net/ethernet.h> int main(){    struct ifaddrs *list;    if(getifaddrs(&list) < 0)    {        perror("getifaddrs");        return;    }            struct ifaddrs *cur;            for(cur = list; cur != NULL; cur = cur->ifa_next)    {        if(cur->ifa_addr->sa_family != AF_LINK)            continue;        char *name = cur->ifa_name;        printf(name);printf("\n");        char *addr;        struct sockaddr_dl *sdl;   …

Continue reading ‘FreeBSD中读取Ethernet Address的一种可行方法’ »

Reading "TCP/IP Illustrated Vol 2"

当初想装FreeBSD就是因为看了这套书的缘故(BSD网络实现和FreeBSD还分不清楚)。但是安装不成功,最后把Vol1,Vol3都读完了也没有装好。后来装好了FreeBSD,又没有时间看。现在终于有了些空闲,能够慢慢研究这套书了。 Vol2讲的是实现,也就是把源代码和原理结合起来讲。我一边看一边翻FreeBSD的源代码,发现基本的东西没有变(书上的第一个样例打上去还能编译,改了一下地址还能用~),但是代码量大了很多(那时据说网络部分只有15000行左右~),有些东西删掉了,更多的东西加了进去。 看看源代码的确对理解工作原理有很大的益处…… 但必须要这样的一本书来进行适当的引导,因为…… 代码的数量太多了!