图标历险记

升级KDE到3.5.4,启动之后发现:图标不见了! 大部分图标都变成默认的空图标了……于是去网上搜,似乎有人说KDE启动着的时候不能升级云云。费了半天劲,发现似乎KDE无法找到那些图标,可供选择的图标里也没有。去/usr/local/share/icons,来到crystalsvg目录,发现似乎就是系统知道的那些图标,而程序图标都在hicolor里面。最后想了一个暂时解决方法:把hicolor里面的东西都拷过去! 一混,就好了……结论:电脑比较傻,骗骗电脑比较容易……Old Blog Link: http://computer.mblogger.cn/henryhu/posts/61352.aspx

被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的一种可行方法’ »

An ugly way to get MAC Address in FreeBSD

char ethaddr[6];    struct ifaddrs *list;    if(getifaddrs(&list) < 0)    {        perror("getifaddrs");    }            struct ifaddrs *cur;            for(cur = list; cur != NULL; cur = cur->ifa_next)    {        if(cur->ifa_addr->sa_family != AF_LINK)            continue;        if(cur->ifa_name!=if_name)            continue;        int i;        for (i=9;i<15;i++)        ethaddr[i-9]=cur->ifa_addr->sa_data[i];    }            freeifaddrs(list); I’ll refer to some books …

Continue reading ‘An ugly way to get MAC Address in FreeBSD’ »

TheWorld 2 Beta 3 配合 Process Explorer 使用

TheWorld 2 Beta 3 上 MSN Space,每天 TheWorld 要死十几次。只好请来 Process Explorer。有一次又死了,打开 Process Explorer,找到切换次数最多的线程——TheWorld的多线程用在这里不错~,结束,还不行。又找了一个,两个线程看上去都在msvcrt.dll:endthreadex里面。结束之后,TheWorld 竟然活了过来……看来多线程还是不成熟啊…… 估计只结束前面那个就行了……   Old Blog Link: http://computer.mblogger.cn/henryhu/posts/61123.aspx