<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-12574936</id><updated>2011-12-01T22:10:07.381+08:00</updated><category term='shellcode'/><category term='linker'/><category term='documentation'/><category term='glibc'/><category term='fuse'/><category term='gentoo'/><category term='bug'/><category term='acid3'/><category term='crossdev'/><category term='ntfs-3g'/><category term='loongson'/><category term='bayonne'/><category term='tag'/><category term='scim'/><category term='fontconfig'/><category term='cflags'/><category term='sysroot'/><category term='suse'/><category term='chardet'/><category term='audacious'/><category term='gwn'/><category term='firefox'/><category term='xulrunner'/><category term='plugin'/><category term='gaim'/><category term='as-needed'/><category term='input method'/><category term='winning eleven'/><category term='synway'/><category term='prelink'/><category term='unicode'/><category term='ivr'/><category term='ld'/><category term='mldonkey'/><category term='c++'/><category term='laptop'/><category term='antialias'/><category term='linux'/><category term='driver'/><category term='debug'/><category term='screen'/><category term='distcc'/><category term='i18n'/><category term='binutils'/><category term='id3v2'/><category term='portage'/><category term='cvs'/><category term='emacs'/><category term='ps3'/><category term='gdb'/><category term='yeeloong'/><category term='ntfs'/><category term='sqlite'/><category term='stardict'/><category term='simsun'/><category term='voip'/><category term='fcitx'/><category term='overlay'/><category term='game'/><category term='bash'/><category term='font'/><category term='kde'/><category term='dri'/><category term='segfault'/><category term='asterisk'/><category term='free software'/><category term='mips'/><category term='desktop'/><category term='kernel'/><category term='ocaml'/><category term='gcc'/><category term='mp3'/><category term='fbsplash'/><category term='qt'/><category term='fuloong'/><category term='amarok'/><category term='exploit'/><category term='nvidia'/><title type='text'>Free as in freedom</title><subtitle type='html'>This blog is about works I have done for Gentoo and free software in general</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default?start-index=101&amp;max-results=100'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>206</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12574936.post-50582622836791188</id><published>2011-08-20T01:28:00.003+08:00</published><updated>2011-08-20T06:39:46.464+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><title type='text'>about gentoo-cn.org</title><content type='html'>There's been some problem renewing this domain. We might as well abandon this domain name altogether and switch to gentoo-zh.org. Actually I have already registered the later one.&lt;br /&gt;&lt;br /&gt;Probably will set it up this weekend.&lt;br /&gt;&lt;br /&gt;Meanwhile you can access the site using zhangle.is-a-geek.org. Everything works fine, except sub domains, like {planet,irc...}.gentoo-cn.org.&lt;br /&gt;&lt;br /&gt;Sorry for the convenience caused, if any.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-50582622836791188?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/50582622836791188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=50582622836791188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/50582622836791188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/50582622836791188'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2011/08/about-gentoo-cnorg.html' title='about gentoo-cn.org'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3051241580606465716</id><published>2011-06-12T03:36:00.003+08:00</published><updated>2011-06-12T13:34:28.711+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='overlay'/><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><title type='text'>gentoo-zh overlay</title><content type='html'>&lt;div&gt;&lt;p&gt;So gentoo-china and gentoo-taiwan overlay will merge. The new overlay will be called gentoo-zh.&lt;br /&gt;I have already added gentoo-zh overlay to repositories.xml based on which layman-global.txt is generated.&lt;/p&gt;&lt;p&gt;Thanks to microcai for merging the repository of these two projects.&lt;/p&gt;&lt;p&gt;EDIT: sorry there is an error about the source type. already fixed.&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3051241580606465716?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/3051241580606465716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3051241580606465716' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3051241580606465716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3051241580606465716'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2011/06/gentoo-zh-overlay.html' title='gentoo-zh overlay'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4313129922639802703</id><published>2011-02-21T08:28:00.002+08:00</published><updated>2011-02-21T08:40:10.908+08:00</updated><title type='text'>New job, New life</title><content type='html'>So, as some of you may know, I have just settled down in San Jose, CA.&lt;br /&gt;My new job is Site Reliability Engineer in Google Mountain View office.&lt;br /&gt;&lt;br /&gt;I would like make some new friends here.&lt;br /&gt;If you live nearby, let me know, ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4313129922639802703?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/4313129922639802703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4313129922639802703' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4313129922639802703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4313129922639802703'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2011/02/new-job-new-life.html' title='New job, New life'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2998564454213019452</id><published>2010-12-19T18:14:00.006+08:00</published><updated>2010-12-19T19:00:06.951+08:00</updated><title type='text'>Linux 2.6.35 + glibc compiled with &gt;linux-header-2.6.34 == Unusable MIPS N32 System</title><content type='html'>&lt;a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=31c984a5acabea5d8c7224dc226453022be46f33;hp=98a0f86a54bb195c28ae1ccb5a5f5cda12cf7121"&gt;getdents64 was added&lt;/a&gt; to N32 ABI during 2.6.35 merge window. But it has a problem which is later fixed by &lt;a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e9fb4d84d69403d1e004422086c559b31b3f8136"&gt;a patch&lt;/a&gt; merged in 2.6.36 window.&lt;br /&gt;&lt;br /&gt;IIRC, readdir in glibc works with both getdents and getdents64, and it prefers getdents64 if it is available.&lt;br /&gt;&lt;br /&gt;So if your glibc is compiled against linux-header-2.6.35 and upwards, readdir will use getdents64, but on Linux 2.6.35 it actually calls getdents. So readdir will be confused.&lt;br /&gt;&lt;br /&gt;As a consequence, you will have problems accessing files. The system will be effectively unusable.&lt;br /&gt;&lt;br /&gt;So if you have encountered this problem, pray that you have another system which could boot the machine. Compile a kernel 2.6.36 or upwards and use it to boot the system. Then you should be able to get your system back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2998564454213019452?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2998564454213019452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2998564454213019452' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2998564454213019452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2998564454213019452'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2010/12/linux-2635-glibc-compiled-with-linux.html' title='Linux 2.6.35 + glibc compiled with &gt;linux-header-2.6.34 == Unusable MIPS N32 System'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8637315506800516632</id><published>2010-09-15T11:10:00.004+08:00</published><updated>2010-09-15T11:22:46.433+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='mips'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><title type='text'>MIPS N32 Firefox</title><content type='html'>Almost forget to mention, now with this workaround &lt;a href="http://bit.ly/d5rBqp"&gt;http://bit.ly/d5rBqp&lt;/a&gt;, N32 firefox-3.6.8 is working again.&lt;br /&gt;&lt;br /&gt;I am still trying to fix the binutils bug.&lt;br /&gt;&lt;a href="http://sourceware.org/bugzilla/show_bug.cgi?id=11956"&gt;http://sourceware.org/bugzilla/show_bug.cgi?id=11956&lt;/a&gt;&lt;br /&gt;I am feeling that I am not far from a break through.&lt;br /&gt;&lt;br /&gt;BTW, Shenzhen Linux User Group will celebrate Software Freedom Day 2010 on this Saturday.&lt;br /&gt;If you happen to be in town by then, do drop by, ;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bit.ly/sz_sfd_2010"&gt;http://bit.ly/sz_sfd_2010&lt;/a&gt;&lt;br /&gt;If you can come, and don't understand Chinese, I am always ready for help. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8637315506800516632?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8637315506800516632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8637315506800516632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8637315506800516632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8637315506800516632'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2010/09/mips-n32-firefox.html' title='MIPS N32 Firefox'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8806369207399374841</id><published>2010-07-29T09:51:00.005+08:00</published><updated>2010-07-29T10:41:26.085+08:00</updated><title type='text'>Loongson 2F N32 stage3 is now available on gentoo mirrors</title><content type='html'>It is under experimental/mips/stages/loongson/. Like:&lt;br /&gt;&lt;a href="http://mirrors.xmu.edu.cn/gentoo/experimental/mips/stages/loongson/"&gt;http://mirrors.xmu.edu.cn/gentoo/experimental/mips/stages/loongson/&lt;/a&gt;&lt;br /&gt;I should have done it long ago, just don't familiar with catalyst and catalyst lacks documentation.&lt;br /&gt;&lt;br /&gt;Thanks to leio and robbat2 for making it happen.&lt;br /&gt;&lt;a href="http://bugs.gentoo.org/show_bug.cgi?id=330021"&gt;http://bugs.gentoo.org/show_bug.cgi?id=330021&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have already included kernel modules in the stage3. You can find the corresponding kernel here:&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/%7Ezhangle/"&gt;http://www.gentoo-cn.org/~zhangle/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you want to build your own kernel, use the source here:&lt;br /&gt;&lt;a href="http://dev.lemote.com/code/linux-loongson-community/wiki/WikiStart"&gt;http://dev.lemote.com/code/linux-loongson-community/wiki/WikiStart&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You also need loongson overlay. Just use layman to add it. Of course you need to emerge layman first.&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=summary"&gt;http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=summary&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you find portage ask you to downgrade packages, you can try this trick&lt;br /&gt;ACCEPT_KEYWORDS="x86 ~x86 ~mips"&lt;br /&gt;However you need to understand that there is no guarantee that software installed in this way would work. But at least some of them will work. Like perl. I have been using this for a long time. Some packages are not so easy to downgrade. So maybe you need to use this too. But remember, if the package really works, better file a keyword bug asking devs to add mips keyword to it.&lt;br /&gt;&lt;br /&gt;Please note this is experimental, so I am afraid there will be problems. If you hit any, please don't hesitate to contact me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8806369207399374841?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8806369207399374841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8806369207399374841' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8806369207399374841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8806369207399374841'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2010/07/loongson-2f-n32-stage3-is-now-available.html' title='Loongson 2F N32 stage3 is now available on gentoo mirrors'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8456800591996708681</id><published>2010-07-18T20:41:00.012+08:00</published><updated>2010-07-24T01:00:50.532+08:00</updated><title type='text'>Type special characters in xterm in N900</title><content type='html'>UPDATE: The build failed because of gcc's multislot USE flag(seed stage has it while catalyst can't set USE for stage3). I was on a trip so there is actually no progress for the last 5 days. Sorry. I have worked around it. Now rebuilding.&lt;br /&gt;&lt;br /&gt;First, sudo gainroot.&lt;br /&gt;&lt;br /&gt;Then run the following two commands:&lt;br /&gt;&lt;blockquote&gt;/home/user # gconftool-2 -s /apps/osso/xterm/key_labels -t list --list-type=string '[Tab,Esc,~,`,|,&gt;,&lt;]'&lt;br /&gt;/home/user # gconftool-2 -s /apps/osso/xterm/keys -t list --list-type=string "[Tab,Escape,asciitilde,grave,bar,greater,less]"&lt;/blockquote&gt;Then restart your xterm, you will see the bottom bar looks like the one showing in the following picture:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5DviKWWZZGY/TEL26zOhapI/AAAAAAAAAes/7WDJ88vh9fE/s1600/Screenshot-20100718-203352.png"&gt;&lt;img style="cursor: pointer; width: 400px; height: 240px;" src="http://1.bp.blogspot.com/_5DviKWWZZGY/TEL26zOhapI/AAAAAAAAAes/7WDJ88vh9fE/s400/Screenshot-20100718-203352.png" alt="" id="BLOGGER_PHOTO_ID_5495225985389390482" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This picture shows that I am building new stage3 for Loongson 2F, N32 ABI, ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8456800591996708681?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8456800591996708681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8456800591996708681' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8456800591996708681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8456800591996708681'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2010/07/type-special-characters-in-xterm-in.html' title='Type special characters in xterm in N900'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5DviKWWZZGY/TEL26zOhapI/AAAAAAAAAes/7WDJ88vh9fE/s72-c/Screenshot-20100718-203352.png' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-7264023210337147058</id><published>2010-05-21T16:31:00.008+08:00</published><updated>2010-07-09T23:34:28.813+08:00</updated><title type='text'>FEATURES installsources not working on MIPS?</title><content type='html'>Update 2010-07-09: the patch received upstream attention. The maintainer said it's better to send to &lt;a href="rpm-devel@rpm5.org"&gt;rpm-devel@rpm5.org&lt;/a&gt; directly.&lt;br /&gt;Update: just reported to upstream &lt;a href="http://rpm5.org/cvs/tktview?tn=61"&gt;http://rpm5.org/cvs/tktview?tn=61&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I resumed my quest to xulrunner linking problem on Loongson: &lt;a href="http://old.nabble.com/R_MIPS_TLS_GD-reloc-overflow-when-linking-%3E%3Dxulrunner-1.9.1.5-td26755056.html"&gt;http://old.nabble.com/R_MIPS_TLS_GD-reloc-overflow-when-linking-%3E%3Dxulrunner-1.9.1.5-td26755056.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But I found that "installsources" FEATURE is not working on Loongson. I investigated it and found that it is because debug.sources file produced by debugedit is empty.&lt;br /&gt;&lt;br /&gt;Then I found that in turn was because debug related sections in MIPS elf file is not of type SHT_PROGBITS, but SHT_MIPS_DWARF.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;[32] .debug_aranges    MIPS_DWARF      00000000 0845c4 0002c0 00      0   0  1&lt;br /&gt;[33] .debug_pubnames   MIPS_DWARF      00000000 084884 001a2a 00      0   0  1&lt;br /&gt;[34] .debug_info       MIPS_DWARF      00000000 0862ae 015221 00      0   0  1&lt;br /&gt;[35] .debug_abbrev     MIPS_DWARF      00000000 09b4cf 002c9a 00      0   0  1&lt;br /&gt;[36] .debug_line       MIPS_DWARF      00000000 09e169 009ce3 00      0   0  1&lt;br /&gt;[37] .debug_str        MIPS_DWARF      00000000 0a7e4c 0049d7 01  MS  0   0  1&lt;br /&gt;[38] .debug_loc        MIPS_DWARF      00000000 0ac823 004c7d 00      0   0  1&lt;br /&gt;[39] .debug_macinfo    MIPS_DWARF      00000000 0b14a0 1cf9d6 00      0   0  1&lt;br /&gt;[40] .debug_ranges     MIPS_DWARF      00000000 280e76 0001d8 00      0   0  1&lt;br /&gt;&lt;/pre&gt;So the fix is very easy and straight forward.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;--- debugedit.c.orig    2010-05-21 16:26:13.000000000 +0800&lt;br /&gt;+++ debugedit.c 2010-05-21 01:44:08.000000000 +0800&lt;br /&gt;@@ -1596,6 +1596,7 @@&lt;br /&gt;  switch (dso-&gt;shdr[i].sh_type)&lt;br /&gt;   {&lt;br /&gt;   case SHT_PROGBITS:&lt;br /&gt;+       case SHT_MIPS_DWARF:&lt;br /&gt;     name = strptr (dso, dso-&gt;ehdr.e_shstrndx, dso-&gt;shdr[i].sh_name);&lt;br /&gt;     /* TODO: Handle stabs */&lt;br /&gt;#if 0&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-7264023210337147058?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/7264023210337147058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=7264023210337147058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7264023210337147058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7264023210337147058'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2010/05/features-installsources-not-working-on.html' title='FEATURES installsources not working on MIPS?'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-1780234498960139789</id><published>2010-04-18T00:23:00.010+08:00</published><updated>2010-04-19T09:48:24.896+08:00</updated><title type='text'>Show real swap usage for each individual process</title><content type='html'>Update: the kernel patch is already in 2.6.34-rcN.&lt;br /&gt;&lt;br /&gt;Currently, in top, the SWAP column only shows the difference between VIRT and RES:&lt;br /&gt;&lt;pre&gt;&lt;span style="font-style: italic;"&gt;    case P_SWP:&lt;br /&gt;     MKCOL(scale_num(PAGES_TO_KB(p-&gt;size - p-&gt;resident), w, s));&lt;/span&gt;&lt;/pre&gt;So currently the value is of no use.&lt;br /&gt;&lt;br /&gt;As a matter of fact, a recent enough kernel has provided the information which is needed to calculate the swap usage for each process. It is in /proc/$PID/smaps. But using smaps may affect top's performance because you have to calculate the sum yourself.&lt;br /&gt;&lt;br /&gt;But with this patch &lt;a href="https://patchwork.kernel.org/patch/56929/"&gt;https://patchwork.kernel.org/patch/56929/&lt;/a&gt;, the kernel will keep track of each process's swap usage for you. This patch (maybe not exactly in the same shape) is already in &lt;span style="text-decoration: line-through;"&gt;mmotm tree (&lt;a href="http://userweb.kernel.org/%7Eakpm/mmotm/"&gt;http://userweb.kernel.org/~akpm/mmotm/&lt;/a&gt;)&lt;/span&gt; 2.6.34-rcN.&lt;br /&gt;&lt;br /&gt;However, checking the /proc/$PID/status file directly may not be a thing which people would like to do. So I decided to make a patch for ps and top. Now it seems to be working.&lt;br /&gt;&lt;br /&gt;This is the vanilla ps:&lt;br /&gt;$ ps -o m_swap,comm -e  | grep firefox&lt;br /&gt;- firefox&lt;br /&gt;&lt;br /&gt;This is modified ps:&lt;br /&gt;$ ./ps/ps -o m_swap,comm -e | grep firefox&lt;br /&gt;2984 firefox&lt;br /&gt;&lt;br /&gt;This is a picture showing a modified top:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5DviKWWZZGY/S8nmgKzW09I/AAAAAAAAAZ8/PTOjeWzGTdE/s1600/top-with-swap.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 260px;" src="http://2.bp.blogspot.com/_5DviKWWZZGY/S8nmgKzW09I/AAAAAAAAAZ8/PTOjeWzGTdE/s400/top-with-swap.jpg" alt="" id="BLOGGER_PHOTO_ID_5461149463493399506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The patch can be found here:&lt;br /&gt;&lt;a href="http://dev.gentoo.org/%7Er0bertz/per-process-swap-usage.patch"&gt;http://dev.gentoo.org/~r0bertz/per-process-swap-usage.patch&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-1780234498960139789?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/1780234498960139789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=1780234498960139789' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/1780234498960139789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/1780234498960139789'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2010/04/show-real-swap-usage-for-each.html' title='Show real swap usage for each individual process'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5DviKWWZZGY/S8nmgKzW09I/AAAAAAAAAZ8/PTOjeWzGTdE/s72-c/top-with-swap.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-7179705007209584067</id><published>2010-04-03T18:22:00.002+08:00</published><updated>2010-04-03T18:38:07.121+08:00</updated><title type='text'>Generate coredumps automatically in specified directory</title><content type='html'>If you are into investigating coredumps, or you are just curious about how many processes have coredumped, then this is for you:&lt;br /&gt;&lt;br /&gt;1. add the following line to /etc/security/limits.conf&lt;br /&gt;&lt;blockquote&gt;*                -       core            unlimited&lt;/blockquote&gt;2. add the following line to /etc/sysctl.conf&lt;br /&gt;&lt;blockquote&gt;kernel.core_pattern = /corefiles/core.%e.%p&lt;/blockquote&gt;%e is the executable filename, %p is pid.&lt;br /&gt;Please check the "Naming of core dump files" section of man 5 core for more information on this.&lt;br /&gt;&lt;br /&gt;3. run "sysctl -p", then logout and login. Or just reboot.&lt;br /&gt;&lt;br /&gt;This is what I have on my Yeeloong:&lt;br /&gt;$ ls /corefiles/&lt;br /&gt;core.genstrings.11832       core.nscd.10278  core.nscd.12821  core.nscd.13617  core.nscd.23172  core.nscd.29367  core.nscd.6428&lt;br /&gt;core.genstrings.18210       core.nscd.10281  core.nscd.13061  core.nscd.13620  core.nscd.23175  core.nscd.29368  core.nscd.6431&lt;br /&gt;core.main.19478             core.nscd.10284  core.nscd.13064  core.nscd.19028  core.nscd.24042  core.nscd.29369&lt;br /&gt;core.main.19702             core.nscd.10293  core.nscd.13067  core.nscd.19031  core.nscd.29353  core.nscd.29371&lt;br /&gt;core.main.19825             core.nscd.10294  core.nscd.13219  core.nscd.22710  core.nscd.29360  core.nscd.29372&lt;br /&gt;core.main.19894             core.nscd.12815  core.nscd.13222  core.nscd.22713  core.nscd.29363  core.nscd.29373&lt;br /&gt;core.mkhomedir_helpe.31721  core.nscd.12818  core.nscd.13614  core.nscd.22716  core.nscd.29366  core.nscd.6425&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-7179705007209584067?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/7179705007209584067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=7179705007209584067' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7179705007209584067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7179705007209584067'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2010/04/generate-coredumps-automatically-in.html' title='Generate coredumps automatically in specified directory'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3644907714764967166</id><published>2010-03-13T19:35:00.004+08:00</published><updated>2010-03-13T19:38:16.312+08:00</updated><title type='text'>Gentoo Penguins</title><content type='html'>One of my friends has been to Antarctica.&lt;br /&gt;She has taken some photos of Gentoo Penguin.&lt;br /&gt;Enjoy! (and sorry the blog is in Chinese. :P)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.sina.com.cn/s/blog_657eb8a70100h34p.html"&gt;http://blog.sina.com.cn/s/blog_657eb8a70100h34p.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3644907714764967166?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/3644907714764967166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3644907714764967166' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3644907714764967166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3644907714764967166'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2010/03/gentoo-penguins.html' title='Gentoo Penguins'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2621801887658231650</id><published>2009-12-21T14:15:00.001+08:00</published><updated>2009-12-21T14:17:47.390+08:00</updated><title type='text'>Germany Training confirmed</title><content type='html'>Anyone in Nuremberg? ;)&lt;br /&gt;&lt;br /&gt;Activity : Linux Kernel Internals and Crash Dump Analysis&lt;br /&gt;Activity Code : Linux-IHC-001&lt;br /&gt;Type : Internally Held Classroom&lt;br /&gt;From : 01/26/2010&lt;br /&gt;To : 01/28/2010&lt;br /&gt;Facility:  EMEA - Nuernberg, DEU&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2621801887658231650?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2621801887658231650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2621801887658231650' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2621801887658231650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2621801887658231650'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/12/germany-training-confirmed.html' title='Germany Training confirmed'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2616192416793147556</id><published>2009-11-29T03:05:00.004+08:00</published><updated>2009-11-29T19:24:47.081+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fbsplash'/><title type='text'>silent splash progress bar does not progress</title><content type='html'>I got a laptop from my employer (Novell) nearly 3 months ago. I installed both Gentoo and SLED in it. I didn't setup fbsplash on it when I installed Gentoo. I tried it today.&lt;br /&gt;&lt;br /&gt;However, I found the progress bar in silent mode did not progress. It stayed at "Initializing kernel", 0%.&lt;br /&gt;&lt;br /&gt;Finally, I found the reason was that I didn't have "/lib/rc/plugins" directory and as a consequence splashutils openrc plugin splash.so can't be installed into this directory. And that's why the progress bar does not progress.&lt;br /&gt;&lt;br /&gt;I think maybe it is a bug in openrc. But I am not sure and I can't investigate it further today, it is already 3 pm. :( So I just left a note here. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2616192416793147556?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2616192416793147556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2616192416793147556' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2616192416793147556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2616192416793147556'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/11/silent-splash-progress-bar-does-not.html' title='silent splash progress bar does not progress'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-490314546450552876</id><published>2009-11-08T16:48:00.007+08:00</published><updated>2009-11-08T20:47:22.257+08:00</updated><title type='text'>Update on building mips64el cross toolchain</title><content type='html'>1. git clone git://www.gentoo-cn.org/var/git/loongson.git&lt;br /&gt;&lt;br /&gt;2. Don't include loongson overlay's directory directly in your PORTDIR_OVERLAY. But in your own overlay, like /usr/local/portage, create symlinks pointing to sys-devel/ and sys-libs/glibc in loongson overlay. This is because you may not want to install packages from loongson overlay in your host machine. Also you need to make sure your own overlay is the first overlay containing binutils/gcc/glibc in your PORTDIR_OVERLAYS list. You may check the value of this list using command:&lt;br /&gt;&lt;blockquote&gt;portageq envvar PORTDIR_OVERLAY&lt;br /&gt;&lt;/blockquote&gt;3. Then, just run crossdev -t mips64el-unknown-linux-gnu. This command installed the following components on my host machine:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;linux-headers-2.6.27-r2 from portage.&lt;/li&gt;&lt;li&gt;binutils-2.19.1-r1 from loongson overlay.&lt;/li&gt;&lt;li&gt;gcc-4.4.2 from portage. The gcc in loongson overlay currently is just a symlink to portage gcc.&lt;/li&gt;&lt;li&gt;glibc-2.9_p2009042 from loongson overlay. However if you build the toolchain now, glibc-2.10.1 will be installed instead, I just updated it.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-490314546450552876?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/490314546450552876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=490314546450552876' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/490314546450552876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/490314546450552876'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/11/update-on-building-mips64el-cross.html' title='Update on building mips64el cross toolchain'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-6985361770081753994</id><published>2009-08-01T16:42:00.004+08:00</published><updated>2009-08-02T00:13:26.129+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='sqlite'/><category scheme='http://www.blogger.com/atom/ns#' term='cflags'/><category scheme='http://www.blogger.com/atom/ns#' term='xulrunner'/><title type='text'>Setting CFLAGS on a per-package basis</title><content type='html'>Update: as reported by Fai Wong, -O1 is actually fine. Obviously, it must be some flag(s) which is(are) enabled at -O2 but not at -O1 caused this problem. However, it is not a priority ATM. Anyone who is interested in it is welcome to investigate it further.&lt;br /&gt;&lt;br /&gt;As I have &lt;a href="http://r0bertz.blogspot.com/2009/05/mips-n32-firefox-35-beta4.html"&gt;mentioned earlier&lt;/a&gt;, sqlite compiled with -O2 may cause xulrunner to segfault in N32 userland on Loongson. Well, I almost forget it.&lt;br /&gt;&lt;br /&gt;So to remove the -O2 from CFLAGS once and for all, I adopted the technique described &lt;a href="http://archives.gentoo.org/gentoo-portage-dev/msg_fac717b026ba37b4396b448f1152153e.xml"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;pre&gt;zhangle@2f env $ pwd&lt;br /&gt;/etc/portage/env&lt;br /&gt;zhangle@2f env $ find&lt;br /&gt;.&lt;br /&gt;./dev-db&lt;br /&gt;./dev-db/sqlite&lt;br /&gt;./O2-removal&lt;br /&gt;zhangle@2f env $ cat O2-removal&lt;br /&gt;pre_pkg_setup() {&lt;br /&gt;      elog "bashrc is removing \"-O2\" from CFLAGS for $PN"&lt;br /&gt;      CFLAGS="${CFLAGS/-O2/}"&lt;br /&gt;}&lt;br /&gt;zhangle@2f env $ ls -l dev-db/sqlite&lt;br /&gt;lrwxrwxrwx 1 zhangle zhangle 13 2009-08-01 16:10 dev-db/sqlite -&gt; ../O2-removal&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-6985361770081753994?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/6985361770081753994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=6985361770081753994' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/6985361770081753994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/6985361770081753994'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/08/setting-cflags-on-per-package-basis.html' title='Setting CFLAGS on a per-package basis'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-132885942027527048</id><published>2009-07-31T00:57:00.003+08:00</published><updated>2009-07-31T01:13:39.261+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='gdb'/><title type='text'>About the kernel of Loongson 2F machine</title><content type='html'>I just found that, it is actually very easy to trigger the problem that the -mfix-ls2f-kernel as option could fix. Like just emerging glibc could hang the system. So if you are using linux-loongson/2.6.30/stable branch from this git tree http://dev.lemote.com/git?p=rt4ls.git;a=summary, you maybe want to line 129 of arch/mips/Makefile:&lt;br /&gt;&lt;pre&gt;$(call cc-option,-march=loongson2f,-march=r4600) $(call cc-optoin,-mtune=loongson2f)&lt;/pre&gt;to&lt;br /&gt;&lt;pre&gt;$(call cc-option,-march=loongson2f,-march=r4600) $(call as-option,-Wa$(comma)-mfix-ls2f-kernel,)&lt;/pre&gt;Actually, $(call cc-optoin,-mtune=loongson2f) here is not required.&lt;br /&gt;&lt;br /&gt;BTW, glibc-2.10.1 is ready in my overlay. This version could solve the gdb issue:&lt;br /&gt;&lt;pre&gt;Error while reading shared library symbols:&lt;br /&gt;find_new_threads_callback: cannot get thread info: generic error&lt;br /&gt;find_new_threads_callback: cannot get thread info: generic error&lt;/pre&gt;This happened previously when debugging multithread applications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-132885942027527048?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/132885942027527048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=132885942027527048' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/132885942027527048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/132885942027527048'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/07/about-kernel-of-loongson-2f-machine.html' title='About the kernel of Loongson 2F machine'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8703389834302191882</id><published>2009-07-27T01:42:00.007+08:00</published><updated>2009-07-27T16:09:12.244+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mips'/><category scheme='http://www.blogger.com/atom/ns#' term='fuloong'/><category scheme='http://www.blogger.com/atom/ns#' term='yeeloong'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><title type='text'>More on Yeeloong status</title><content type='html'>I have not blogged here for some time. But that does not necessarily mean I am slacking, ;). Instead I have been doing things. I should've blogged more.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=shortlog"&gt;http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=shortlog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Redhatter posted two blogs related to Yeeloong's status. I guess I should say something too.&lt;br /&gt;&lt;br /&gt;First of all, I recommend this mailing list &lt;a href="http://groups.google.com/group/loongson-dev"&gt;http://groups.google.com/group/loongson-dev&lt;/a&gt; to those who want to know the latest news about Loongson. If you want to try Gentoo on Yeeloong, you can take this &lt;a href="http://www.gentoo-cn.org/%7Ezhangle/loongson_mips3_n32_mplt_20081231.tar.bz2"&gt;http://www.gentoo-cn.org/~zhangle/loongson_mips3_n32_mplt_20081231.tar.bz2&lt;/a&gt; The file's sha256sum is c94bcd45e58e5f4b8314942a6b3110a2316fd74adb009c8269d1e8e2077d7c72. Please note the userland is N32 ABI, meaning there may be more problems than in O32. But I should've already solved many of them for you.&lt;br /&gt;&lt;br /&gt;I have been working on Fuloong 2E/2F and Yeeloong's support, particularly N32 ABI system. Firefox is just one example.&lt;br /&gt;&lt;br /&gt;I have 3 Loongson machines, all donated by lemote:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;One Fuloong 2E box. Now gentoo-cn.org is running on it. O32 ABI userland. Gcc 4.4, -march=loongson2e. MIPS plt. I am not running X on it. I am not sure if Redhatter runs X on it or not. If not, then you can say that Fuloong 2E has not X support in Gentoo. Anyway, I think very few people have it, and even fewer are using it as desktop.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;One Fuloong 2F box. I have two Gentoo on it. One O32 ABI userland, the other is N32 ABI userland. Gcc 4.4, -march=loongson2f. MIPS plt. xorg-server-1.6.2. LXDE. Dev machine.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;One Yeeloong notebook. I have one Gentoo on it. N32 ABI userland. xorg-server-1.6.2. xf86-video-siliconmotion-1.7.2. LXDE. Dev machine.&lt;/li&gt;&lt;/ol&gt;For the kernel support, please just use this kernel source, all you want is just there: &lt;a href="http://groups.google.com/group/loongson-dev/browse_thread/thread/1b0a6a4f7c2485e8"&gt;http://groups.google.com/group/loongson-dev/browse_thread/thread/1b0a6a4f7c2485e8&lt;/a&gt; You don't need to have gcc 4.4 if you don't care about -march=loongons2f. There is some magic in the Makefile which could make the compiling just work. And in this source, as option -mfix-ls2f-kernel is not enabled. So that binutils patch is not required for this source to compile. And this patch solves the problem that system sometimes hangs under stress test. So if your system never hang before, then maybe you don't need it.&lt;br /&gt;&lt;br /&gt;For firefox, upstream xulrunner 1.9.1 already has O32 ABI patch. So nothing extra need to be done if you want to run Firefox in O32 ABI userland. Just emerge. If you are using N32 ABI userland, please use the ebuild from my overlay, check the link at the top. I haven't tried thunderbird though. I am now using Mutt anyway, :D.&lt;br /&gt;&lt;br /&gt;For X, it is quite complicated. You can claim that X server now requires no patch at all, but that actually depends on which machine and which version of xorg-server you are using. On Fuloong 2F, xorg-server-1.6.2 does not need patching, the driver I am using now is the highest version of xf86-video-sis in tree. On Yeeloong, xorg-server-1.6.2 need patching if you use xf86-video-siliconmotion-1.7.2 from xorg (I have a live ebuild for it in my overlay). If you use xorg-server-1.4.x, you can also use xf86-video-siliconmotion-2.2.8 (I will explain it immediately) from lemote, this way xorg-server does not need patching. BTW, this xf86-video-siliconmotion-2.2.8 is actually from siliconmotion card's manufacturer, it should be based on xorg's xf86-video-siliconmotion somewhere before it has got libpciaccess support and later it has got its own version numbering scheme. So this xf86-video-siliconmotion-2.2.8 won't work on xorg-server-1.5.x and later. And I have tried to add libpciaccess support to it, but after done what I think is necessary, I found there are more problems. So I gave up on xf86-video-siliconmotion-2.2.8. I left the sources here: &lt;a href="http://www.gentoo-cn.org/gitweb/?p=siliconmotion.git;a=summary"&gt;http://www.gentoo-cn.org/gitweb/?p=siliconmotion.git;a=summary&lt;/a&gt; Then I tried to fix xorg's siliconmotion driver, and I found the cause &lt;a href="http://bugs.freedesktop.org/show_bug.cgi?id=21528"&gt;http://bugs.freedesktop.org/show_bug.cgi?id=21528&lt;/a&gt;. So now xf86-video-siliconmotion-1.7.2 is working on Yeeloong without any patch, only if you use 24 bit depth. If you use 16 bit depth which is required for dual head mode, there are still problems. &lt;a href="http://bugs.freedesktop.org/show_bug.cgi?id=21622"&gt;http://bugs.freedesktop.org/show_bug.cgi?id=21622&lt;/a&gt; Also there maybe some configuration options are needed in xorg.conf for X to work, so please check out my xorg.conf on &lt;a href="http://www.gentoo-cn.org/%7Ezhangle/fuloong2f-xorg.conf.txt"&gt;fuloong2f &lt;/a&gt;and &lt;a href="http://www.gentoo-cn.org/%7Ezhangle/yeeloong-xorg.conf.txt"&gt;yeeloong&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8703389834302191882?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8703389834302191882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8703389834302191882' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8703389834302191882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8703389834302191882'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/07/more-on-yeeloong-status.html' title='More on Yeeloong status'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-5782608113489520580</id><published>2009-05-04T15:37:00.011+08:00</published><updated>2009-05-05T01:39:32.779+08:00</updated><title type='text'>MIPS N32 firefox 3.5 beta4</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5DviKWWZZGY/Sf6cTWbOu5I/AAAAAAAAAT4/-4JCo0e3Hgs/s1600-h/n32-firefox-3.5b4-acid3.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 291px;" src="http://4.bp.blogspot.com/_5DviKWWZZGY/Sf6cTWbOu5I/AAAAAAAAAT4/-4JCo0e3Hgs/s400/n32-firefox-3.5b4-acid3.jpg" alt="" id="BLOGGER_PHOTO_ID_5331870865104485266" border="0" /&gt;&lt;/a&gt;It is working too. The xulrunner's ebuild is already in &lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=summary"&gt;loongson overlay&lt;/a&gt;. For the mozilla-firefox ebuild, just use the one from mozilla overlay.&lt;br /&gt;&lt;br /&gt;If you experienced segfault, try to re-emerge sqlite with no optimization. Using the bundled sqlite surely is not an optimal solution, ;)&lt;br /&gt;&lt;br /&gt;One more thing: Xorg's siliconmotion driver is now working on &lt;a href="http://wiki.gnewsense.org/Projects/Lemote#toc81"&gt;yeeloong notebook&lt;/a&gt;: &lt;a href="http://bugs.freedesktop.org/show_bug.cgi?id=21528"&gt;http://bugs.freedesktop.org/show_bug.cgi?id=21528&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-5782608113489520580?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/5782608113489520580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=5782608113489520580' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5782608113489520580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5782608113489520580'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/05/mips-n32-firefox-35-beta4.html' title='MIPS N32 firefox 3.5 beta4'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5DviKWWZZGY/Sf6cTWbOu5I/AAAAAAAAAT4/-4JCo0e3Hgs/s72-c/n32-firefox-3.5b4-acid3.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2233437790335481801</id><published>2009-04-30T16:37:00.007+08:00</published><updated>2009-04-30T18:55:15.050+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='mips'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><category scheme='http://www.blogger.com/atom/ns#' term='acid3'/><title type='text'>MIPS N32 firefox in acid3 test</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5DviKWWZZGY/SflpxohpKcI/AAAAAAAAATw/SUVlTXrFpnI/s1600-h/n32-firefox-acid3.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 290px;" src="http://3.bp.blogspot.com/_5DviKWWZZGY/SflpxohpKcI/AAAAAAAAATw/SUVlTXrFpnI/s400/n32-firefox-acid3.jpg" alt="" id="BLOGGER_PHOTO_ID_5330407935382727106" border="0" /&gt;&lt;/a&gt;My quest for MIPS N32 firefox could finally come to an end, since I just got it scores the same as &lt;a href="http://en.wikipedia.org/wiki/File:Acid3firefox3.0.PNG"&gt;X86 firefox&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Remember I said it would encounter bus error on a few websites in &lt;a href="http://r0bertz.blogspot.com/2009/03/firefox-on-mips.html"&gt;my last related post&lt;/a&gt;. But I didn't plan to look into this issue before dealing with cache aliasing problem.&lt;br /&gt;&lt;br /&gt;However, since Rayson Ho helped me to &lt;a href="http://groups.google.com/group/loongson-dev/msg/7f815c5cd1a01ab6"&gt;locate the exact cause&lt;/a&gt; of this issue, I decided to finish it first.&lt;br /&gt;&lt;br /&gt;The problem is caused by unaligned access of ldc1/sdc1 instruction. These two instructions' operand must be 8 bytes aligned. But when crashing, the operand is only 4 bytes aligned.&lt;br /&gt;&lt;br /&gt;After some discussion and experimenting, I found a &lt;a href="http://groups.google.com/group/loongson-dev/msg/d7f60b2850dad616"&gt;workaround&lt;/a&gt; for sina.com.cn crashing problem. Yeah, a padding pointer sounds scary and fragile, but it did work. Before posting any comment to this, please make sure you have read all the emails in that thread.&lt;br /&gt;&lt;br /&gt;Then &lt;a href="http://lazyfai.blogspot.com/"&gt;Fai Wong&lt;/a&gt; reported to me that it still crash in &lt;a href="http://acid3.acidtests.org/"&gt;acid3 test&lt;/a&gt;. So I took another look. This time the problem happened in a different location, and it is harder to solve. Because the object in question sometimes is 8 bytes aligned, but sometimes it is only 4 bytes aligned, which does not make any sense, since the object contains double variable. So, either way, the double variable just can't get aligned in both case. I thought of kernel exception handler. I did &lt;a href="http://groups.google.com/group/loongson-dev/msg/e3fce5ed817f1d14"&gt;come up with a patch and it worked&lt;/a&gt;! But since Ralf refused to accept it, I had to move on. And I found the reason is because of the way the memory is allocated - &lt;a href="http://glenmccl.com./nd_cmp.htm"&gt;placement new&lt;/a&gt;. Thanks to LI Daobing for telling me this. And &lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blob_plain;f=net-libs/xulrunner/files/xulrunner-mips-bus-error.patch;hb=e2eca4738cce8cb2d8adb78164794f982a388862"&gt;this&lt;/a&gt; is what the final patch looks like.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2233437790335481801?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2233437790335481801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2233437790335481801' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2233437790335481801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2233437790335481801'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/04/mips-n32-firefox-in-acid3-test.html' title='MIPS N32 firefox in acid3 test'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5DviKWWZZGY/SflpxohpKcI/AAAAAAAAATw/SUVlTXrFpnI/s72-c/n32-firefox-acid3.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2936442411840356864</id><published>2009-04-14T22:24:00.005+08:00</published><updated>2009-04-14T22:36:28.899+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><title type='text'>Ftrace is working now on my loongson box</title><content type='html'>&lt;a href="http://www.linux-mips.org/archives/linux-mips/2009-04/msg00112.html"&gt;http://www.linux-mips.org/archives/linux-mips/2009-04/msg00112.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So I confirmed that this MIPS &lt;a href="http://lwn.net/Articles/322666/"&gt;ftrace&lt;/a&gt; support is really working. Thanks to Wu Zhangjin (吴章金). However, I have no interest in finding out what kind of difference between my loongson2f patch and wu's caused wu's ftrace patch does not work on top of my loongson 2f patch. What I would like to see now is to get loongson2f patch &lt;a href="http://www.linux-mips.org/archives/linux-mips/2009-04/msg00065.html"&gt;merged into mainline&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Plus, I wish I could make loongson linux to be able to use 4k page(Now, loongson could only use 16k page in order to avoid d-cache aliasing). I have already started working on it now. Even if it turns out that I can't, I could tell others what I have done in order to achieve this goal. And by that time, I would've got a much deeper understanding of Linux's memory management subsystem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2936442411840356864?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2936442411840356864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2936442411840356864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2936442411840356864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2936442411840356864'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/04/ftrace-is-working-now-on-my-loongson.html' title='Ftrace is working now on my loongson box'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8848582070368706851</id><published>2009-03-17T00:28:00.005+08:00</published><updated>2009-03-17T03:33:05.140+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kernel'/><title type='text'>Two more kernel patches</title><content type='html'>This one is MIPS related, already accepted:&lt;br /&gt;&lt;a class="title" href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3b289d6e35a1a535c19a5b079f0500526754e650"&gt;MIPS: Fix TIF_32BIT undefined problem when seccomp is disabled&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This one is proc filesystem related:&lt;br /&gt;&lt;a href="http://lkml.org/lkml/2009/3/16/24"&gt;[PATCH] filp-&gt;f_pos not correctly updated in proc_task_readdir&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The later one is also MIPS related actually,  in a peculiar way:&lt;br /&gt;MIPS N32 does not have getdents64 system call. And because of readdir's implementation in glibc, this bug will be triggered when trying to run pstree or simply 'ls /proc/xxxx/task', where xxxx is the pid of a multithread process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8848582070368706851?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8848582070368706851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8848582070368706851' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8848582070368706851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8848582070368706851'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/03/two-more-kernel-patches.html' title='Two more kernel patches'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-7823337567532787416</id><published>2009-03-12T02:40:00.013+08:00</published><updated>2009-03-12T06:05:26.321+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='mips'/><category scheme='http://www.blogger.com/atom/ns#' term='xulrunner'/><title type='text'>Firefox for MIPS N32 ABI</title><content type='html'>Finally, I could announce that &lt;span style="font-style: italic;"&gt;it is working (tm).&lt;/span&gt;&lt;br /&gt;I just submitted the patches (together with O32 ABI patch) to upstream.&lt;br /&gt;&lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=482759"&gt;https://bugzilla.mozilla.org/show_bug.cgi?id=482759&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is a big step forward for MIPS N32 GNU/Linux desktop.&lt;br /&gt;&lt;br /&gt;One thing to note though: It (the N32 one) would encounter bus error on a few websites, e.g. www.sina.com.cn. I will try to find out why later when I have time.&lt;br /&gt;&lt;br /&gt;For those who are into long stories, please read on:&lt;br /&gt;&lt;br /&gt;I finally sorted out the font size problem, independently. It turned out that the problem is caused by strict aliasing issue in NSPR (NetScape Portable Runtime). Specifically, when parsing css file, in order to get the font size, PR_strtod() will be used to convert string to floating point value. But because of the strict aliasing issue, certain code in PR_strtod will be optimized out if -fstrict-aliasing is turned on, which is just the case if -O2 is used. And as a result, the floating point value would be wrong， e.g. "1.5" will be converted to 15.0, "0.67" will become 67.0. At first, I thought it was a bug in gcc 4.4 (not released yet, but supports -march=loongson2f), since this problem does not exist if I used gcc 4.3. So I filed a gcc bug [1]. However, as&lt;span style="font-style: italic;"&gt; Jakub Jelinek&lt;/span&gt; stated, this is actually a bug in NSPR [2].&lt;br /&gt;&lt;br /&gt;PS: flameeyes just reminded me that this is not a problem of NSPR its own [3]. He is trying to find out all the packages that have used this dtoa.c. The list is not finished yet. But there is one thing for sure, there will be quite a few.&lt;br /&gt;&lt;br /&gt;[1] &lt;a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39418"&gt;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39418&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=487844"&gt;https://bugzilla.redhat.com/show_bug.cgi?id=487844&lt;/a&gt;&lt;br /&gt;[3] &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=518927"&gt;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=518927&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-7823337567532787416?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/7823337567532787416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=7823337567532787416' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7823337567532787416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7823337567532787416'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/03/firefox-on-mips.html' title='Firefox for MIPS N32 ABI'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2053060931020618777</id><published>2009-02-25T16:15:00.019+08:00</published><updated>2009-03-16T19:44:17.740+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='glibc'/><category scheme='http://www.blogger.com/atom/ns#' term='crossdev'/><title type='text'>mips64el-unknown-linux-gnu cross toolchain building</title><content type='html'>NOTE: I just updated the command at the bottom, again. No big change. Now all should be good to go, including building on PS3, which is big endian.&lt;br /&gt;&lt;br /&gt;Crossdev is a great tool. Thanks to vapier.&lt;br /&gt;However, it may not work in all circumstances, although the problems may not lie in crossdev itself. For example, when creating mips64el-unknown-linux-gnu cross toolchain.&lt;br /&gt;The problems happen when building glibc headers. Because at that time, we don't have cross gcc yet. So some gcc options only cross gcc supports or some macros only cross gcc defines can't be used.&lt;br /&gt;Also happen when building gcc on big endian machines. Because of the erroneous LD_LIBRARY_PATH setting, cc1 generated in stage 1 will try to load libgcc_s.so.1 generated in stage 1, which is little endian.&lt;br /&gt;So I made some work-arounds. These are the three patches needed:&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blobdiff;f=sys-libs/glibc/files/eblits/src_compile.eblit;h=e482daf66bcb5349ef8e9dd736e4d1d04d8b46d1;hp=c7ce858acd305aafabbb7bf7ed8cb5ce42de2d23;hb=HEAD;hpb=848378774d73da9bbb054029d39bf21f174262ce"&gt;one patch to src_compile.eblit&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blobdiff;f=sys-libs/glibc/files/eblits/src_install.eblit;h=1e54425f33a247dd47dd1348325375991c908f2d;hp=aa1d4e7ad4905bd44113088e97527530e44d25bd;hb=HEAD;hpb=848378774d73da9bbb054029d39bf21f174262ce"&gt;a second patch to src_install.eblit&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blobdiff;f=sys-devel/gcc/gcc-4.4.0_pre9999.ebuild;h=4b4184e20c3fc51e8cd577c6fb677a8c6d760a7b;hp=da29e629dfcc5b7395b959983964952b128726ec;hb=a1e2adf4ef20525dd847a22ca34e8d27b59a2df0;hpb=da402935eca7da18fc3bff52e64199ed032d01a5"&gt;a third patch to gcc ebuild&lt;/a&gt;&lt;br /&gt;These are all small changes, but took me a lot of time to investigate.&lt;br /&gt;&lt;br /&gt;To use it, just run the following commands:&lt;br /&gt;&lt;pre&gt;cd&lt;br /&gt;git clone git://www.gentoo-cn.org/var/git/loongson.git&lt;br /&gt;mkdir cross-overlay&lt;br /&gt;cd cross-overlay&lt;br /&gt;mkdir profiles&lt;br /&gt;echo 'cross-overlay' &gt; profiles/repo_name&lt;br /&gt;ln -sf ../loongson/sys-libs&lt;br /&gt;sed -i -e '/PORTDIR_OVERLAY/ s/"$/ ${HOME}\/cross-overlay"/' /etc/make.conf&lt;br /&gt;crossdev -t mips64el-unknown-linux-gnu --b 9999 --g 4.4.0_pre9999 --l 2.9_p20081201-r2 --k 2.6.27-r2 -v&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2053060931020618777?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2053060931020618777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2053060931020618777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2053060931020618777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2053060931020618777'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/02/mips64el-unknown-linux-gnu-cross.html' title='mips64el-unknown-linux-gnu cross toolchain building'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-6353588898180304279</id><published>2009-01-14T23:38:00.004+08:00</published><updated>2009-05-10T12:02:53.124+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><title type='text'>MIPS N32 patch for xulrunner(firefox)</title><content type='html'>Finally, I have produced some results. I have watched 6 seasons of 24 and 2 seasons of Friends since late last month. So this is delayed. :P&lt;br /&gt;The patch is &lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson.git;a=blob;f=net-libs/xulrunner/files/xulrunner-mips-n32.patch;h=da43909f6f529e36459b5f2d9b7bcb2056acf324;hb=HEAD"&gt;here&lt;/a&gt;.&lt;br /&gt;I think it still need some tweaks, you can always get the latest patch in my loongson overlay on &lt;a href="http://www.gentoo-cn.org/gitweb"&gt;http://www.gentoo-cn.org/gitweb&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The produced xulrunner could run a little example:&lt;br /&gt;&lt;a href="http://dev.gentoo.org/%7Er0bertz/xulrunner/myapp.tar.bz2"&gt;http://dev.gentoo.org/~r0bertz/xulrunner/myapp.tar.bz2&lt;/a&gt;&lt;br /&gt;(untar the tarball, cd myapp &amp;amp;&amp;amp; xulrunner-1.9 application.ini)&lt;br /&gt;&lt;br /&gt;However, I haven't got a fully functioning firefox yet.&lt;br /&gt;Some font size is extremely large. And sometimes bus error.&lt;br /&gt;&lt;br /&gt;I have noticed that I have used -O3 to compile it.&lt;br /&gt;I will try -O2/-O1 later and see if it still bus error.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-6353588898180304279?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/6353588898180304279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=6353588898180304279' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/6353588898180304279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/6353588898180304279'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2009/01/mips-n32-patch-for-xulrunnerfirefox.html' title='MIPS N32 patch for xulrunner(firefox)'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-751920947777199976</id><published>2008-12-28T18:09:00.012+08:00</published><updated>2009-01-10T07:34:57.441+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='glibc'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>glibc doesn't build with linux-header-2.6.28 on loongson</title><content type='html'>Update: It is &lt;a href="http://www.linux-mips.org/archives/linux-mips/2009-01/msg00029.html"&gt;said&lt;/a&gt; that this problem has &lt;a href="http://lkml.org/lkml/2009/1/6/341"&gt;already been fixed&lt;/a&gt;. I will test it later.&lt;br /&gt;&lt;br /&gt;Actually I intended to send this to LKML, but just before I was about to send I found there was already &lt;a href="http://marc.info/?l=linux-sparc&amp;amp;m=122956478603612&amp;amp;w=2"&gt;some discussions&lt;/a&gt; about this . So instead I decided to just post it here.&lt;br /&gt;&lt;br /&gt;To make long story short, please take a look at these two files first:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sourceware.org/cgi-bin/cvsweb.cgi/libc/string/endian.h?rev=1.10&amp;amp;content-type=text/x-cvsweb-markup&amp;amp;cvsroot=glibc"&gt;The first file&lt;/a&gt;, which will become part of /usr/include/endian.h. This file defines both __LITTLE_ENDIAN and __BIG_ENDIAN. And this file will be included by the second file.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=include/linux/byteorder.h;h=29f002d73d989c577f0e79a8100d6fb7e0abb188;hb=bc2aa80e18a1b43ea2b8066500006b729c4ba4a7"&gt;The second file&lt;/a&gt;, which will be /usr/include/linux/byteorder.h&lt;br /&gt;&lt;br /&gt;Obviously, this test in the second file will fail:&lt;br /&gt;&lt;div style="text-align: justify;"&gt;    &lt;blockquote&gt;#if defined(__LITTLE_ENDIAN) &amp;amp;&amp;amp; defined(__BIG_ENDIAN)&lt;br /&gt;# error Fix asm/byteorder.h to define one endianness&lt;br /&gt;#endif&lt;/blockquote&gt;&lt;/div&gt;It seems that there is an inconsistency between Linux and glibc on handling __LITTLE_ENDIAN and __BIG_ENDIAN. Linux treats them like a flag, while glibc treats them like a value. glibc uses __BYTE_ORDER to determine the endianness.&lt;br /&gt;&lt;br /&gt;This problem must be solved, or any userland program including kernel headers which include {asm,linux}/byteorder.h will fail to build, e.g. glibc.&lt;br /&gt;&lt;br /&gt;It seems to me that the most straight forward way, but also very intrusive way is to make the handling of these two marco consistent in the two projects. That'll be a very large changeset. Also it will suddenly change a convention in a project that has already been followed for a long time. So I don't think people will accept this.&lt;br /&gt;&lt;br /&gt;How this problem will be solved is still remained to be seen.&lt;br /&gt;&lt;br /&gt;EDIT: someone reported that it worked well on ~amd64. So I modified the title and removed the last sentence. I will see if this problem still exists on my x86 notebook.&lt;br /&gt;&lt;br /&gt;EDIT 2: I confirm that this problem does not exists on x86. I will find out what exactly is going on loongson, or rather mips. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-751920947777199976?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/751920947777199976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=751920947777199976' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/751920947777199976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/751920947777199976'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/12/glibc-doesnt-build-with-linux-header.html' title='glibc doesn&apos;t build with linux-header-2.6.28 on loongson'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2028703983592981735</id><published>2008-12-25T14:01:00.006+08:00</published><updated>2008-12-25T21:29:54.182+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><title type='text'>Works I have done related to Loongson in recent months</title><content type='html'>I got a donation of a Lemote Loongson 2F box somewhere around July this year and have been working on it in my spare time since I got it.&lt;br /&gt;&lt;br /&gt;The other day I made a summary about what I have done so far and posted it on Lemote's bbs. The links is &lt;a href="http://www.lemote.com/bbs/viewthread.php?tid=20134"&gt;http://www.lemote.com/bbs/viewthread.php?tid=20134&lt;/a&gt;&lt;br /&gt;My work involves toolchain, kernel, xorg-server MIPS or Loongson support and userland library/application gcc 4.4 patch.&lt;br /&gt;&lt;br /&gt;The most prominent achievement so far is an N32 ABI stage3 (well, actually just a tarball, not made using catalyst) optimized for Loongson 2F with MIPS PLT support. It is actually not that easy as you would've imagined, N32 has many problems as you can see from the above posted link. I posted it on Lemote's bbs along with some instructions of how to use it: &lt;a href="http://www.lemote.com/bbs/viewthread.php?tid=20125"&gt;http://www.lemote.com/bbs/viewthread.php?tid=20125&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;According to some testers, performance of some applications in this system has an up to 30% increase comparing with the performance of the same apps in system Using O32 ABI without optimization for Loongson 2F and MIPS PLT support.&lt;br /&gt;&lt;br /&gt;I have just got laid off by my former employer (however no need to worry for me, new jobs will find me soon), that means currently I have a lot of time doing things I'd like to do, like Loongson. Now I am still working on the problems I have encountered so far, currently xulrunner for N32 ABI, which will lead ultimately to firefox on MIPS N32 ABI userland system.&lt;br /&gt;&lt;a href="https://developer.mozilla.org/en/xptcall_FAQ"&gt;https://developer.mozilla.org/en/xptcall_FAQ&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mxr.mozilla.org/mozilla/source/xpcom/reflect/xptcall/porting.html"&gt;http://mxr.mozilla.org/mozilla/source/xpcom/reflect/xptcall/porting.html&lt;/a&gt;&lt;br /&gt;I wish I could finish it before 2009 comes, ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2028703983592981735?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2028703983592981735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2028703983592981735' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2028703983592981735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2028703983592981735'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/12/works-i-have-done-related-to-loongson.html' title='Works I have done related to Loongson in recent months'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4127022900642143026</id><published>2008-11-28T19:23:00.008+08:00</published><updated>2008-11-29T03:39:06.632+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='portage'/><title type='text'>EAPI 2: SRC_URI Arrows implementation in portage</title><content type='html'>Background: &lt;a href="http://ciaranm.wordpress.com/2008/09/28/eapi-2-src_uri-arrows/"&gt;http://ciaranm.wordpress.com/2008/09/28/eapi-2-src_uri-arrows/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Today I found arrows in SRC_URI is not working in my box, so I took a look at the code, found something, and sent this:&lt;br /&gt;&lt;a href="http://www.nabble.com/a-little-patch-related-to-arrow-in-SRC_URI-td20732745.html"&gt;http://www.nabble.com/a-little-patch-related-to-arrow-in-SRC_URI-td20732745.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However, as Zac pointed out, the better solution is not to define your own fetch and resume command but rely on the default one.&lt;br /&gt;&lt;br /&gt;The default ones are defined in /etc/make.globals:&lt;br /&gt;&lt;blockquote&gt;FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\""&lt;br /&gt;RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\""&lt;/blockquote&gt;The rules of thumb is to make sure you save the file at ${DISTDIR}/${FILE}, since FILE is just the file name, doesn't include path.&lt;br /&gt;&lt;br /&gt;Previously I have fetch and resume command defined in make.conf, and have used "-P ${DISTDIR}" instead of "-O ${DISTDIR}/${FILE}". Maybe portage should give warnings on this situation.&lt;br /&gt;&lt;br /&gt;I encountered this problem when trying to install sopcast from gentoo china overlay.&lt;br /&gt;Sopcast is a p2p stream TV software.&lt;br /&gt;The latest ebuild uses arrows in SRC_URI, since its upstream doesn't include version in source tarball's file name. It is contributed by Hong Hao.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4127022900642143026?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/4127022900642143026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4127022900642143026' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4127022900642143026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4127022900642143026'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/11/eapi-2-srcuri-arrows-implementation-in.html' title='EAPI 2: SRC_URI Arrows implementation in portage'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-88844678739644972</id><published>2008-11-11T23:33:00.005+08:00</published><updated>2008-11-12T15:17:38.471+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='gcc'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><title type='text'>A problem in Loongson 2F specific integer operation instruction patch</title><content type='html'>I have reported on gcc mailing list.&lt;br /&gt;&lt;a href="http://gcc.gnu.org/ml/gcc/2008-11/msg00076.html"&gt;http://gcc.gnu.org/ml/gcc/2008-11/msg00076.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also I found the solution:&lt;br /&gt;&lt;a href="http://gcc.gnu.org/ml/gcc/2008-11/msg00087.html"&gt;http://gcc.gnu.org/ml/gcc/2008-11/msg00087.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now I have built gcc-4.4 with my modified patch with "-march=mips3", and am building itself again using "-march=loongson2f".&lt;br /&gt;&lt;br /&gt;Note that enabling -O2 in later stages is not working yet. Please check this bug report for more information if you are interested:&lt;br /&gt;&lt;a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38052"&gt;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38052&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;EDIT:&lt;br /&gt;just heard from Kumba, this flag used together with -O1 will trigger this bug:&lt;br /&gt;     -foptimize-sibling-calls&lt;br /&gt;         Optimize sibling and tail recursive calls.&lt;br /&gt;&lt;br /&gt;         Enabled at levels -O2, -O3, -Os.&lt;br /&gt;&lt;br /&gt;The modified gcc 4.4 ebuild is &lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson;a=tree;f=sys-devel/gcc;h=66abdd4bcb762a2dce51798b3414fc5c77dd9202;hb=HEAD"&gt;here&lt;/a&gt; and some relevant libraries &lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson;a=tree;f=dev-libs;h=58ae5b720082a8a03028ad794ae3a113ec3de52e;hb=HEAD"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-88844678739644972?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/88844678739644972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=88844678739644972' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/88844678739644972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/88844678739644972'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/11/problem-in-loongson-2f-specific-integer.html' title='A problem in Loongson 2F specific integer operation instruction patch'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8945618058231879316</id><published>2008-11-08T10:37:00.006+08:00</published><updated>2008-11-08T10:45:38.678+08:00</updated><title type='text'>Gcc 4.4 Loongson 2F specific integer multiply/divide instruction patch</title><content type='html'>&lt;a href="http://gcc.gnu.org/ml/gcc-patches/2008-11/msg00273.html"&gt;http://gcc.gnu.org/ml/gcc-patches/2008-11/msg00273.html&lt;/a&gt;&lt;br /&gt;I have put it in &lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson;a=commit;h=97e4b2823929cac5c5e7f6464fce05c1a75d0128"&gt;my loongson overlay&lt;/a&gt;.&lt;br /&gt;BTW, the gcc svn ebuild is from dirtyepic's overlay. Thanks, ;)&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;zhangle@2f ~ $ cat hello.c&lt;br /&gt;#include&amp;lt;stdio.h&amp;gt;&lt;br /&gt;int mul(){&lt;br /&gt;   unsigned long a = 0xffffffff;&lt;br /&gt;   unsigned long b = 0xf;&lt;br /&gt;   return a * b;&lt;br /&gt;}&lt;br /&gt;zhangle@2f ~ $ gcc -march=loongson2f hello.c -S&lt;br /&gt;zhangle@2f ~ $ gcc -march=mips3 hello.c -S -o hello-mips3.s&lt;br /&gt;zhangle@2f ~ $ diff -u hello.s hello-mips3.s&lt;br /&gt;--- hello.s  2008-11-08 18:16:52.000000000 +0800&lt;br /&gt;+++ hello-mips3.s       2008-11-08 18:16:55.000000000 +0800&lt;br /&gt;@@ -25,7 +25,8 @@&lt;br /&gt;   sw   $2,8($fp)&lt;br /&gt;   lw   $3,12($fp)&lt;br /&gt;   lw   $2,8($fp)&lt;br /&gt;-       multu.g $2,$3,$2&lt;br /&gt;+       mult $3,$2&lt;br /&gt;+       mflo $2&lt;br /&gt;   move $sp,$fp&lt;br /&gt;   lw   $fp,20($sp)&lt;br /&gt;   addiu   $sp,$sp,24&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8945618058231879316?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8945618058231879316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8945618058231879316' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8945618058231879316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8945618058231879316'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/11/gcc-44-loongson-2f-specific-integer.html' title='Gcc 4.4 Loongson 2F specific integer multiply/divide instruction patch'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-5863415519645352422</id><published>2008-08-04T04:59:00.003+08:00</published><updated>2008-08-05T01:31:55.364+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='distcc'/><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='gcc'/><title type='text'>improvements (Gentoo specific) to distcc zeroconf support</title><content type='html'>distcc's got zeroconf support&lt;br /&gt;That is cool!&lt;p&gt;However, there are problems (althouth not everyone got these problems).&lt;br /&gt;One of them is that if you have multiple version of gcc's or even&lt;br /&gt;cross compilers, distcc clients can't discover them, since distccd will&lt;br /&gt;only register your current active gcc.&lt;br /&gt;And if you want to change your native compiler's version, you must&lt;br /&gt;restart distccd in order to let it take effect.&lt;/p&gt;&lt;p&gt;Having multiple gcc's may not be common in other distribution, but&lt;br /&gt;this is common in gentoo.&lt;br /&gt;This is what I have on my x86 notebook:&lt;br /&gt;gcc-config -l&lt;br /&gt;[1] i686-pc-linux-gnu-4.3.1 *&lt;br /&gt;[2] mipsel-unknown-linux-gnu-4.3.0-alpha20080731&lt;br /&gt;[3] mipsel-unknown-linux-gnu-4.3.1&lt;br /&gt;[4] mipsel-unknown-linux-gnu-4.4.0-alpha20080718 *&lt;br /&gt;[5] mipsel-unknown-linux-gnu-4.4.0-alpha20080801&lt;br /&gt;[6] powerpc-unknown-linux-gnu-4.2.3 *&lt;/p&gt;&lt;p&gt;So I made a little patch:&lt;br /&gt;&lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=233843"&gt;https://bugs.gentoo.org/show_bug.cgi?id=233843&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Hope there will be a distcc-2.18.3-r14 or distcc-3.0_rc4 in tree soon, ;)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-5863415519645352422?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/5863415519645352422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=5863415519645352422' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5863415519645352422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5863415519645352422'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/08/improvements-gentoo-specific-to-distcc.html' title='improvements (Gentoo specific) to distcc zeroconf support'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3802840520772169185</id><published>2008-07-28T05:20:00.001+08:00</published><updated>2008-07-28T05:20:46.015+08:00</updated><title type='text'>make awstats support Gentoo</title><content type='html'>It makes me very uncomfortable that awstat-6.7-r2 in tree does not&lt;br&gt;have support for Gentoo&lt;br&gt;So I made a little patch and  a little icon.&lt;br&gt;&lt;a href="http://tinyurl.com/5dj2x3"&gt;http://tinyurl.com/5dj2x3&lt;/a&gt;&lt;p&gt;I have already tested it on &lt;a href="http://www.gentoo-cn.org"&gt;www.gentoo-cn.org&lt;/a&gt;. It works.&lt;br&gt;Hope upstream would accept it soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3802840520772169185?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/3802840520772169185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3802840520772169185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3802840520772169185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3802840520772169185'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/07/make-awstats-support-gentoo.html' title='make awstats support Gentoo'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4112231403466413461</id><published>2008-06-27T18:04:00.006+08:00</published><updated>2008-06-28T22:35:13.449+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='portage'/><title type='text'>portage-2.2 preserve-libs FEATURES explained</title><content type='html'>Maybe I am not the right person to write about it. But I felt the necessity to write about it. So I will just write something about preserve-libs, leaving other FEATURES to more competent people.&lt;br /&gt;&lt;br /&gt;Portage-2.2 has already entered unstable tree. Many people has started using it. It has many new features, like preserve-libs, sets, license filter and so on. Please check README and RELEASE-NOTES for a complete list. I will only talk about preserve-libs.&lt;br /&gt;&lt;br /&gt;To understand why we need it, we have to know some background information.&lt;br /&gt;First of all, applications are not built from scratch. Any non trivial apps use lot of libraries.&lt;br /&gt;In GNU/Linux, most of them are shared libraries, i.e. .so files.&lt;br /&gt;You can use `ldd /usr/bin/mplayer` to check what shared libraries an app has been linked to, replace mplayer to whatever program you'd like to check.&lt;br /&gt;Shared libraries have versions.&lt;br /&gt;E.g. /usr/lib/libavformat.so.51, here 51 denotes its version.&lt;br /&gt;After upgrading, the version number may change.&lt;br /&gt;E.g. /usr/lib/libavformat.so.52&lt;br /&gt;&lt;br /&gt;Previously in Gentoo Linux, after upgrading, old version of so file will be deleted.&lt;br /&gt;As a consequence, all the apps which have previously been linked to the old so file will cease to work.&lt;br /&gt;The most well known case may be "XML::Parser perl module not found".&lt;br /&gt;At that time, to solve this problem, you would have to use revdep-rebuild to rebuild all such apps.&lt;br /&gt;Before they are rebuilt, you can't use them.&lt;br /&gt;I myself have experienced this a lot, especially on mplayer.&lt;br /&gt;Sometimes, a soccer match is about to kick off, suddenly I found my mplayer not working because of a missing old so file.&lt;br /&gt;&lt;br /&gt;Now, the nightmare is all over.&lt;br /&gt;With preserve-libs, your apps will continue to work, because old so files are preserved.&lt;br /&gt;And they will not stay on your hard disk forever.&lt;br /&gt;After `emerge @preserved-rebuild` they will be all gone and your apps will be linked to the new version of so file.&lt;br /&gt;&lt;br /&gt;Such a wonderful world~~~&lt;br /&gt;&lt;br /&gt;The following is from the output of a recent system upgrade:&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt;!!! existing preserved libs:&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt;&gt;&gt;&gt; package: sys-libs/glibc-2.8_p20080602&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /lib/libm-2.7.so&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt;&gt;&gt;&gt; package: www-client/mozilla-firefox-3.0-r1&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/mozilla-firefox/libgfxpsshar.so&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/mozilla-firefox/libgkgfx.so&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/mozilla-firefox/libgtkembedmoz.so&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/mozilla-firefox/libgtkxtbin.so&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/mozilla-firefox/libmozjs.so&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/mozilla-firefox/libxlibrgb.so&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/mozilla-firefox/libxpcom.so&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/mozilla-firefox/libxpcom_compat.so&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/mozilla-firefox/libxpcom_core.so&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt;&gt;&gt;&gt; package: sys-devel/libtool-2.2.4&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/libltdl.so.3&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/libltdl.so.3.1.6&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt;&gt;&gt;&gt; package: media-video/ffmpeg-0.4.9_p20080326&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/libavformat.so.51&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt; *  - /usr/lib/libavformat.so.51.12.1&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt;Use emerge @preserved-rebuild to rebuild packages using these libraries&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Now I have both old and new versions of libavformat.so&lt;br /&gt;&lt;span style="color: rgb(255, 255, 255);"&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt;$ ls /usr/lib/libavformat.so.5*&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: rgb(0, 0, 0);"&gt;/usr/lib/libavformat.so.51  /usr/lib/libavformat.so.51.12.1  /usr/lib/libavformat.so.52  /usr/lib/libavformat.so.52.12.0&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;And my mplayer is still working.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4112231403466413461?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/4112231403466413461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4112231403466413461' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4112231403466413461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4112231403466413461'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/06/portage-22-preserve-libs-features.html' title='portage-2.2 preserve-libs FEATURES explained'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2253499330084985283</id><published>2008-06-06T22:17:00.003+08:00</published><updated>2008-06-06T22:31:13.164+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='as-needed'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><title type='text'>Some updates (docs, loongson, as-needed)</title><content type='html'>1. Documentation get updates regularly as usual.&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=gentoo-cn;a=summary"&gt;http://www.gentoo-cn.org/gitweb/?p=gentoo-cn;a=summary&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Our table now can distinguish between file owner and file last updater when the file in question need to be updated. If the last updater is the owner, there will be an email link on the name; otherwise, there will be no link, but the name will be in red. The name is in the last column.&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/trads/"&gt;http://www.gentoo-cn.org/trads/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://rubyurl.com/0BD4"&gt;http://rubyurl.com/0BD4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. I will get my loongson 2f box soon, :-D&lt;br /&gt;&lt;br /&gt;4. Just fixed an as-needed problem:&lt;br /&gt;&lt;a href="http://bugs.gentoo.org/show_bug.cgi?id=225117"&gt;http://bugs.gentoo.org/show_bug.cgi?id=225117&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gentoo.org/proj/en/qa/asneeded.xml"&gt;http://www.gentoo.org/proj/en/qa/asneeded.xml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2253499330084985283?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2253499330084985283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2253499330084985283' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2253499330084985283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2253499330084985283'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/06/some-updates-docs-loongson-as-needed.html' title='Some updates (docs, loongson, as-needed)'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2266052332284709844</id><published>2008-04-29T14:17:00.007+08:00</published><updated>2008-04-29T14:30:15.109+08:00</updated><title type='text'>Old story</title><content type='html'>Although I don't know the direct cause of council's decision this time, it reminds me of an old story.&lt;br /&gt;&lt;a href="http://r0bertz.blogspot.com/2007/01/be-careful-when-you-are-on-paludis.html"&gt;http://r0bertz.blogspot.com/2007/01/be-careful-when-you-are-on-paludis.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Quote some Diego's words:&lt;br /&gt;&lt;blockquote&gt;Don’t think we woke up this morning and decided to get rid of any developer. We considered this for a quite long time. Over all, I think the decision was took after a too long time.&lt;br /&gt;&lt;br /&gt;You can criticise, you can joke, but if the people you joke upon don’t laugh with you at the joke, then apologise and stop it!&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2266052332284709844?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2266052332284709844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2266052332284709844' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2266052332284709844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2266052332284709844'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/04/old-story.html' title='Old story'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-5023578054311940860</id><published>2008-04-24T13:16:00.006+08:00</published><updated>2008-04-27T14:00:33.684+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='laptop'/><category scheme='http://www.blogger.com/atom/ns#' term='gcc'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><title type='text'>Some updates about loongson</title><content type='html'>1. Gcc's support for loongson is coming:&lt;br /&gt;&lt;a href="http://gcc.gnu.org/ml/gcc/2008-04/msg00551.html"&gt;http://gcc.gnu.org/ml/gcc/2008-04/msg00551.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Lemote Loongson 2F box's release has been postponed to June 30.&lt;br /&gt;&lt;a href="http://202.201.0.147/Html/inner/2008-4/11/201803589.html"&gt;http://202.201.0.147/Html/inner/2008-4/11/201803589.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For those who want to order 2F box: I have talked to 2F box's product manager, he recommended sending email to sales@lemote.com directly.&lt;br /&gt;&lt;br /&gt;That's it, ;)&lt;br /&gt;&lt;br /&gt;PS: Lemote has Loongson laptop, too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-5023578054311940860?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/5023578054311940860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=5023578054311940860' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5023578054311940860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5023578054311940860'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/04/some-updates-about-loongson.html' title='Some updates about loongson'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8182410377673869877</id><published>2008-04-02T05:55:00.001+08:00</published><updated>2008-04-02T05:55:37.663+08:00</updated><title type='text'>2008.0_beta1 is ready, so is the accompanying Simplified Chinese handbook</title><content type='html'>Releases:&lt;br&gt;&lt;a href="http://mirror.mcs.anl.gov/pub/gentoo/releases/x86/2008.0_beta1"&gt;http://mirror.mcs.anl.gov/pub/gentoo/releases/x86/2008.0_beta1&lt;/a&gt;&lt;p&gt;Handbooks:&lt;br&gt;&lt;a href="http://www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml"&gt;http://www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=gentoo-cn;a=summary"&gt;http://www.gentoo-cn.org/gitweb/?p=gentoo-cn;a=summary&lt;/a&gt;&lt;br&gt;&lt;a href="http://cia.vc/stats/author/r0bertz"&gt;http://cia.vc/stats/author/r0bertz&lt;/a&gt;&lt;p&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8182410377673869877?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8182410377673869877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8182410377673869877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8182410377673869877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8182410377673869877'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/04/20080beta1-is-ready-so-is-accompanying.html' title='2008.0_beta1 is ready, so is the accompanying Simplified Chinese handbook'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-212149905108527609</id><published>2008-03-25T01:17:00.003+08:00</published><updated>2010-01-27T20:39:01.037+08:00</updated><title type='text'>How to ssh-add in cron job</title><content type='html'>EDIT: updated link in this article.&lt;br /&gt;&lt;br /&gt;ssh-add can let your ssh-agent remember the passphrase of your ssh&lt;br /&gt;secret key, so that you don't need to type any password when loging&lt;br /&gt;into a remote machine.&lt;br /&gt;However, it is an interactive program, you can't call it in a cron&lt;br /&gt;job. Even if you can, you will expose your passphrase in a file, which&lt;br /&gt;is not safe.&lt;p&gt;The solution is actually very easy. You don't really need to ssh-add.&lt;br /&gt;All you need to do is letting ssh know some environment variable.&lt;/p&gt;&lt;p&gt;First of all, I recommend you set up ssh-agent forwarding with GNU&lt;br /&gt;screen following instruction here:&lt;br /&gt;&lt;a href="http://www.deadman.org/sshscreen.php"&gt;http://www.deadman.org/sshscreen.php&lt;/a&gt;&lt;br /&gt;Then in your cron job script, source ${HOME}/bin/fixssh first.&lt;br /&gt;Done!&lt;/p&gt;&lt;p&gt;Enjoy ;)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-212149905108527609?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/212149905108527609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=212149905108527609' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/212149905108527609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/212149905108527609'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/03/how-to-ssh-add-in-cron-job.html' title='How to ssh-add in cron job'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-1875079881826764674</id><published>2008-03-23T02:21:00.001+08:00</published><updated>2008-03-23T02:21:26.159+08:00</updated><title type='text'>2008.0 Simplified Chinese handbook all finished</title><content type='html'>&lt;a href="http://www.gentoo-cn.org/trads/"&gt;http://www.gentoo-cn.org/trads/&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.gentoo-cn.org/doc/zh_cn/handbook/draft/"&gt;http://www.gentoo-cn.org/doc/zh_cn/handbook/draft/&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.gentoo-cn.org/doc/zh_cn/handbook/2008.0/"&gt;http://www.gentoo-cn.org/doc/zh_cn/handbook/2008.0/&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=gentoo-cn;a=shortlog"&gt;http://www.gentoo-cn.org/gitweb/?p=gentoo-cn;a=shortlog&lt;/a&gt;&lt;p&gt;Not too much work to do actually.&lt;br&gt;First I copied current handbook and 2007.0 networkless handbook.&lt;br&gt;Then wrote a little script to update version number and date and&lt;br&gt;change all occurrences of 2007.0 to 2008.0 automatically.&lt;br&gt;Then made a diff between old and new English handbook.&lt;br&gt;Then modify old handbook according to the diff of English version.&lt;br&gt;Done ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-1875079881826764674?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/1875079881826764674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=1875079881826764674' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/1875079881826764674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/1875079881826764674'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/03/20080-simplified-chinese-handbook-all.html' title='2008.0 Simplified Chinese handbook all finished'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-383671105193968459</id><published>2008-02-27T21:16:00.003+08:00</published><updated>2008-02-27T21:30:25.772+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><title type='text'>The new Simplified Chinese doc translation page is ready</title><content type='html'>I put it on my gentoo-cn.org:&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/trads"&gt;http://www.gentoo-cn.org/trads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have done some modification to neysx's trads script. And I have written a new perl script which could generate a totally new trads.xml (think it like a config file to trads) from scratch.  I am using git as version control software. The gitweb page is here:&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=trads;a=summary"&gt;http://www.gentoo-cn.org/gitweb/?p=trads;a=summary&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The gen_trads_xml.pl script is here:&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=trads;a=tree;f=xml"&gt;http://www.gentoo-cn.org/gitweb/?p=trads;a=tree;f=xml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-383671105193968459?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/383671105193968459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=383671105193968459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/383671105193968459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/383671105193968459'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/02/new-simplified-chinese-doc-translation.html' title='The new Simplified Chinese doc translation page is ready'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8302437813202619720</id><published>2008-02-19T03:34:00.003+08:00</published><updated>2008-02-19T03:48:07.530+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><title type='text'>Shiny new Simplified Chinese doc translation list</title><content type='html'>First of all,  thanks to neysx and his excellent &lt;a href="http://gentoo.neysx.org/mystuff/trads/doc/trads-doc.xml"&gt;tool&lt;/a&gt;. Also thanks to Simone Li for translating the original French template to English.&lt;br /&gt;&lt;br /&gt;Actually, it is not finished yet.  I have to finish translating the page to Chinese, then write a script to auto update trads.xml which records the priority, translated version, current version of each doc.&lt;br /&gt;&lt;br /&gt;Anyway if you want to take a preview,  the URL is here:&lt;br /&gt;&lt;a href="http://dev.gentoo.org/%7Er0bertz/trads-zh_cn.xml"&gt;http://dev.gentoo.org/~r0bertz/trads-zh_cn.xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Notice: don't be fooled, :) Although the current list on the above page is almost empty, we have actually translated a lot of docs into Chinese, especially the whole handbook, ;) So, check it out:&lt;br /&gt;&lt;a href="http://www.gentoo.org/doc/zh_cn/list.xml"&gt;http://www.gentoo.org/doc/zh_cn/list.xml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8302437813202619720?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8302437813202619720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8302437813202619720' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8302437813202619720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8302437813202619720'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/02/shiny-new-simplified-chinese-doc.html' title='Shiny new Simplified Chinese doc translation list'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-6015107937880248687</id><published>2008-01-24T03:41:00.000+08:00</published><updated>2008-01-24T19:03:45.071+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='binutils'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><category scheme='http://www.blogger.com/atom/ns#' term='cvs'/><title type='text'>A live binutils ebuild</title><content type='html'>I have written a live binutils ebuild.&lt;br /&gt;It is now in my &lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson;a=summary"&gt;loongson overlay.&lt;/a&gt;&lt;br /&gt;I wrote it because binutils cvs already got loongson 2e and 2f support, but new version is not released yet.&lt;br /&gt;The ebuild itself is quite simple, thanks to cvs.eclass and toolchain.eclass.&lt;br /&gt;However, in order to make it really work, I have to modify cvs.eclass.&lt;br /&gt;The reason is:&lt;br /&gt;The checked out directory name of binutils is called "src". While cvs.eclass expects the checked out directory name is the same as the package name, i.e. "binutils". Unfortunately, "co -d binutils binutils" doesn't work. If I use "co -d binutils binutils", I can only checked out the "binutils" directory, while the actual binutils module contains more than that.&lt;br /&gt;&lt;br /&gt;So, the most straight forward way to solve this would be to "mv src binutils" after checking it out, and this was exactly what I did.&lt;br /&gt;&lt;br /&gt;I need a new variable name to hold "src". I call it ECVS_CO_DIR.&lt;br /&gt;&lt;br /&gt;Some other things to pay attention to:&lt;br /&gt;If the initial check out were interrupted, I have to remove the whole "src" directory and start over again. "update" command must not have -dP augument, otherwise directories not in binutils module will also be checked out. ECVS_LOCALNAME and ECVS_CO_DIR can't both be set in ebuild, since that does not make sense. By design ECVS_LOCALNAME is used when the server allow -d augument of co, while ECVS_CO_DIR is used when -d is not allowed.&lt;br /&gt;&lt;br /&gt;So here is the patch:&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/gitweb/?p=loongson;a=blobdiff;f=eclass/cvs.eclass;h=d13e0d93bcbbcf12fbe30dcad8323bdb3d5a82e0;hp=8051776033f5c1fba9a1f40b633bc57a68acaba5;hb=f5ff89afa48c4884a2aecebaa006108d618b0136;hpb=44d78b40866d7d6bb8d5dae04f581ad60471e5ae"&gt;http://xrl.us/ber83 (Link to www.gentoo-cn.org)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I will contact vapier soon, and see if this could be merged to cvs.eclass in tree.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-6015107937880248687?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/6015107937880248687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=6015107937880248687' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/6015107937880248687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/6015107937880248687'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/01/live-binutils-ebuild.html' title='A live binutils ebuild'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8640060025839271859</id><published>2008-01-05T22:56:00.000+08:00</published><updated>2008-01-05T23:27:28.532+08:00</updated><title type='text'>Share /usr/portage via NFS</title><content type='html'>Recently I have tried sharing /usr/portage among several boxes via NFS after I've read &lt;a href="http://www.gentoo.org/proj/en/portage/doc/faq.xml"&gt;http://www.gentoo.org/proj/en/portage/doc/faq.xml.&lt;/a&gt;&lt;br /&gt;I followed portage's manpage, created /etc/portage/modules on nfs client&lt;br /&gt;$ cat /etc/portage/modules&lt;br /&gt;portdbapi.auxdbmodule = cache.metadata_overlay.database&lt;br /&gt;And removed all cache files under /var/cache/edb/dep/usr/portage&lt;br /&gt;So that I don't need to run emerge --metadata on nfs client after emerge --sync.&lt;br /&gt;&lt;br /&gt;It is not over yet for eix users. If you have a $HOME/.eixrc and  defines in it PORTDIR_CACHE_METHOD as something like "portage-2.1"/"cdb"/"sqlite"(check man eix),  you may want to remove the ~/.eixrc file. Since those methods requires you to run emerge --metadata before update-eix, and thus defeat our purpose in the first place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8640060025839271859?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8640060025839271859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8640060025839271859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8640060025839271859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8640060025839271859'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2008/01/share-usrportage-via-nfs.html' title='Share /usr/portage via NFS'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-7917709063140963740</id><published>2007-12-01T00:55:00.000+08:00</published><updated>2007-12-01T01:48:04.144+08:00</updated><title type='text'>Some progress on Loongson</title><content type='html'>The Qt-3.3.8-r4 &lt;a href="http://r0bertz.blogspot.com/2007/10/failed-to-build-qt-338-r4-on-loongson.html"&gt;linking problem&lt;/a&gt; is solved. The problem is caused by a bug in binutils which has already been &lt;a href="http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/elfxx-mips.c.diff?r1=1.212.2.2&amp;amp;r2=1.212.2.3&amp;amp;cvsroot=src&amp;amp;sortby=date"&gt;fixed&lt;/a&gt;. I have already put an live ebuild for binutils in my &lt;a href="http://gentoo-cn.org/gitweb/?p=loongson;a=summary"&gt;loongson overlay&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Loongson already got binutils' support. Please check the links below:&lt;br /&gt;1. &lt;a href="http://sourceware.org/ml/binutils/2007-11/msg00227.html"&gt;http://sourceware.org/ml/binutils/2007-11/msg00227.html&lt;/a&gt;&lt;br /&gt;2. &lt;a href="http://sourceware.org/ml/binutils/2007-11/msg00232.html"&gt;http://sourceware.org/ml/binutils/2007-11/msg00232.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Loongson's gcc support which is also developed by codesourcery is coming on the way, maybe in the next couple of month. Gcc is "in Stage 3 at the moment, which essentially amounts to regression fixes only, so the patches can't be committed yet". They will submit the patch to gcc when gcc comes to stage 1 again. In the meantime,  we (some audacious guys from &lt;a href="http://www.lemote.com/bbs/viewthread.php?tid=11665&amp;amp;extra=page%3D1"&gt;lemote.com's  forum)&lt;/a&gt; have made our own gcc patch, which is already available on my &lt;a href="http://gentoo-cn.org/gitweb/?p=loongson;a=blob;f=sys-devel/gcc/files/gcc-4.3.0_alpha20071116.diff;h=9928fd0752d3f2381b351b454f37f5ada8427c84;hb=9bbfda9fb101e168805902bd8ddc7d7953f1327f"&gt;overlay&lt;/a&gt;. Honestly, I don't think our patch would be as elegant as codesourcery's. After all, they make a living by making such patches.  But we can catch up some day, :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-7917709063140963740?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/7917709063140963740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=7917709063140963740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7917709063140963740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7917709063140963740'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/12/some-progress-on-loongson.html' title='Some progress on Loongson'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2732929376847966776</id><published>2007-11-12T19:11:00.000+08:00</published><updated>2007-11-12T20:02:58.716+08:00</updated><title type='text'>Be aware that both cscope and make honor $SOURCEDIRS</title><content type='html'>Emerging media-sound/cdparanoia failed lately on my box when I was running "sudo emerge...".&lt;br /&gt;The error  was that an archive file was missing.&lt;br /&gt;However, I didn't find any bug report related to that on bug.g.o.&lt;br /&gt;So, I decided to take a look myself. I found that if I emerged it using root user, then everything was ok. So, I suspected this might have something to do with my environment setting, coz I don't reset env for users in wheel group(so that I can "USE=... sudo emerge").&lt;br /&gt;I ran ebuild unpack/install/compile/install separately using normal user and root to determine which stage caused the difference. Finally, I found the difference happened when "make"ing in the paranoia directory. An target called "lib" defines the rule to build that archive file.  The lib is not a real file, however it is not labeled as PHONY.  Apparently, the target is not run.  But why?&lt;br /&gt;I straced make as normal user. I found something strange. The strange thing was make looked in /usr/src/linux for "lib" and found it - everyone has it. So make believed that lib was already there, no need to make. That's why the archive file was missing.  But why looking for lib under /usr/src/linux?&lt;br /&gt;I ran "env | grep '/usr/src/linux'", and found SOURCEDIRS is defined to that value. It is intended to be used by cscope.&lt;br /&gt;Up till this moment, everthing is clear.&lt;br /&gt;The lessons we can learn from this incident:&lt;br /&gt;1. Not resetting env for sudo may cause problems&lt;br /&gt;2. If a target is not a real file, lable it as .PHONY in makefile&lt;br /&gt;3. Be aware that both cscope and make honor SOURCEDIRS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2732929376847966776?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2732929376847966776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2732929376847966776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2732929376847966776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2732929376847966776'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/11/be-aware-that-both-cscope-and-make.html' title='Be aware that both cscope and make honor $SOURCEDIRS'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8427528436619429620</id><published>2007-11-12T01:16:00.000+08:00</published><updated>2008-01-07T23:19:03.976+08:00</updated><title type='text'>the myths about stardict-3.0.1's text-to-speech feature</title><content type='html'>stardict-3 is now available via &lt;a href="http://www.linuxsir.org/bbs/thread272832.html"&gt;gentoo-china overlay&lt;/a&gt;. (I wish I could pass ebuild quiz soon and become stardict's maintainer in gentoo...)&lt;br /&gt;stardict-3 has got tts feature. It could use festival or espeak to play an arbitrary sequence of characters.&lt;br /&gt;There are two ways to use this feature. One way is via tts plugin, one for each tts engine. In fact, tts plugin does more than that - it could set the voice of its corresponding tts engine as well. The other way is to specify the command to play yourself, and there are two options which you can choose from, "echo %s | festival --tts" and "espeak %s".&lt;br /&gt;My experience is the first way has priority over the latter one.&lt;br /&gt;My suggestion is to use the latter one. Because tts plugin's functionality is redundant. You can choose tts engine's voices anyway. And you can use tts engine without them. Moreover, the festival plugin will segfault the program[1]. So, IMHO, the tts plugins are dispensable. So in my &lt;a href="http://gentoo-china-overlay.googlecode.com/svn/trunk/app-dicts/stardict/stardict-3.0.1-r2.ebuild"&gt;stardict-3.0.1-r2.ebuild&lt;/a&gt;, I disabled festival and espeak plugin unconditionally. The festival and espeak USE flag are still there, which control whether we have the runtime dependency of festival and espeak.&lt;br /&gt;&lt;br /&gt;[1]For those who might be interested in the details of festival plugin problem: At first, I didn't sort the whole thing out. I thought festival plugin is required. So I tried to solve it. After some hard work, I found that the problem lies in speech-tools. speech-tools provides libestools.so. There is a "backtrace" symbol in libestools.so. festival plugin is dynamically linked with libestools.so. When loading festival plugin in stardict startup, the "backtrace" symbol will be magically solved to the backtrace variable in libc.so. This never happened in festival's startup. Then I found that the backtrace variable is in fact only used in one compilation unit. So adding a "static" to it will solve the problem. Although the problem is solved, I still don't understand why there is no such problem with festival's startup.Then I found another problem. If the festival plugin is initially disabled, when you are trying to enable it while stardict is running, the program will segfault again. But at this time I decided to give up. Because at this time I have already understand how the whole thing works, i.e. the plugin is not required.&lt;br /&gt;&lt;br /&gt;--- speech_tools/siod/slib.cc.orig      2007-11-11 22:49:27.000000000 +0800&lt;br /&gt;+++ speech_tools/siod/slib.cc   2007-11-11 15:52:33.000000000 +0800&lt;br /&gt;@@ -128,7 +128,7 @@&lt;br /&gt;long interrupt_differed = 0;&lt;br /&gt;LISP oblistvar = NIL;&lt;br /&gt;LISP current_env = NIL;&lt;br /&gt;-LISP backtrace = NIL;&lt;br /&gt;+static LISP backtrace = NIL;&lt;br /&gt;LISP restricted = NIL;&lt;br /&gt;LISP truth = NIL;&lt;br /&gt;LISP eof_val = NIL;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8427528436619429620?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8427528436619429620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8427528436619429620' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8427528436619429620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8427528436619429620'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/11/myths-about-stardict-301s-text-to.html' title='the myths about stardict-3.0.1&apos;s text-to-speech feature'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4180013851345302289</id><published>2007-10-22T02:51:00.000+08:00</published><updated>2007-10-22T02:54:41.695+08:00</updated><title type='text'>failed to build qt-3.3.8-r4 on loongson</title><content type='html'>Haven't solve it yet.&lt;br /&gt;I have already tried to add -mxgot to CFLAGS and CXXFLAGS. But it didn't work for me.&lt;br /&gt;Some useful link:&lt;br /&gt;&lt;a href="http://cygwin.com/ml/binutils/2003-04/msg00258.html"&gt;http://cygwin.com/ml/binutils/2003-04/msg00258.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://gcc.gnu.org/ml/java/2004-10/msg00018.html"&gt;http://gcc.gnu.org/ml/java/2004-10/msg00018.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cygwin.com/ml/binutils/2006-04/msg00006.html"&gt;http://www.cygwin.com/ml/binutils/2006-04/msg00006.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4180013851345302289?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/4180013851345302289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4180013851345302289' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4180013851345302289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4180013851345302289'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/10/failed-to-build-qt-338-r4-on-loongson.html' title='failed to build qt-3.3.8-r4 on loongson'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-5726388381531655041</id><published>2007-10-06T20:19:00.000+08:00</published><updated>2007-10-07T00:02:08.800+08:00</updated><title type='text'>Fixed a bug in xml2po</title><content type='html'>&lt;a href="http://bugzilla.gnome.org/show_bug.cgi?id=437371#c4"&gt;http://bugzilla.gnome.org/show_bug.cgi?id=437371#c4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The condition to trigger the bug is that opening tag or the content of the tag contains non-ascii chars. e.g:&lt;br /&gt;&lt;pre&gt;&amp;lt;title&gt;Quotes are for weak people, strong people have their own opinions&lt;br /&gt;- Dawid Węgliński (cla)&amp;lt;/title&gt;&lt;br /&gt;&amp;lt;body&gt;&lt;br /&gt;&amp;lt;figure link="/images/gwn/20070917_cla.jpg"&lt;br /&gt;  short="cla" caption="Dawid Węgliński, aka cla"/&gt;&lt;/pre&gt;&lt;br /&gt;The symptom is:&lt;br /&gt;&lt;pre&gt;Stack trace:&lt;br /&gt;Traceback (most recent call last):&lt;br /&gt; File "xml2po.py", line 856, in ?&lt;br /&gt;   doSerialize(doc)&lt;br /&gt; File "xml2po.py", line 589, in doSerialize&lt;br /&gt;   outtxt += doSerialize(child)&lt;br /&gt; File "xml2po.py", line 583, in doSerialize&lt;br /&gt;   (starttag, content, endtag, translation) = processElementTag(node, repl, 1)&lt;br /&gt; File "xml2po.py", line 525, in processElementTag&lt;br /&gt;   translation = translation.replace('&lt;placeholder-%d/&gt;' % (i), replacement)&lt;br /&gt;UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position&lt;br /&gt;635: ordinal not in range(128)&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-5726388381531655041?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/5726388381531655041/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=5726388381531655041' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5726388381531655041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5726388381531655041'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/10/fixed-bug-in-xml2po.html' title='Fixed a bug in xml2po'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-5889140179651359950</id><published>2007-08-29T23:07:00.000+08:00</published><updated>2007-08-29T23:26:48.791+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><title type='text'>official Simplified Chinese doc translation team lead</title><content type='html'>&lt;span style="font-family: verdana;"&gt;I have passed doc quiz, :)&lt;br /&gt;Now I can commit docs direclty.&lt;br /&gt;&lt;br /&gt;The following is what neysx sent to me.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: verdana;"&gt;--&lt;br /&gt;&lt;/span&gt;&lt;div class="moz-text-plain" wrap="true" quote="true" style="font-family: -moz-fixed; font-size: 12px;" lang="x-unicode"&gt;&lt;pre wrap=""&gt;Zhang Le wrote:&lt;br /&gt;&lt;/pre&gt;&lt;blockquote type="cite"&gt;&lt;pre wrap=""&gt;&lt;span class="moz-txt-citetags"&gt;&gt; &lt;/span&gt;Hi, neysx!&lt;br /&gt;&lt;span class="moz-txt-citetags"&gt;&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="moz-txt-citetags"&gt;&gt; &lt;/span&gt;Please find my quiz answer and fix-me.xml in the attachment.&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;pre wrap=""&gt;&lt;!----&gt;&lt;br /&gt;Not perfect, but good enough &lt;span class="moz-smiley-s1"&gt;&lt;span&gt; :) &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;You're now in charge of &lt;i class="moz-txt-slash"&gt;&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;doc/zh_cn&lt;span class="moz-txt-tag"&gt;/&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;&lt;div class="moz-txt-sig"&gt;--&lt;br /&gt;/  Xavier Neys&lt;br /&gt;\_ Gentoo Documentation Project&lt;br /&gt;/&lt;br /&gt;/\ &lt;a class="moz-txt-link-freetext" href="http://www.gentoo.org/doc/en/"&gt;http://www.gentoo.org/doc/en/&lt;/a&gt;&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-5889140179651359950?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/5889140179651359950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=5889140179651359950' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5889140179651359950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5889140179651359950'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/08/official-simplified-chinese-doc.html' title='official Simplified Chinese doc translation team lead'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4134915927045823456</id><published>2007-08-18T02:32:00.001+08:00</published><updated>2007-08-18T02:48:24.124+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mips'/><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><title type='text'>Pulseaudio-0.96 on MIPS</title><content type='html'>Pulseaudio depends on libatomic_ops. However, libatomic_ops don't have support for mips.&lt;br /&gt;I've created a patch for mips, though only work on 32bit userland. Get it &lt;a href="http://www.gentoo-cn.org/loongson-overlay/dev-libs/libatomic_ops/files/libatomic_ops-1.2-mips.patch"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Pulseaudio now compiled and installed on my loongson box. Can't use it to play though. The following is some detailed info, if you are interested in.&lt;br /&gt;&lt;br /&gt;My setup is to use alsa's pulse plugin.&lt;br /&gt;I tried aplay, for example:&lt;br /&gt;&lt;blockquote&gt;$ aplay /usr/share/sounds/alsa/Front_Right.wav&lt;br /&gt;aplay: pulsecore/mutex-posix.c:75: pa_mutex_lock: Assertion `_r == 0' failed.&lt;br /&gt;Aborted&lt;/blockquote&gt;Before this assertion failed, aplay is stuck on a futex system call.&lt;br /&gt;&lt;blockquote&gt;connect(7, {sa_family=AF_FILE, path="/var/run/pulse/native"}, 110) = 0&lt;br /&gt;send(6, "W", 1, MSG_NOSIGNAL)           = -1 ENOTSOCK (Socket operation on non-socket)&lt;br /&gt;write(6, "W", 1)                        = 1&lt;br /&gt;gettimeofday({1187375795, 973686}, NULL) = 0&lt;br /&gt;write(6, "W", 1)                        = 1&lt;br /&gt;futex(0x45dd1c, FUTEX_WAIT, 1, NULL&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4134915927045823456?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/4134915927045823456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4134915927045823456' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4134915927045823456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4134915927045823456'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/08/pulseaudio-096-on-mips.html' title='Pulseaudio-0.96 on MIPS'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8464530543525387005</id><published>2007-08-18T00:55:00.000+08:00</published><updated>2007-08-18T01:09:11.545+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='stardict'/><title type='text'>Chinese docs committed</title><content type='html'>Thanks to neysx!&lt;br /&gt;Take a look: &lt;a href="http://www.gentoo.org/doc/zh_cn/handbook/"&gt;http://www.gentoo.org/doc/zh_cn/handbook/&lt;/a&gt;&lt;br /&gt;I have just submitted /doc/zh_cn/{index,metadoc}.xml&lt;br /&gt;&lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=189247"&gt;https://bugs.gentoo.org/show_bug.cgi?id=189247&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Two problems have been discovered since I wrote the stardict 3.0.0's ebuild.&lt;br /&gt;One is that stardict 3.0.0 needs gconf-2.m4 file in the m4 dir in order to run eautoreconf successfully. Because stardict can disable gnome support, and as a result user may not have gconf installed.&lt;br /&gt;The other problem is related to newest speech-tools. This one is stardict 3.0.0's dependency. you can find details here: &lt;a href="https://bugs.gentoo.org/show_bug.cgi?id=188820"&gt;https://bugs.gentoo.org/show_bug.cgi?id=188820&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8464530543525387005?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8464530543525387005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8464530543525387005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8464530543525387005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8464530543525387005'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/08/chinese-docs-committed.html' title='Chinese docs committed'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3715068794458123957</id><published>2007-08-14T04:24:00.000+08:00</published><updated>2007-08-14T09:47:53.446+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='stardict'/><title type='text'>I have written an ebuild for stardict-3.0.0</title><content type='html'>layman -a gentoo-china to get it, or view it online:&lt;br /&gt;&lt;a href="http://gentoo-china-overlay.googlecode.com/svn/trunk/app-dicts/stardict/"&gt;http://gentoo-china-overlay.googlecode.com/svn/trunk/app-dicts/stardict/&lt;/a&gt;&lt;br /&gt;I wrote two patches which could make it compile when --disable-gnome-support.&lt;br /&gt;Stardict 3.0.0 supports text-to-speech engine festival.&lt;br /&gt;It requires the latest version of festival and speech-tools.&lt;br /&gt;So I wrote ebuilds for them.&lt;br /&gt;They are also in gentoo-china overlay now.&lt;br /&gt;I haven't become an ebuild dev yet,  so I can just put them there.&lt;br /&gt;I will submit to bugs.g.o later.&lt;br /&gt;&lt;br /&gt;I have reported relevant issues to stardict.sf.net. You can find it &lt;a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=1773542&amp;amp;group_id=80679&amp;amp;atid=560632"&gt;here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3715068794458123957?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/3715068794458123957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3715068794458123957' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3715068794458123957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3715068794458123957'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/08/i-have-written-ebuild-for-stardict-300.html' title='I have written an ebuild for stardict-3.0.0'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3999429933316002191</id><published>2007-08-06T02:34:00.000+08:00</published><updated>2007-08-06T02:43:52.294+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><title type='text'>Simplified Chinese Gentoo Handbook all finished!</title><content type='html'>Synced with English version.&lt;br /&gt;&lt;br /&gt;Take a look:&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org"&gt;http://www.gentoo-cn.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Progress:&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/doc/zh_cn/progress.xml"&gt;http://www.gentoo-cn.org/doc/zh_cn/progress.xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;BTW,  this website is powered by my &lt;a href="http://en.wikipedia.org/wiki/Loongson"&gt;loongson&lt;/a&gt; machine, ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3999429933316002191?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/3999429933316002191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3999429933316002191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3999429933316002191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3999429933316002191'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/08/simplified-chinese-gentoo-handbook-all.html' title='Simplified Chinese Gentoo Handbook all finished!'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8844334934427728821</id><published>2007-07-26T00:55:00.000+08:00</published><updated>2007-07-26T01:51:07.755+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='gwn'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><category scheme='http://www.blogger.com/atom/ns#' term='mldonkey'/><title type='text'>More on mldonkey and loongson</title><content type='html'>My little patch to mldonkey's Makefile donesn't satisfy mldonkey developer. I didn't come up with a better solution. So I resorted to modify mldonkey's ebuild. Maybe not so elegant, but it works, at least for me.&lt;br /&gt;&lt;br /&gt;I added the following snippet to src_install():&lt;br /&gt;&lt;blockquote&gt;EXE="mlnet mld_hash get_range copysources make_torrent subconv"&lt;br /&gt;&lt;br /&gt;if [ -f mlnet.byte ]; then&lt;br /&gt;      for i in $EXE; do&lt;br /&gt;               mv $i.byte $i&lt;br /&gt;      done&lt;br /&gt;fi&lt;br /&gt;dobin $EXE || die "dobin failed"&lt;br /&gt;&lt;/blockquote&gt;The ebuild could found here:&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/loongson-overlay/net-p2p/mldonkey/"&gt;http://www.gentoo-cn.org/loongson-overlay/net-p2p/mldonkey/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This overlay is independent from the one on dev.lemote.com, although the latter was actually registered by me.  Because I can't access dev.lemote.com's svn repository, probably due to network problem.  So I just maintain this overlay locally, using git.  To get it, run:&lt;br /&gt;&lt;blockquote&gt;git-clone http://www.gentoo-cn.org/loongson-overlay/.git&lt;br /&gt;&lt;/blockquote&gt;BTW, I have just registered a domain name: gentoo-cn.org. I will make it theportal site of Chinese Gentoo community.  As of this writing, this site is hosting latest Chinese Gentoo handbook and zh_cn GWN.  Take a look:&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/doc/zh_cn/handbook/"&gt;http://www.gentoo-cn.org/doc/zh_cn/handbook/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gentoo-cn.org/news/zh_cn/gwn/gwn.xml"&gt;http://www.gentoo-cn.org/news/zh_cn/gwn/gwn.xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have been translating Gentoo handbook with my translation teammates for several months. We hope we can setup an official translation team soon.&lt;br /&gt;Current progress: &lt;a href="http://gentoo.linuxsir.org/doc/progress.xml"&gt;http://gentoo.linuxsir.org/doc/progress.xml&lt;/a&gt;&lt;br /&gt;Our activities could be found here: &lt;a href="http://groups.google.com/group/gentoo-china"&gt;http://groups.google.com/group/gentoo-china&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8844334934427728821?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8844334934427728821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8844334934427728821' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8844334934427728821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8844334934427728821'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/07/more-on-mldonkey-and-loongson.html' title='More on mldonkey and loongson'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3278897867663973885</id><published>2007-07-18T01:43:00.000+08:00</published><updated>2007-07-18T18:28:04.861+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ocaml'/><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><category scheme='http://www.blogger.com/atom/ns#' term='mldonkey'/><title type='text'>Mldonkey can work on Loongson</title><content type='html'>In short, ocaml doesn't have native code compiler for mips linux, but it can compile byte code which is also an ELF executable. The only difference is that bytecode runs slower than native code. But there is a little problem with mldoney's Makefile. I will try to make a patch to solve the problem.&lt;br /&gt;&lt;br /&gt;PS: maybe i misunderstood something. I found that mlnet.byte can't run on its own, it needs bytecode file.&lt;br /&gt;&lt;br /&gt;PPS: I found the mlnet.byte i have installed into /usr/bin is not the right one.&lt;br /&gt;&lt;br /&gt;PPPS: it is the right one, but gentoo stripped it, haha, now it works, finally!&lt;br /&gt;http://caml.inria.fr/pub/ml-archives/caml-list/2002/08/492887df149fb58b1c21ffa89e6fee66.en.html&lt;br /&gt;&lt;r0bertz&gt;&lt;jave&gt;&lt;jave&gt;&lt;r0bertz&gt;&lt;r0bertz&gt;&lt;r0bertz&gt;&lt;spiralvoice&gt;&lt;spiralvoice&gt;&lt;spiralvoice&gt;&lt;spiralvoice&gt;&lt;r0bertz&gt;&lt;spiralvoice&gt;&lt;spiralvoice&gt;&lt;spiralvoice&gt;&lt;r0bertz&gt;&lt;spiralvoice&gt;&lt;r0bertz&gt;&lt;r0bertz&gt;&lt;r0bertz&gt;&lt;r0bertz&gt;&lt;spiralvoice&gt;&lt;spiralvoice&gt;&lt;r0bertz&gt;&lt;spiralvoice&gt;&lt;r0bertz&gt;&lt;r0bertz&gt;&lt;br /&gt;The following is a conversation happened on #mldonkey @ freenode&lt;br /&gt;&lt;br /&gt;(r0bertz) what is the difference between mlnet and mlnet.byte&lt;br /&gt;* lb001_ has quit (Remote closed the connection)&lt;br /&gt;* lb001_ (i=irc@gateway/tor/x-f2c1251672831851) has joined #mldonkey&lt;br /&gt;(jave) r0bertz: mlnet.byte is byte compiled&lt;br /&gt;(jave) you will normaly use plain mlnet binary, if you are not interested in debugging and stuff&lt;br /&gt;(r0bertz) it seems that it is also ELF executable&lt;br /&gt;(r0bertz) not like java bytecode&lt;br /&gt;(r0bertz) i mean mlnet.byte&lt;br /&gt;* lanwin has quit (Read error: 104 (Connection reset by peer))&lt;br /&gt;* belZe^ is now known as belZe&lt;br /&gt;* pango has quit (Remote closed the connection)&lt;br /&gt;(spiralvoice) r0bertz, Ocaml can produce two types of binaries, byte- or native code&lt;br /&gt;(spiralvoice) r0bertz, native code is not available for all platforms&lt;br /&gt;(spiralvoice) r0bertz, byte code is available on all Ocaml-supported platforms&lt;br /&gt;(spiralvoice) r0bertz, native code is faster than byte code&lt;br /&gt;(r0bertz) spiralvoice, any differences other than speed?&lt;br /&gt;(spiralvoice) no, both do the same&lt;br /&gt;(spiralvoice) for MLDonkey there are no limitations when using mlnet.byte instead of a native code mlnet binary&lt;br /&gt;(spiralvoice) having mlnet.byte either means your platform does not support Ocaml native code or you did not install the native code compilers&lt;br /&gt;(r0bertz) i understand that&lt;br /&gt;(spiralvoice) r0bertz, which CPU do you use?&lt;br /&gt;(r0bertz) thank you&lt;br /&gt;(r0bertz) mips&lt;br /&gt;(r0bertz) loongson to be exact&lt;br /&gt;* pango (i=iiiiiiii@gateway/tor/x-ac4b6990098162f7) has joined #mldonkey&lt;br /&gt;(r0bertz) i know ocaml only has native compiler on irix on sgi machines&lt;br /&gt;(spiralvoice) http://caml.inria.fr/ocaml/portability.en.html&lt;br /&gt;(spiralvoice) correct&lt;br /&gt;(r0bertz) it seems that there is a little problem with mldonkey's Makefile, if i only have *.byte, make install doesn't work&lt;br /&gt;(spiralvoice) make install was never tested in all situations, copying the binary is not that complicated;-) you can send in a patch if you like&lt;br /&gt;(r0bertz) ok&lt;br /&gt;(r0bertz) i will try&lt;br /&gt;&lt;/r0bertz&gt;&lt;/r0bertz&gt;&lt;/spiralvoice&gt;&lt;/r0bertz&gt;&lt;/spiralvoice&gt;&lt;/spiralvoice&gt;&lt;/r0bertz&gt;&lt;/r0bertz&gt;&lt;/r0bertz&gt;&lt;/r0bertz&gt;&lt;/spiralvoice&gt;&lt;/r0bertz&gt;&lt;/spiralvoice&gt;&lt;/spiralvoice&gt;&lt;/spiralvoice&gt;&lt;/r0bertz&gt;&lt;/spiralvoice&gt;&lt;/spiralvoice&gt;&lt;/spiralvoice&gt;&lt;/spiralvoice&gt;&lt;/r0bertz&gt;&lt;/r0bertz&gt;&lt;/r0bertz&gt;&lt;/jave&gt;&lt;/jave&gt;&lt;/r0bertz&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3278897867663973885?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/3278897867663973885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3278897867663973885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3278897867663973885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3278897867663973885'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/07/mldonkey-can-work-on-loongson.html' title='Mldonkey can work on Loongson'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8570243305324170869</id><published>2007-07-06T16:58:00.000+08:00</published><updated>2007-07-06T17:00:07.327+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><title type='text'>Misunderstanding of free in free software</title><content type='html'>I bought a digital product magazine this afternoon.&lt;br /&gt;It is called e-zone. It is issue 464, released on July 05 2007.&lt;br /&gt;This magazine is the No.1 computer/digital product magazine in Hong Kong.&lt;br /&gt;There is an article talked about GPLv3 in this issue.&lt;br /&gt;However, they translate "free software foundation" as "免费软件基金会"(gratis software foundation).&lt;br /&gt;This is an unacceptable mistake.&lt;br /&gt;Free here means freedom, not gratis.&lt;br /&gt;I've already send them an email.&lt;br /&gt;I hope they can fix it immediately.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8570243305324170869?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8570243305324170869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8570243305324170869' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8570243305324170869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8570243305324170869'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/07/misunderstanding-of-free-in-free.html' title='Misunderstanding of free in free software'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-1260719140183631565</id><published>2007-07-06T04:27:00.001+08:00</published><updated>2007-07-06T04:30:09.087+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mips'/><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><title type='text'>my patch to strace was accepted</title><content type='html'>&lt;a href="https://sourceforge.net/tracker/?func=detail&amp;amp;atid=102861&amp;aid=1659465&amp;amp;group_id=2861"&gt;https://sourceforge.net/tracker/?func=detail&amp;amp;atid=102861&amp;aid=1659465&amp;amp;group_id=2861&lt;/a&gt;&lt;br /&gt;This is a mips related patch.&lt;br /&gt;I made this patch when I porting Gentoo to loongson.&lt;br /&gt;--&lt;br /&gt;Zhang Le, Robert&lt;br /&gt;&lt;a href="http://r0bertz.blogspot.com/"&gt;http://r0bertz.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://zh.gentoo-wiki.com/"&gt;http://zh.gentoo-wiki.com &lt;/a&gt;&lt;br /&gt;&lt;a href="http://savannah.nongnu.org/projects/pgubook"&gt;http://savannah.nongnu.org/projects/pgubook&lt;/a&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/group/gentoo-china"&gt;http://groups.google.com/group/gentoo-china&lt;/a&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/group/szlug"&gt; http://groups.google.com/group/szlug&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-1260719140183631565?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/1260719140183631565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=1260719140183631565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/1260719140183631565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/1260719140183631565'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/07/my-patch-to-strace-was-accepted.html' title='my patch to strace was accepted'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-5856619494837769449</id><published>2007-06-27T00:32:00.000+08:00</published><updated>2007-06-27T00:42:58.919+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='documentation'/><title type='text'>How to use trads.rb to manage translations and generate a Lead Translator's page</title><content type='html'>&lt;a href="http://gentoo.neysx.org/mystuff/trads/doc/trads-doc.xml"&gt;http://gentoo.neysx.org/mystuff/trads/doc/trads-doc.xml&lt;/a&gt;&lt;br /&gt;gotta read this&lt;br /&gt;this will help me to generate a beautiful page showing the status of translation.&lt;br /&gt;Our current status page is beautiful too, but it is missing some functions, e.g. the diff between the latest translated en doc and the latest en doc.&lt;br /&gt;The script in the above mentioned doc could do this. Wonderful!&lt;br /&gt;The result could be seen at http://www.gentoo.de/trads/.&lt;br /&gt;However, this script only works with gorg.&lt;br /&gt;That means gentoo.linuxsir.org is no longer a suitable place to hold the status page (which is known as progress.xml currently)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-5856619494837769449?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/5856619494837769449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=5856619494837769449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5856619494837769449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5856619494837769449'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/06/how-to-use-tradsrb-to-manage.html' title='How to use trads.rb to manage translations and generate a Lead Translator&apos;s page'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2497395611720194637</id><published>2007-06-16T20:28:00.000+08:00</published><updated>2007-06-16T20:31:01.525+08:00</updated><title type='text'>RMS: Why Upgrade to GPL Version 3</title><content type='html'>&lt;a href="http://gplv3.fsf.org/rms-why.html"&gt;http://gplv3.fsf.org/rms-why.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2497395611720194637?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2497395611720194637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2497395611720194637' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2497395611720194637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2497395611720194637'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/06/rms-why-upgrade-to-gpl-version-3.html' title='RMS: Why Upgrade to GPL Version 3'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3688062271953237284</id><published>2007-06-09T21:37:00.001+08:00</published><updated>2007-06-09T21:37:01.315+08:00</updated><title type='text'>What does a Linux newbie need to know to successfully install Gentoo?</title><content type='html'>According to Ted &lt;a href="http://archives.gentoo.org/gentoo-doc/msg_01439.xml"&gt;http://archives.gentoo.org/gentoo-doc/msg_01439.xml&lt;/a&gt;&lt;br&gt;&lt;pre&gt;- What is GNU?&lt;br&gt;- What are the main parts of an operating system and what does each part do? &lt;br&gt;- What is a GNU/Linux distribution?&lt;br&gt;- What is VMware?&lt;br&gt;- What is a .iso file?&lt;br&gt;- What does the ifconfig program do?&lt;br&gt;- What does the ping command do?&lt;br&gt;- What is a file?&lt;br&gt;- What is a filesystem?&lt;br&gt;- What is a hierarchal filesystem? &lt;br&gt;- What is a directory?&lt;br&gt;- What does the cd command do?&lt;br&gt;- What does the pwd command do?&lt;br&gt;- What does the ls command do?&lt;br&gt;- What does the -l option do when passed to the ls command?&lt;br&gt;- What is a symbolic link? &lt;br&gt;- In an ls long listing, how does one know which entries are files, directories&lt;br&gt;and links?&lt;br&gt;- What is the purpose of the /mnt directory?&lt;br&gt;- What is a path?&lt;br&gt;- What is a path separator?&lt;br&gt;- What is contained in the /bin directory? &lt;br&gt;- What does the &amp;quot;more&amp;quot; command do?&lt;br&gt;- What does a &amp;quot;pipe&amp;quot; do and what is its symbol?&lt;br&gt;- What does the -a option do when passed to the ls command?&lt;br&gt;- What is the purpose of the /proc directory? &lt;br&gt;- What is the purpose of the /etc directory?&lt;br&gt;- What is the purpose of the /home directory?&lt;br&gt;- What is abstraction and why is it useful?&lt;br&gt;- What is an interface and how is an interface related to abstraction?&lt;br&gt; - What is a block device?&lt;br&gt;- What is a character device?&lt;br&gt;- What is the purpose of the /dev directory?&lt;br&gt;- What does partitioning a hard drive do to it?&lt;br&gt;- What did we use the hda1 partition for?&lt;br&gt;- What did we use the hda2 partition for? &lt;br&gt;- What did we use the hda3 partition for?&lt;br&gt;- What is a hard drive cylinder?&lt;br&gt;- What &amp;quot;type code&amp;quot; is given to Linux partitions?&lt;br&gt;- What is the main difference between the Ext2 filesystem and the Ext3&lt;br&gt; filesystem?&lt;br&gt;- What command is used to place the Ext2 filesystem on a partition?&lt;br&gt;- What is the purpose of a swap partition?&lt;br&gt;- Where did we mount the /dev/hda3 partition in the CD&amp;#39;s directory hierarchy?&lt;br&gt;- Where did we mount the /dev/hda1 partition in the CD&amp;#39;s directory hierarchy? &lt;br&gt;- What command is used to set the motherboard&amp;#39;s clock chip?&lt;br&gt;- What does the .tar file extension mean?&lt;br&gt;- What does the .bz2 file extension mean?&lt;br&gt;- What does it mean when a file has a .tar.bz2 extension?&lt;br&gt; - What does the wget command do?&lt;br&gt;- What is a message digest?&lt;br&gt;- What command did we use to determine the MD5 message digest for a file.&lt;br&gt;- Why are message digests used with large download files on the Internet?&lt;br&gt; - What is contained in a Gentoo stage3 file?&lt;br&gt;- What does the tar command&amp;#39;s &amp;#39;j&amp;#39; option mean?&lt;br&gt;- What is the portage tree?&lt;br&gt;- Where is the portage tree in the directory hierarchy?&lt;br&gt;- List 3 packages that are in the games-mud category in the portage tree. &lt;br&gt;- What is the difference between the / top-level root directory and the /root&lt;br&gt;directory?&lt;br&gt;- What does the chroot command do?&lt;br&gt;- What does DHCP do?&lt;br&gt;- How can you tell how long your computer has been running?&lt;br&gt; - What is a dumb terminal and why are they called &amp;#39;dumb&amp;#39;?&lt;br&gt;- What is a teletype?&lt;br&gt;- What is a shell?&lt;br&gt;- What is a terminal emulator and why were they invented?&lt;br&gt;- How do you switch between virtual terminals in Gentoo linux? &lt;br&gt;- What is a shell environment variable?&lt;br&gt;- Which environment variable holds the command line prompt configuration?&lt;br&gt;- Which command is used to change a shell&amp;#39;s environment variables?&lt;br&gt;- What keys need to be pressed to save a file in the nano text editor? &lt;br&gt;- What keys need to be pressed to exit the nano text editor?&lt;br&gt;- If you are on a Linux system, and you want to obtain information about what a&lt;br&gt;command does, how can you do this from the command line?&lt;br&gt;- What is ASCII? &lt;br&gt;- What is the decimal ASCII number for a capital letter &amp;#39;A&amp;#39;?&lt;br&gt;- What are USE flags used for?&lt;br&gt;- What does the &amp;#39;less&amp;#39; command do that the &amp;#39;more&amp;#39; command cannot do?&lt;br&gt;- What 2 files contain descriptions of the USE flags and where are these files &lt;br&gt;located in the directory hierarchy?&lt;br&gt;- Into which file are USE flags placed so that they can be seen by portage?&lt;br&gt;- Which directory holds the timezone information for all of the world&amp;#39;s&lt;br&gt;timezones?&lt;br&gt;- Which package was emerged that contained the Linux source code? &lt;br&gt;- What command runs the kernel configuration utility program?&lt;br&gt;- What does the lspci command do?&lt;br&gt;- What is a kernel module?&lt;br&gt;- What is the difference between arrow braces &amp;lt;&amp;gt; and square braces [] in the&lt;br&gt; menuconfig program?&lt;br&gt;- In the menuconfig program, how does one exit from the current menu?&lt;br&gt;- What effect does placing a period in front of a filename have?&lt;br&gt;- What is the filename of the file that the menuconfig program saves the kernel &lt;br&gt;configuration in?&lt;br&gt;- When the kernel is compiled, what is the name of the file that is created and&lt;br&gt;where is it located?&lt;br&gt;- What is the purpose of the fstab file?&lt;br&gt;- What is a system service?&lt;br&gt;- What does the syslog-ng service do? &lt;br&gt;- What is grub?&lt;br&gt;- What command creates a user account?&lt;br&gt;- What is the command that sets a password?&lt;/pre&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3688062271953237284?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/3688062271953237284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3688062271953237284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3688062271953237284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3688062271953237284'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/06/what-does-linux-newbie-need-to-know-to.html' title='What does a Linux newbie need to know to successfully install Gentoo?'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-5677807197022763734</id><published>2007-05-31T02:18:00.001+08:00</published><updated>2007-05-31T02:21:19.403+08:00</updated><title type='text'>自动更新handbook翻译进度表的脚本</title><content type='html'>首先，说明一下我准备把 &lt;a href="http://r0bertz.blogspot.com%e5%8a%a0%e5%85%a5gentoo/"&gt;http://r0bertz.blogspot.com&lt;/a&gt; 加入 gentoo planet。&lt;br /&gt;那样意味着以后r0bertz.blogspot.com上所有的文章都将用英文来写，专注于技术相关的话题。&lt;br /&gt;鉴于我们伟大的防火长城间歇性的屏蔽blogspot，建议使用抓虾、google reader等来订阅这个blog。&lt;br /&gt;zhllg.spaces.msn.com就用来写一些非技术话题，用中文写。&lt;br /&gt;给zhlly说声抱歉，zhllg.livejournal.com我要回来也没有怎么好好利用。不过我还没有归还的打算。问题的关键在于，我不想让别人误解我转投了fedora core的阵营，;)&lt;br /&gt;&lt;br /&gt;刚刚写了个脚本来更新handbook翻译进度表&lt;br /&gt;&lt;a href="http://gentoo.linuxsir.org/doc/progress.xml#doc_chap4"&gt; http://gentoo.linuxsir.org/doc/progress.xml#doc_chap4&lt;/a&gt;&lt;br /&gt;如果发现英文版有了新版本，就更新表格中英文版的版本和日期，并且把进度改成W，完成期限置空&lt;br /&gt;&lt;br /&gt;我的xml技术了解不是很深，这样处理xml，似乎很不专业&lt;br /&gt;就当抛砖引玉了&lt;br /&gt;&lt;pre class="code" id="codemain"&gt;getdate() {&lt;br /&gt; grep Header $1 | egrep -o '200[0-9]/[0-9]{2}/[0-9]{2}'&lt;br /&gt;}&lt;br /&gt;getver() {&lt;br /&gt;grep Header $1 | egrep -o 'v [0-9]+\.[0-9]+'&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;PREFIX=/home/zhangle/gentoo/xml/htdocs/&lt;br /&gt;&lt;br /&gt;for i in `grep -o '/doc/en/handbook/.*\.xml' progress.xml`&lt;br /&gt;do&lt;br /&gt;olddate=$(grep -A 1 $i  progress.xml | egrep -o 200[0-9]/[0-9]\{2\}/[0-9]\{2\})&lt;br /&gt;newdate=$(getdate $PREFIX$i)&lt;br /&gt;&lt;br /&gt;if [[ $olddate != $newdate ]]; then&lt;br /&gt;j=${i//\//\\\/}&lt;br /&gt;&lt;br /&gt;sed -i -e "&lt;br /&gt;/$j/ {&lt;br /&gt;N&lt;br /&gt;N&lt;br /&gt;s#$i.*\n    &amp;lt;ti&amp;gt;200[0-9]/[0-9]\{2\}/[0-9]\{2\}#$i\"&amp;gt;$(getver $PREFIX$i)&amp;lt;/uri&amp;gt;&amp;lt;/ti&amp;gt;\n    &amp;lt;ti&amp;gt;$newdate#&lt;br /&gt;N&lt;br /&gt;/&amp;lt;ti&amp;gt;T&amp;lt;\/ti&amp;gt;/ {&lt;br /&gt;N&lt;br /&gt;s#&amp;lt;ti&amp;gt;T&amp;lt;/ti&amp;gt;\n    &amp;lt;ti&amp;gt;200[0-9]/[0-9]\{2\}/[0-9]\{2\}&amp;lt;/ti&amp;gt;#&amp;lt;ti&amp;gt;W&amp;lt;/ti&amp;gt;\n    &amp;lt;ti&amp;gt;&amp;lt;/ti&amp;gt;#&lt;br /&gt;}&lt;br /&gt;} " progress.xml&lt;br /&gt;fi&lt;br /&gt;done &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-5677807197022763734?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/5677807197022763734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=5677807197022763734' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5677807197022763734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5677807197022763734'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/05/handbook.html' title='自动更新handbook翻译进度表的脚本'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2645947449569535596</id><published>2007-05-17T21:26:00.001+08:00</published><updated>2007-05-17T21:26:11.954+08:00</updated><title type='text'>Gentoo开发者</title><content type='html'>终于我跻身Gentoo开发者的行列了&lt;br&gt;首先有一件要宣布的事是，我改nick了&lt;br&gt;r0bertz&lt;br&gt;来到香港后，我的英文名一直叫Robert，原因是叫罗伯特的球星很多&lt;br&gt;Z就是Zhang的第一个字母&lt;br&gt;改的原因是 zhllg 不好发音&lt;br&gt;我的＠gentoo.org的邮箱就是r0bertz&lt;br&gt;&lt;a href="http://www.gentoo.org/proj/en/devrel/roll-call/devmap.xml?dev=r0bertz"&gt; http://www.gentoo.org/proj/en/devrel/roll-call/devmap.xml?dev=r0bertz&lt;/a&gt;&lt;br&gt;&lt;a target="_blank" rel="nofollow" href="http://cia.vc/stats/author/r0bertz"&gt;http://cia.vc/stats/author/r0bertz&lt;/a&gt; &lt;br&gt;等到6个月后，我就可以成mentor了，也就是导师，就可以直接带更多同胞进gentoo了，;) &lt;br&gt;&lt;br&gt;Gentoo是什么？&lt;br&gt;The &lt;b&gt;Gentoo Linux&lt;/b&gt; &lt;a href="http://en.wikipedia.org/wiki/Operating_system" title="Operating system"&gt;operating system&lt;/a&gt; (&lt;a href="http://en.wikipedia.org/wiki/International_Phonetic_Alphabet_for_English" title="International Phonetic Alphabet for English"&gt; pronounced&lt;/a&gt; &lt;span title="Pronunciation in IPA" class="IPA"&gt;/ˈdʒɛntu/&lt;/span&gt;) is a &lt;a href="http://en.wikipedia.org/wiki/Linux_distribution" title="Linux distribution"&gt;Linux distribution&lt;/a&gt; named after the &lt;a href="http://en.wikipedia.org/wiki/Gentoo_penguin" title="Gentoo penguin"&gt; Gentoo penguin&lt;/a&gt;. It is designed to be &lt;a href="http://en.wikipedia.org/wiki/Modularity_%28programming%29" title="Modularity (programming)"&gt;modular&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Porting" title="Porting"&gt;portable &lt;/a&gt;, easy to maintain, flexible, and &lt;a href="http://en.wikipedia.org/wiki/Optimization_%28computer_science%29" title="Optimization (computer science)"&gt;optimized&lt;/a&gt; for the user&amp;#39;s machine. All tools and utilities are built from  &lt;a href="http://en.wikipedia.org/wiki/Source_code" title="Source code"&gt;source code&lt;/a&gt;.&lt;br&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2645947449569535596?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2645947449569535596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2645947449569535596' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2645947449569535596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2645947449569535596'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/05/gentoo.html' title='Gentoo开发者'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8222413909478878026</id><published>2007-04-28T22:10:00.001+08:00</published><updated>2007-04-28T22:10:02.100+08:00</updated><title type='text'>第一次被人泼冷水</title><content type='html'>翻译了有不少时间了，第一次&lt;br&gt;具体说了什么，就不透露了&lt;br&gt;他其实也是有些不了解情况&lt;p&gt;不过事件本身说明一个问题&lt;br&gt;那就是很多中国的技术领域的英文&amp;quot;高手&amp;quot;从不看翻译的东西&lt;br&gt;之前包括我自己也是这样&lt;br&gt;原因在于：觉得翻译的东西靠不住&lt;p&gt;我参与翻译gentoo文档，目的之一就是想改变人们的这一印象，创出牌子来&lt;br&gt;让人们知道gentoo的中文文档是有质量保证的&lt;br&gt;不光准确翻译出意思，而且力求通顺流畅，&amp;quot;像&amp;quot;中文文章&lt;p&gt;当然和很多开源项目一样，最终要达到目的需要很多人的参与，包括译者的初始成果、读者的反馈和维护者迅速的反应。&lt;br&gt;最重要的还是初始成果，虽然难免错误，但一定要给读者以信心。这正是我们正在做的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8222413909478878026?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8222413909478878026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8222413909478878026' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8222413909478878026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8222413909478878026'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/04/blog-post_28.html' title='第一次被人泼冷水'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8963614658768257056</id><published>2007-04-25T20:27:00.001+08:00</published><updated>2007-04-25T20:27:28.043+08:00</updated><title type='text'>针对龙芯的mplayer源代码</title><content type='html'>我今天偶然发现了针对龙芯的mplayer源代码&lt;br&gt;&lt;a href="http://www.lemote.com/debian/pool/godson-sources/"&gt;http://www.lemote.com/debian/pool/godson-sources/&lt;/a&gt;&lt;p&gt;我之前提到过如果没有打龙芯补丁的mplayer播放一些文件时会出现音话不同步，除非降低分辨率&lt;br&gt;&lt;a href="http://zhllg.blogspot.com/2007/04/loongson-patch-against-linux-2621-rc5.html"&gt;http://zhllg.blogspot.com/2007/04/loongson-patch-against-linux-2621-rc5.html&lt;/a&gt;&lt;br&gt;我也在lemote论坛上向龙梦的人要过补丁&lt;br&gt;&lt;a href="http://www.lemote.com/bbs/viewthread.php?tid=5260&amp;amp;extra=page%3D3&amp;amp;page=10"&gt;http://www.lemote.com/bbs/viewthread.php?tid=5260&amp;amp;extra=page%3D3&amp;amp;page=10&lt;/a&gt;&lt;br&gt;不过没有回音，可能照看那个版面的人不多&lt;p&gt;我现在在家里，龙芯盒子没带回来&lt;br&gt;等我回去再试一试&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8963614658768257056?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8963614658768257056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8963614658768257056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8963614658768257056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8963614658768257056'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/04/mplayer.html' title='针对龙芯的mplayer源代码'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-5248401253631213302</id><published>2007-04-20T20:34:00.001+08:00</published><updated>2007-04-20T20:34:52.239+08:00</updated><title type='text'>感谢龙梦</title><content type='html'>&lt;a href="http://www.lemote.com/bbs/viewthread.php?tid=7193&amp;amp;extra=page%3D1"&gt;http://www.lemote.com/bbs/viewthread.php?tid=7193&amp;amp;extra=page%3D1&lt;/a&gt;&lt;br&gt;因为在移植Gentoo到龙芯方面的努力，得到了龙梦组织的贡献评比的一等奖。&lt;br&gt;这意味着，我手上这台龙芯盒子就相当于赠送给我的了，以后对于龙梦的新产品还有优先购买权。&lt;br&gt;感谢龙梦，这是对我过去一个多月所做的事情的肯定！&lt;br&gt;当然这还仅仅是开始。&lt;br&gt;对于MIPS我还是新手，要学习的还有很多。&lt;br&gt;Gentoo loongson overlay我还会继续维护。&lt;p&gt;BTW：今天我做了个cgi页面，可实时查看我的龙芯盒子的系统信息：&lt;br&gt;&lt;a href="http://zhangle.is-a-geek.org/cgi-bin/sysinfo.cgi"&gt;http://zhangle.is-a-geek.org/cgi-bin/sysinfo.cgi&lt;/a&gt;&lt;p&gt;还有Acevery贡献了一篇锐捷认证上网的HOWTO：&lt;br&gt;&lt;a href="http://zh.gentoo-wiki.com/HOWTO_锐捷认证"&gt;http://zh.gentoo-wiki.com/HOWTO_锐捷认证&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-5248401253631213302?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/5248401253631213302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=5248401253631213302' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5248401253631213302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5248401253631213302'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/04/blog-post.html' title='感谢龙梦'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-7456684117543357071</id><published>2007-04-18T15:38:00.001+08:00</published><updated>2007-04-18T15:38:26.953+08:00</updated><title type='text'>Gentoo 2006.1 x86/amd64手册全部完成</title><content type='html'>&lt;a href="http://zhangle.is-a-geek.org/doc/zh_cn/handbook/"&gt;http://zhangle.is-a-geek.org/doc/zh_cn/handbook/&lt;/a&gt;&lt;p&gt;进度表：&lt;br&gt;&lt;a href="http://gentoo.linuxsir.org/doc/progress.xml"&gt;http://gentoo.linuxsir.org/doc/progress.xml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-7456684117543357071?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/7456684117543357071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=7456684117543357071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7456684117543357071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7456684117543357071'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/04/gentoo-20061-x86amd64.html' title='Gentoo 2006.1 x86/amd64手册全部完成'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-6766222825147743</id><published>2007-04-18T15:30:00.001+08:00</published><updated>2007-04-18T15:30:19.827+08:00</updated><title type='text'>为什么简体中文GWN和Gentoo手册翻译时中英文间不留空格</title><content type='html'>&lt;a href="http://groups.google.com/group/gentoo-china/msg/d53910b3dc8f2169"&gt;http://groups.google.com/group/gentoo-china/msg/d53910b3dc8f2169&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-6766222825147743?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/6766222825147743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=6766222825147743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/6766222825147743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/6766222825147743'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/04/gwngentoo.html' title='为什么简体中文GWN和Gentoo手册翻译时中英文间不留空格'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-7689559426638710734</id><published>2007-04-17T20:42:00.001+08:00</published><updated>2007-04-17T20:42:19.762+08:00</updated><title type='text'>深圳Linux/UNIX用户组将搞一个系列讲座</title><content type='html'>这个系列讲座将讲解一些Linux发行版和BSD的包管理器的特点和使用方法&lt;br&gt;现在定下来的有3个&lt;br&gt;分别是NetBSD，OpenBSD和Gentoo&lt;br&gt;其中Gentoo portage将由我讲解&lt;br&gt;时间最早在5月初&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-7689559426638710734?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/7689559426638710734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=7689559426638710734' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7689559426638710734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7689559426638710734'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/04/linuxunix.html' title='深圳Linux/UNIX用户组将搞一个系列讲座'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-7448763309979025634</id><published>2007-04-14T21:30:00.001+08:00</published><updated>2007-04-14T21:30:58.036+08:00</updated><title type='text'>is-a-geek.org域名</title><content type='html'>我昨天才知道这个is-a-geek.org域名是www.dyndns.com的动态域名服务提供的。&lt;br /&gt;所以我迫不及待的注册了一个。&lt;br&gt;&lt;a href="http://zhangle.is-a-geek.org"&gt;http://zhangle.is-a-geek.org&lt;/a&gt;&lt;br&gt;这台机器是我的龙芯盒子（loongson box），里面内容是gentoo手册的镜像，简体中文版（预览版）&lt;p&gt;What is a geek?&lt;p&gt;A geek is an individual who is fascinated by knowledge and&lt;br&gt;imagination, usually electronic or virtual in nature.&lt;br&gt;-- from &lt;a href="http://en.wikipedia.org/wiki/Geek"&gt;http://en.wikipedia.org/wiki/Geek&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-7448763309979025634?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/7448763309979025634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=7448763309979025634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7448763309979025634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7448763309979025634'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/04/is-geekorg.html' title='is-a-geek.org域名'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2578830973006342911</id><published>2007-04-12T16:34:00.000+08:00</published><updated>2007-04-12T16:35:03.368+08:00</updated><title type='text'>LWN quote of the week</title><content type='html'>But being a subsystem maintainer requires that you trust contributors&lt;br&gt;to some degree, and you just can&amp;#39;t trust contributors when you&amp;#39;re a&lt;br&gt;perfectionist. This means that the maintainer should be less of a&lt;br&gt;perfectionist than the contributors, otherwise he/she ends up doing&lt;br&gt;everything by him/herself.&lt;br&gt;-- Jean Delvare&lt;p&gt;&amp;quot;Ends up doing everything by him/herself&amp;quot;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2578830973006342911?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2578830973006342911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2578830973006342911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2578830973006342911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2578830973006342911'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/04/lwn-quote-of-week.html' title='LWN quote of the week'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8782140566367988179</id><published>2007-04-07T21:55:00.001+08:00</published><updated>2007-04-07T21:55:36.510+08:00</updated><title type='text'>Gentoo中文文档翻译</title><content type='html'>继续进行……&lt;br&gt;下面是其他架构文档的翻译&lt;br&gt;&lt;a href="http://gentoo.linuxsir.org/doc/progress.xml"&gt;http://gentoo.linuxsir.org/doc/progress.xml&lt;/a&gt;&lt;br&gt;任务认领中&lt;p&gt;我知道现在各个语言的文档都在翻译2007.0对应的文档&lt;br&gt;不过毕竟我们已经开始了2006.1的，现在还没完，理应先完成它&lt;br&gt;握有po这个武器，不用担心努力白费&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8782140566367988179?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8782140566367988179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8782140566367988179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8782140566367988179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8782140566367988179'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/04/gentoo_07.html' title='Gentoo中文文档翻译'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4753693130584433612</id><published>2007-04-04T01:01:00.001+08:00</published><updated>2007-04-04T01:05:04.502+08:00</updated><title type='text'>有关Gentoo文档翻译</title><content type='html'>要说两句，不说会憋出问题的。&lt;br /&gt;首先，和Gentoo Weekly Newsletter翻译一样，Gentoo文档的翻译也还在继续。不过我最近捣鼓龙芯比较多，GWN和文档上花的时间不是很多。&lt;br /&gt;目前文档翻译的过程是这样，我分配，然后翻译团队成员翻译，完了交给我，再交给审校人员审校。最后发表前，我还会再看一遍。每一篇文档，我都会做最后的把关，清除所有可能残留的错误。&lt;br /&gt;有些错误甚至是语义上的错误。这是确实存在的，是令我比较郁闷的地方。所以每篇文章在我没看过一遍之前，我不敢就这么直接放到网上。而这会花很多时间。所以事实上有一些已经完成审校的文档积压在我这里，还没有发布。我的错，之后我会给文档更多一点时间。&lt;br /&gt;之前的翻译模式有一个问题是不够透明，最好都发到gentoo-china邮件列表里。&lt;br /&gt;就事论事，举个例子：&lt;br /&gt;The &amp;lt;c&amp;gt;video&amp;lt;/c&amp;gt; statement controls framebuffer display options. It needs to be&lt;br /&gt;given the framebuffer driver (&amp;lt;c&amp;gt;vesafb&amp;lt;/c&amp;gt; for 2.6 kernels, or &amp;lt;c&amp;gt;vesa&amp;lt;/c&amp;gt; for&lt;br /&gt;2.4 kernels) followed by the control statements you wish to enable.&lt;br /&gt;审校后的文章里这句话译为：&lt;br /&gt;&amp;lt;c&amp;gt;video&amp;lt;/c&amp;gt;声明用来控制framebuffer的显示参数。在你想启用的控制声明后必须给予framebuffer驱动（2.6内核使用&amp;lt;c&amp;gt;vesafa&amp;lt;/c&amp;gt;，2.4使用&amp;lt;c&amp;gt;vesa&amp;lt;/c&amp;gt;）。&lt;br /&gt;这第二句完全没有表达出原文的意思，而且vesafb误写为了vesafa。当然人非圣贤，马有失蹄，但是遇到后面这种比较低级的失误，还是令人比较郁闷。我改动后，如下：&lt;br /&gt;&amp;lt;c&amp;gt;video&amp;lt;/c&amp;gt;参数用来控制framebuffer的显示参数。此参数的内容形式是首先给出framebuffer驱动的名称（2.6内核使用&amp;lt;c&amp;gt;vesafb&amp;lt;/c&amp;gt;，2.4使用&amp;lt;c&amp;gt;vesa&amp;lt;/c&amp;gt;），后面跟着的是您想启用的控制语句。&lt;br /&gt;声明改为参数，原因是video本身它确实是个参数，内核的启动参数。虽然英文原文为statement，不过为了不给读者造成人为的理解障碍，还是参数好些。后面那句，虽然不是直译，但意思我想应该表达清楚了。&lt;br /&gt;如果您还不相信，我给您看看我自己的内核参数&lt;br /&gt;kernel (hd0,1)/boot/vmlinuz-* root=/dev/hda2&lt;br /&gt;video=vesafb:ywrap,1024x768-32@60 splash=silent,fadein,theme:emergence&lt;br /&gt;quiet CONSOLE=/dev/tty1 resume2=swap:/dev/hda3&lt;br /&gt;see?&lt;br /&gt;video=vesafb:ywrap,1024x768-32@60&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4753693130584433612?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/4753693130584433612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4753693130584433612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4753693130584433612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4753693130584433612'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/04/gentoo.html' title='有关Gentoo文档翻译'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4171477788399428064</id><published>2007-04-03T00:11:00.001+08:00</published><updated>2007-04-03T00:17:50.999+08:00</updated><title type='text'>loongson patch against linux 2.6.21-rc5</title><content type='html'>Foxsen(Zhang Fuxin, 张福新) has released a patch against linux&lt;br /&gt;2.6.21-rc5. I have tried it today. It works well so far.&lt;p&gt;My gentoo on loongson still have two minor problems, related to audio&lt;br /&gt;and video playback respectively.&lt;br /&gt;First of all, please be aware that none of these programs I used to&lt;br /&gt;play audio and video has any loongson specific patch. loongson has&lt;br /&gt;implemented its own multimedia instructions. So theoretically if&lt;br /&gt;properly patched, the performance will be better.&lt;br /&gt;On the audio side, audacious doesn't perform well when the frequency&lt;br /&gt;is low, while mplayer works fine. Maybe it's because they use&lt;br /&gt;difference libraries.&lt;br /&gt;On the video side, when mplayer plays some mpeg2 or divx video, video&lt;br /&gt;will fall behind audio, especially when the video's resolution is&lt;br /&gt;high.&lt;/p&gt;&lt;p&gt;Last but not least, I heard some devs talked about loongson's profile on&lt;br /&gt;#gentoo-mips. It is widely accepted that it is not necessary to have a specific&lt;br /&gt;profile for loongson. Well, I am not insisting that we should have&lt;br /&gt;one, nor can I decide on this myself. I was, actually, just suggesting. I just thought it was a tradition to have a specific profile for&lt;br /&gt;each sub-architecture, given that there are already such profiles in&lt;br /&gt;tree. Now, it seems that I wrongly interpreted the facts. I think, as long as we can work out a solution to please everyone&lt;br /&gt;(cobalt/loongson/...), it's OK.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4171477788399428064?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/4171477788399428064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4171477788399428064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4171477788399428064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4171477788399428064'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/04/loongson-patch-against-linux-2621-rc5.html' title='loongson patch against linux 2.6.21-rc5'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8138896881624848885</id><published>2007-03-30T05:26:00.001+08:00</published><updated>2007-03-30T05:26:07.737+08:00</updated><title type='text'>loongson specific profile</title><content type='html'>If loongson finally were officially supported by gentoo, it must have&lt;br&gt;its own profile.&lt;br&gt;Currently, it uses cobalt&amp;#39;s profile. Of course, one has to do some&lt;br&gt;dirty hacks to make it usable with loongson. For example, cheat&lt;br&gt;portage to make it think colo is already installed. Loongson box uses&lt;br&gt;pmon as bios and bootloader, doesn&amp;#39;t use colo which is cobalt&amp;#39;s&lt;br&gt;bootloader.&lt;br&gt;Recently, I have read PMS draft. For me, it is quite informative. I&amp;#39;ve&lt;br&gt;learned some internals about our package manager, specifically I&amp;#39;ve&lt;br&gt;learned something about profile which i don&amp;#39;t know before.&lt;br&gt;Then I applied those knowledge into reality.&lt;br&gt;I created a loongson specific profile in loongson overlay and used it.&lt;br&gt;The main trick here is to write absolute path of parent directory into&lt;br&gt;PARENT file, instead of &amp;quot;..&amp;quot;. And it turned out to work well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8138896881624848885?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8138896881624848885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8138896881624848885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8138896881624848885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8138896881624848885'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/loongson-specific-profile.html' title='loongson specific profile'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3333857368913161762</id><published>2007-03-30T01:26:00.001+08:00</published><updated>2007-03-30T01:26:28.429+08:00</updated><title type='text'>Loongson got license from MIPS Technologies</title><content type='html'>&lt;a href="http://www.mips.com/PressRoom/PressReleases/2007-03-28"&gt;http://www.mips.com/PressRoom/PressReleases/2007-03-28&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.st.com/stonline/stappl/press/news/year2007/t2154.htm"&gt;http://www.st.com/stonline/stappl/press/news/year2007/t2154.htm&lt;/a&gt;&lt;br&gt;How exciting!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3333857368913161762?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/3333857368913161762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3333857368913161762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3333857368913161762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3333857368913161762'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/loongson-got-license-from-mips.html' title='Loongson got license from MIPS Technologies'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-5705901755501644316</id><published>2007-03-26T02:20:00.001+08:00</published><updated>2007-03-26T02:20:42.991+08:00</updated><title type='text'>Loongson Gentoo stage 4</title><content type='html'>I have uploaded a stage4 to ftp://godson2e:lemote@www.easy2fly.org/,&lt;br /&gt;under the directory of Gentoo.&lt;br&gt;FEATURES include but not limited to:&lt;br&gt;1. nptl pthread library, the debian shipped with box uses Linuxthreads&lt;br&gt;pthread library.&lt;br&gt;2. complete KDE 3.5.5&lt;br&gt;3. 4 kernels, 32bit/64bit, with/without kgdb&lt;br&gt;4. partial mirror of gentoo.org, include half-translated Simplifid&lt;br&gt;Chinese handbook&lt;br&gt;5. firefox, mplayer, audacious...&lt;br&gt;I used binutils-2.17 when compiling firefox, USE flag of binutils is&lt;br&gt;&amp;quot;multislot -multitarget nls -test -vanilla&amp;quot;&lt;br&gt;This mplayer doesn&amp;#39;t contain any loongson specific patch, but it works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-5705901755501644316?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/5705901755501644316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=5705901755501644316' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5705901755501644316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5705901755501644316'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/loongson-gentoo-stage-4.html' title='Loongson Gentoo stage 4'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-9185589910522073766</id><published>2007-03-23T16:38:00.001+08:00</published><updated>2007-03-23T16:38:41.801+08:00</updated><title type='text'>Gentoo 2007.0 livecd will have Simplified Chinese interface</title><content type='html'>The relevant thread on Gentoo China google group&lt;br&gt;&lt;a href="http://groups.google.com/group/gentoo-china/browse_thread/thread/c59e9fbaa212296c/#"&gt;http://groups.google.com/group/gentoo-china/browse_thread/thread/c59e9fbaa212296c/#&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-9185589910522073766?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/9185589910522073766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=9185589910522073766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/9185589910522073766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/9185589910522073766'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/gentoo-20070-livecd-will-have.html' title='Gentoo 2007.0 livecd will have Simplified Chinese interface'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2136617204638983017</id><published>2007-03-19T21:35:00.001+08:00</published><updated>2007-03-19T21:35:25.445+08:00</updated><title type='text'>想在龙芯上运行mldonkey</title><content type='html'>想法是把盒子改造成下载器兼播放器，盒子有tvout，直接接电视上放&lt;br&gt;我的笔记本就不需要拿来拿去了，也不用进windows了&lt;br&gt;mldonkey的好处是，我在笔记本点连接，就可以直接调用盒子上的mldonkey来下载&lt;br&gt;不过要移植ocaml&lt;br&gt;ocaml是一种编程语言&lt;br&gt;目前只支持IRIX和n32 ABI&lt;br&gt;现在龙芯还只能运行于Linux，Linux上的应用程序主要还是用o32 ABI&lt;br&gt;参考Redhatter曾经说过的：&lt;br&gt;The problem with n32 though, is that few applications actually handle&lt;br&gt;this case well.  Debugging tools like strace and gdb are not coded to&lt;br&gt;handle this... KDE works sort-of, but is broken in several key areas.&lt;br&gt;Gnome is totally useless on n32.&lt;br&gt;两个解决方案，一个是multilib，一个是移植到o32 ABI。似乎都不太容易。&lt;br&gt;如果multilib，如spb所说的：&lt;br&gt;you&amp;#39;ll need your userland CHOST set to mips64 instead of mips, a gcc&lt;br&gt;and binutils capable of handling all the binary formats you want to&lt;br&gt;use, and appropriate system libraries for all the ABIs&lt;br&gt;不过Redhatter又说过：&lt;br&gt;The optimal solution would be multilib, however the necessary code for&lt;br&gt;Portage has not been written.  Architectures like AMD64 work because&lt;br&gt;of shear ugly kludges ... the actual multilib case isn&amp;#39;t handled at&lt;br&gt;all.&lt;br&gt;如果要移植，至少需要做两件事（可能还有其他的，我还没有发现）&lt;br&gt;一是增加一个汇编文件mipsel.s（SGI的mips是大头端的，龙芯是小头端），改成o32 ABI&lt;br&gt;二是为asm generator增加mipsel+o32后端&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2136617204638983017?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2136617204638983017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2136617204638983017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2136617204638983017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2136617204638983017'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/mldonkey.html' title='想在龙芯上运行mldonkey'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4985313098765206001</id><published>2007-03-19T15:20:00.000+08:00</published><updated>2007-03-19T15:28:18.992+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mips'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><category scheme='http://www.blogger.com/atom/ns#' term='kde'/><title type='text'>KDE on loongson</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5DviKWWZZGY/Rf47E6a-cgI/AAAAAAAAAFs/8FBL2g12lu8/s1600-h/kde.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_5DviKWWZZGY/Rf47E6a-cgI/AAAAAAAAAFs/8FBL2g12lu8/s400/kde.png" alt="" id="BLOGGER_PHOTO_ID_5043533588289450498" border="0" /&gt;&lt;/a&gt;KDE终于装好了，截个图&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4985313098765206001?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/4985313098765206001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4985313098765206001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4985313098765206001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4985313098765206001'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/kde-on-loongson.html' title='KDE on loongson'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5DviKWWZZGY/Rf47E6a-cgI/AAAAAAAAAFs/8FBL2g12lu8/s72-c/kde.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-1762638453530498355</id><published>2007-03-16T19:20:00.001+08:00</published><updated>2007-03-16T19:20:11.218+08:00</updated><title type='text'>Redhatter has released mips1(little endian) stages</title><content type='html'>&lt;a href="http://dev.gentoo.org/~redhatter/mips/cobalt/stages/"&gt;http://dev.gentoo.org/~redhatter/mips/cobalt/stages/&lt;/a&gt;&lt;br&gt;They should work on loongson, however i haven&amp;#39;t tried it yet.&lt;br&gt;I will soon release a stage4 for loongson, including KDE.&lt;br&gt;Stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-1762638453530498355?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/1762638453530498355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=1762638453530498355' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/1762638453530498355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/1762638453530498355'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/redhatter-has-released-mips1little.html' title='Redhatter has released mips1(little endian) stages'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4749866133124875294</id><published>2007-03-15T02:06:00.001+08:00</published><updated>2007-03-15T02:06:56.755+08:00</updated><title type='text'>representative of the Gentoo community</title><content type='html'>Remember, the moment you participate in a public discussion on the&lt;br&gt;Gentoo fora, you have made yourself a representative of the Gentoo&lt;br&gt;community.&lt;p&gt;Every gentoo user/dev should read this:&lt;br&gt;&lt;a href="http://dev.gentoo.org/~christel/coc.xml"&gt;http://dev.gentoo.org/~christel/coc.xml&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4749866133124875294?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/4749866133124875294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4749866133124875294' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4749866133124875294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4749866133124875294'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/representative-of-gentoo-community.html' title='representative of the Gentoo community'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4601226068607588387</id><published>2007-03-14T18:18:00.000+08:00</published><updated>2007-03-15T02:04:30.372+08:00</updated><title type='text'>Linus做的事情不是每件都值得效仿</title><content type='html'>比如&lt;br /&gt;&lt;a href="http://lkml.org/lkml/2005/9/8/179"&gt;http://lkml.org/lkml/2005/9/8/179&lt;/a&gt;&lt;br /&gt;某人举这个例子想来证明自己的一些行为是正确的，显然是找错了论据&lt;br /&gt;&lt;a href="http://blog.simplychristel.net/index.php?/archives/129-Bob-the-builder-Can-you-fix-it.html"&gt;http://blog.simplychristel.net/index.php?/archives/129-Bob-the-builder-Can-you-fix-it.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4601226068607588387?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/4601226068607588387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4601226068607588387' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4601226068607588387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4601226068607588387'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/linus.html' title='Linus做的事情不是每件都值得效仿'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8353121851102841364</id><published>2007-03-09T18:12:00.001+08:00</published><updated>2007-03-09T18:12:49.596+08:00</updated><title type='text'>Gentoo Etiquette Policy</title><content type='html'>&lt;a href="http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=3&amp;amp;chap=2"&gt;http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml?part=3&amp;amp;chap=2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8353121851102841364?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8353121851102841364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8353121851102841364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8353121851102841364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8353121851102841364'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/gentoo-etiquette-policy.html' title='Gentoo Etiquette Policy'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8580373520120483752</id><published>2007-03-08T03:54:00.001+08:00</published><updated>2007-03-08T04:32:01.808+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gcc'/><category scheme='http://www.blogger.com/atom/ns#' term='ld'/><category scheme='http://www.blogger.com/atom/ns#' term='sysroot'/><category scheme='http://www.blogger.com/atom/ns#' term='linker'/><title type='text'>Re: [RFC]possible improvements to --with-sysroot</title><content type='html'>On 3/6/07, Daniel Jacobowitz &amp;lt;drow@false.org&amp;gt; wrote:&lt;br /&gt;&amp;gt; On Tue, Mar 06, 2007 at 02:05:06AM +0800, Zhang Le wrote:&lt;br /&gt;&amp;gt; &amp;gt; I have used "strace -f" to check where linker looked for -lqt-mt. From&lt;br /&gt;&amp;gt; &amp;gt; what I have observed, it seems that ld didn't use&lt;br /&gt;&amp;gt; &amp;gt; $SYSROOT/etc/ld.so.conf.&lt;br /&gt;&amp;gt;&lt;br /&gt;&amp;gt; Well, it's supposed to, so I suggest you check what's happened in ld.&lt;br /&gt;I found a clue which may lead to a neat solution to this problem. And&lt;br /&gt;this has something to do with gcc, so I still posted it here.&lt;br /&gt;First of all, $SYSROOT/etc/ld.so.conf solution maybe an overkill, so I&lt;br /&gt;think we can ignore it for now.&lt;br /&gt;The finding is if ld is invoked with --sysroot option and if the dir&lt;br /&gt;specified by -L has a leading "=", for example:&lt;br /&gt;--sysroot=/usr/mipsel-unknown-linux-gnu  -L=/usr/qt/3/lib -L/usr/lib -lqt-mt&lt;br /&gt;Then when ld will looking for libqt-mt.so in&lt;br /&gt;/usr/mipsel-unknown-linux-gnu/usr/qt/3/lib, instead of /usr/qt/3/lib.&lt;br /&gt;Thus problem solved.&lt;br /&gt;So I am wondering if there is a way to detect whether gcc is doing cross&lt;br /&gt;compile. If so, when cross compiling is detected, collect2 search for&lt;br /&gt;-L option in COLLECT_GCC_OPTIONS, and insert a "=" between -L and the&lt;br /&gt;actual path.&lt;br /&gt;I think this way is better than the $SYSROOT/etc/ld.so.conf way.&lt;p&gt;--&lt;br /&gt;Zhang Le, Robert&lt;br /&gt;Linux Engineer/Trainer&lt;br /&gt;&lt;a href="http://zhllg.blogspot.com/"&gt;http://zhllg.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://zh.gentoo-wiki.com/"&gt;http://zh.gentoo-wiki.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://savannah.nongnu.org/projects/pgubook"&gt;http://savannah.nongnu.org/projects/pgubook&lt;/a&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/group/gentoo-china"&gt;http://groups.google.com/group/gentoo-china&lt;/a&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/group/szlug"&gt;http://groups.google.com/group/szlug&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8580373520120483752?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8580373520120483752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8580373520120483752' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8580373520120483752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8580373520120483752'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/re-rfcpossible-improvements-to-with.html' title='Re: [RFC]possible improvements to --with-sysroot'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3581711822238460122</id><published>2007-03-05T17:54:00.000+08:00</published><updated>2007-03-05T17:55:03.051+08:00</updated><title type='text'>videos from fosdem</title><content type='html'>FOSDEM means Free and Open source Software Developers&amp;#39; European Meeting&lt;br&gt;&lt;a href="http://fosdem.org/2007/media/video"&gt;http://fosdem.org/2007/media/video&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3581711822238460122?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/3581711822238460122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3581711822238460122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3581711822238460122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3581711822238460122'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/videos-from-fosdem.html' title='videos from fosdem'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4289078741568998061</id><published>2007-03-05T16:25:00.001+08:00</published><updated>2007-03-05T16:25:35.700+08:00</updated><title type='text'>Daniel has left again</title><content type='html'>This is what he said:&lt;br&gt;Gentoo is only going to be fun and productive again if we:&lt;p&gt;1) maintain a courteous and professional atmosphere&lt;br&gt;2) focus on good, transparent project management and collaboration&lt;br&gt;3) deliver cool technologies to Gentoo users&lt;p&gt;AND IN THAT ORDER ONLY, which is the only order that works long-term.&lt;br&gt;It makes no sense to try to do this in reverse order. It does not&lt;br&gt;work. 3 requires 2 and 2 requires 1. Right now these three pillars are&lt;br&gt;being treated as mutually exclusive goals which is absolutely&lt;br&gt;ridiculous and wrong, where we accept failure in point 1 in the hope&lt;br&gt;of achieving 3.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4289078741568998061?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/4289078741568998061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4289078741568998061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4289078741568998061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4289078741568998061'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/daniel-has-left-again.html' title='Daniel has left again'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-7858231776508324575</id><published>2007-03-05T01:25:00.001+08:00</published><updated>2007-03-05T01:25:24.282+08:00</updated><title type='text'>重新开始玩synergy</title><content type='html'>&lt;a href="http://www.linux.com/article.pl?sid=06/05/25/1439237"&gt;http://www.linux.com/article.pl?sid=06/05/25/1439237&lt;/a&gt;&lt;br&gt;要分享键盘鼠标的机器是server，执行synergys&lt;br&gt;没有键盘鼠标的是client，执行synergyc serverip&lt;br&gt;我的配置文件&lt;br&gt;$ cat /etc/synergy.conf&lt;br&gt;# sample synergy configuration file&lt;br&gt;#&lt;br&gt;# comments begin with the # character and continue to the end of&lt;br&gt;# line.  comments may appear anywhere the syntax permits.&lt;p&gt;section: screens&lt;br&gt;        # three hosts named:  moe, larry, and curly&lt;br&gt;        loongson:&lt;br&gt;        adriano:&lt;br&gt;end&lt;p&gt;section: links&lt;br&gt;        loongson:&lt;br&gt;                down = adriano&lt;br&gt;        adriano:&lt;br&gt;                up = loongson&lt;br&gt;end&lt;p&gt;section: options&lt;br&gt;      switchDelay = 500&lt;br&gt;end&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-7858231776508324575?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/7858231776508324575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=7858231776508324575' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7858231776508324575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7858231776508324575'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/synergy.html' title='重新开始玩synergy'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-7346802110871288262</id><published>2007-03-04T15:13:00.001+08:00</published><updated>2007-03-05T05:45:03.416+08:00</updated><title type='text'>distcc</title><content type='html'>Distcc is working.&lt;br /&gt;Howerver, I didn't get it working at the beginning.&lt;br /&gt;Because I am curious about what messages distccd's pass between&lt;br /&gt;themselves. So I fired up wireshark, then I go to sleep.&lt;br /&gt;As you would expect, eventually wireshark occupied all free space on&lt;br /&gt;/tmp which is also used by distcc to produce object files. And as a&lt;br /&gt;consequence, distcc failed.&lt;br /&gt;Originally, the distcc run with "--log-level critical", so it sent&lt;br /&gt;nothing to syslog.&lt;br /&gt;By using this command, you can see what distcc is doing in real time:&lt;br /&gt;distccd --verbose --log-stderr --daemon --user distcc --allow&lt;br /&gt;192.168.1.103 --no-detach&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-7346802110871288262?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/7346802110871288262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=7346802110871288262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7346802110871288262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/7346802110871288262'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/distcc.html' title='distcc'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3297556027533492911</id><published>2007-03-03T21:57:00.001+08:00</published><updated>2007-03-03T21:57:18.359+08:00</updated><title type='text'>I will give up cross compiling KDE</title><content type='html'>Two posts related to this decision:&lt;br&gt;&lt;a href="http://zhllg.blogspot.com/2007/03/rfcpossible-improvements-to-with.html"&gt;http://zhllg.blogspot.com/2007/03/rfcpossible-improvements-to-with.html&lt;/a&gt;&lt;br&gt;&lt;a href="http://zhllg.blogspot.com/2007/03/some-ideas-about-dependrdepend.html"&gt;http://zhllg.blogspot.com/2007/03/some-ideas-about-dependrdepend.html&lt;/a&gt;&lt;p&gt;I will try distcc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3297556027533492911?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/3297556027533492911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3297556027533492911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3297556027533492911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3297556027533492911'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/i-will-give-up-cross-compiling-kde.html' title='I will give up cross compiling KDE'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3273043256190933861</id><published>2007-03-03T21:52:00.000+08:00</published><updated>2007-03-04T00:22:53.159+08:00</updated><title type='text'>some ideas about DEPEND/RDEPEND</title><content type='html'>(zhllg) Is it possible that a runtime dependency is not a build time dependency? or could a package be built without some package, but require it in order to run?&lt;br /&gt;(igli) yes&lt;br /&gt;(zhllg) igli, any example?&lt;br /&gt;(igli) not necessarily required at run time; in any case eg an app that runs a cmd&lt;br /&gt;(igli) might not need to be built against the other app&lt;br /&gt;(zhllg) oh that is true&lt;br /&gt;(igli) synfig has run time deps for i think jpeg and stuff&lt;br /&gt;(igli) need to work on ebuild.. :(&lt;br /&gt;(zhllg) igli, what about the runtime dependency is a library&lt;br /&gt;(igli) usu if it's a dep against a lib, it's compile time&lt;br /&gt;(marienz) both.&lt;br /&gt;(igli) depends on whether it looks for the .h files&lt;br /&gt;(marienz) normally both.&lt;br /&gt;(igli) oh sorry, yes runtime as well of course&lt;br /&gt;(igli) as lib needed on system when app is running :) doh!&lt;br /&gt;(zhllg) then IMHO maybe in that case just specify the dependency in RDEPEND is enough, what do you think?&lt;br /&gt;(marienz) you normally need the lib present at build time or the link will fail.&lt;br /&gt;(zhllg) yes&lt;br /&gt;(igli) yup&lt;br /&gt;(igli) zhllg: if only RDEPEND that means the app is not usually linked as it would be with a library&lt;br /&gt;(igli) library depend is usually compile time as the app will call the lib code&lt;br /&gt;(igli) not the same as say running a cmd&lt;br /&gt;(zhllg) actually i am not quite sure about the implication of DEPEND, if not speficy the dep in DEPEND, will the dep be merged before the dependent ?&lt;br /&gt;(igli) eg rdepend on pci-utils or something&lt;br /&gt;(me22) many perl scripts don't need any building, but will need packages or commands to run&lt;br /&gt;(igli) zhllg: if not specified, not a dep&lt;br /&gt;(zhllg) igli, i mean just specify it in RDEPEND&lt;br /&gt;(zhllg) not DEPEND&lt;br /&gt;(igli) ok then not necessarily&lt;br /&gt;(zhllg) igli, you mean in that case dep maybe absent when emerging the dependent?&lt;br /&gt;(igli) yeah might be emerged just after as it's not required for building the pkg&lt;br /&gt;(igli) if it were would be a compile time dep (ie in DEPEND)&lt;br /&gt;(marienz) zhllg: it will normally be merged early enough even if it's just in RDEPEND but this is not guaranteed.&lt;br /&gt;(marienz) zhllg: if you need it at build time you should put it in DEPEND too.&lt;br /&gt;(zhllg) marienz, actually today i encountered a problem that rare people will come across&lt;br /&gt;(zhllg) i try cross compile kde using xmerge script&lt;br /&gt;(zhllg) the host system has modular kde installed&lt;br /&gt;(igli) omg&lt;br /&gt;(zhllg) i want to install non-modular kde in target system&lt;br /&gt;(marienz) why am I not surprised that doesn't actually work&lt;br /&gt;(zhllg) however, conflicts occurred&lt;br /&gt;* Fedman (n=Fedman@chello084112150156.4.11.vie.surfer.at) has joined #gentoo-dev-help&lt;br /&gt;(marienz) the ebuild format is not advanced enough to properly deal with cases like this.&lt;br /&gt;(igli) i need someone to test an update script :)&lt;br /&gt;(marienz) the problem is probably related to the fact that you tend to need some of the DEPENDS on the build system, not the target.&lt;br /&gt;(zhllg) the cause of the conflict is emerge want to install kdebase and the like in my host system&lt;br /&gt;(marienz) (think autoconf / automake deps)&lt;br /&gt;(marienz) nod.&lt;br /&gt;(igli) zhllg: you can't do it without the same sort of setup on both&lt;br /&gt;(zhllg) as kdebase is listed as a DEPEND&lt;br /&gt;(marienz) I think to work around this we need to split DEPEND up into hostdepends and builddepends&lt;br /&gt;(marienz) if you know what I mean.&lt;br /&gt;(zhllg) igli, actually i have setup an overlay&lt;br /&gt;(zhllg) and it works now, i want to see if the cross compile would succeed&lt;br /&gt;(marienz) well, those words I use make no sense, but I think you get the general idea :)&lt;br /&gt;(igli) what's that got to do with it?&lt;br /&gt;(marienz) the problem is this requires changing all the ebuilds and is hard to get right if you don't crosscompile everything to test :)&lt;br /&gt; marienz me22 masterdriverz mzbot mjolnir40k mpagano mren&lt;br /&gt;(igli) marienz: i knew what you meant but it seems wrong written down&lt;br /&gt;(marienz) it does?&lt;br /&gt;(zhllg) marienz, that sounds like a good idea&lt;br /&gt;(igli) host depends seems like rdeps&lt;br /&gt;(marienz) yeah, I didn't quite use the right words&lt;br /&gt;(igli) well deps for the machine which will install the pkg&lt;br /&gt;(marienz) build-time deps that are run on the build system vs build-time deps that are linked against (need to be present in the target system)&lt;br /&gt;(igli) deps for the machine which will install the pkg cover it?&lt;br /&gt;(marienz) you'd end up with three kinds of deps&lt;br /&gt;(marienz) buildtime deps for the build system, buildtime for the target system, runtime (for the target system)&lt;br /&gt;(marienz) I think.&lt;br /&gt;(igli) i don;t :P&lt;br /&gt;(igli) buildtime for target makes no sense; pkg is already built&lt;br /&gt;(marienz) err&lt;br /&gt;(marienz) no?&lt;br /&gt;(marienz) *buildtime* for target. At that time the package is obviously not built yet, or it wouldn't be buildtime&lt;br /&gt;(marienz) (these deps would be libraries that are linked in)&lt;br /&gt;(igli) what's the build system do then?&lt;br /&gt;(marienz) buildtime target dep: dev-libs/blah&lt;br /&gt;(marienz) buildtime host dep: autoconf/automake/etc&lt;br /&gt;(marienz) s/host/buildsystem/&lt;br /&gt;(zhllg) or, we specify that DEPEND is disjoint from RDEPEND, categorize libs as RDEPEND, and require all RDEPEND be emerged before the dependent&lt;br /&gt;(marienz) that'd be a bad idea since RDEPEND is useful to avoid circular deps.&lt;br /&gt;(zhllg) oops&lt;br /&gt;(marienz) and to avoid pulling in unneeded deps at build time.&lt;br /&gt;(igli) yeah well buildtime target dep: dev-libs/blah seems same as redepend&lt;br /&gt;(zhllg) or, splite RDEPEND, libs and non-libs(those need to be system()ed)&lt;br /&gt;(igli) what for?&lt;br /&gt;(zhllg) avoid circular dep? could achieve that?&lt;br /&gt;(zhllg) i am not sure, just an idea&lt;br /&gt;(igli) can't see it; you appear to be talking about rdepends&lt;br /&gt;(zhllg) yeah, "(zhllg) or, splite RDEPEND"&lt;br /&gt;(igli) sorry the prior conversation about target deps was effectively rdepends&lt;br /&gt;* zzam (n=zzam@gentoo/developer/zzam) has joined #gentoo-dev-help&lt;br /&gt;* ChanServ gives channel operator status to zzam&lt;br /&gt;* Jell-O-Fishi (n=Jellyfis@bzq-84-108-253-224.cablep.bezeqint.net) has joined #gentoo-dev-help&lt;br /&gt;(zhllg) i agree&lt;br /&gt;(zhllg) so i suggest to splite RDEPEND into two RDEDENDs, libs(target deps in your word), and non-libs&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3273043256190933861?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/3273043256190933861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3273043256190933861' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3273043256190933861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3273043256190933861'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/some-ideas-about-dependrdepend.html' title='some ideas about DEPEND/RDEPEND'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8825352455869650147</id><published>2007-03-03T21:47:00.001+08:00</published><updated>2007-03-03T21:52:30.749+08:00</updated><title type='text'>[RFC]possible improvements to --with-sysroot</title><content type='html'>The following suggestion is based on my understanding of&lt;br /&gt;--with-sysroot, if there were any error, please correct me.&lt;br /&gt;To my understanding, currently if cross-compile tool chain (including&lt;br /&gt;gcc) is configured with --with-sysroot when installing them, then when&lt;br /&gt;cross compiling, ld will look for libraries in $SYSROOT/usr/lib and&lt;br /&gt;$SYSROOT/usr/local/lib.&lt;br /&gt;Wouldn't it be great that we go one step further that we let ld look&lt;br /&gt;for libraries in the dir listed in $SYSROOT/etc/ld.so.conf, if this&lt;br /&gt;file ever exits? Of course for each entry in $SYSROOT/etc/ld.so.conf,&lt;br /&gt;we prefix $SYSROOT to it.&lt;br /&gt;Comments are welcomed.&lt;br /&gt;Thanks!&lt;p&gt;--&lt;br /&gt;Zhang Le, Robert&lt;/p&gt;&lt;br /&gt;This is an email I have posted to gcc mailing list.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8825352455869650147?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8825352455869650147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8825352455869650147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8825352455869650147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8825352455869650147'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/rfcpossible-improvements-to-with.html' title='[RFC]possible improvements to --with-sysroot'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-3941071504886214321</id><published>2007-03-01T16:05:00.000+08:00</published><updated>2007-03-03T12:53:30.779+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dri'/><category scheme='http://www.blogger.com/atom/ns#' term='gentoo'/><category scheme='http://www.blogger.com/atom/ns#' term='loongson'/><title type='text'>emerging KDE on loongson</title><content type='html'>&lt;span id="BlogViewId" sortmode="Normal" sortkey="" firsthandle="cns!956A48A2D7ED7265!1618" lasthandle="cns!956A48A2D7ED7265!1605"&gt;I have got DRI working in Gentoo on loongson.&lt;br /&gt;mesa/libdrm/kernel/xorg-server/xf86-video-ati need to be patched in&lt;br /&gt;order to achieve this.&lt;br /&gt;I have set up a loongson overlay, including the necessary patches.&lt;br /&gt;Get it here: http://gentoo.linuxsir.org/download/loongson-overlay.tar.bz2&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-3941071504886214321?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/3941071504886214321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=3941071504886214321' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3941071504886214321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/3941071504886214321'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/03/emerging-kde-on-loongson.html' title='emerging KDE on loongson'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-5237850092490813044</id><published>2007-02-26T00:52:00.000+08:00</published><updated>2007-03-03T12:52:51.580+08:00</updated><title type='text'>kgdb and 64bit loongson kernel</title><content type='html'>The kernel crashed at last.&lt;br /&gt;But it didn't drop into gdb.&lt;br /&gt;I have set up a breakpoint at panic(), so it is not a panic.&lt;br /&gt;My speculation proved wrong, and I have no idea what went wrong here.&lt;br /&gt;I will give up for the time being.&lt;br /&gt;Gotta read some books and help to make the 32bit loongson port stable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-5237850092490813044?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/5237850092490813044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=5237850092490813044' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5237850092490813044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5237850092490813044'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/02/kgdb-and-64bit-loongson-kernel.html' title='kgdb and 64bit loongson kernel'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-6593782523193810081</id><published>2007-02-25T02:21:00.001+08:00</published><updated>2007-02-25T02:21:55.027+08:00</updated><title type='text'>gorg on loongson box</title><content type='html'>I have successfully run gorg on my loongson box.&lt;br&gt;Find more info about gorg here: &lt;a href="http://gentoo.neysx.org/mystuff/gorg/gorg.xml"&gt;http://gentoo.neysx.org/mystuff/gorg/gorg.xml&lt;/a&gt;&lt;br&gt;more info about loongson here: &lt;a href="http://en.wikipedia.org/wiki/Loongson"&gt;http://en.wikipedia.org/wiki/Loongson&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-6593782523193810081?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/6593782523193810081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=6593782523193810081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/6593782523193810081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/6593782523193810081'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/02/gorg-on-loongson-box.html' title='gorg on loongson box'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-2942398898715558263</id><published>2007-02-24T16:24:00.001+08:00</published><updated>2007-02-24T16:24:07.330+08:00</updated><title type='text'>kgdb</title><content type='html'>最近在玩kgdb&lt;br&gt;似乎人们对于kgdb的热情不高&lt;br&gt;现在sf.net上cvs里的kgdb只能打在2.6.17内核上&lt;br&gt;目前的龙芯用的是2.6.18.1，好在要改动的地方不是很多，也不难&lt;br&gt;kgdb管理补丁用的是quilt，稍微看看man就明白了，用起来很方便&lt;br&gt;其实vanilla 2.6.18.1里也有一个kgdb选项，但实际上似乎是不能用的，连个断点都设置不了&lt;br&gt;之前我编的内核有两个问题，一个是网络传输速度慢，scp的时候经常断，如果用debian，速度恒定保持在2.x&lt;br&gt;M/s，一个是字符界面在显示器上显示不出，显示器报告超出范围，debian里正常。我之前用的是从dev.lemote.com里checkout出来的内核代码里面自带的配置文件，稍做了改动。后来我用了debian的/proc/config.gz，就好了。可是我对比两个config也没看出有什么差异可以导致这两个问题。目前还是一个谜。&lt;br&gt;最后玩kgdb光靠串口来控制还是不行，现在continue之后，gdb里显示到free多少多少memory之后，就没有任何信息了，但是在显示器上可以看到实际上已经成功启动了。&lt;br&gt;kgdb真的很爽，如果想让目标机器的内核停止运行，并等待被开发机器上的gdb连接和控制，只需要在开发机器上执行&lt;br&gt;echo -e &amp;quot;\003&amp;quot; &amp;gt; /dev/ttyS1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-2942398898715558263?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/2942398898715558263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=2942398898715558263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2942398898715558263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/2942398898715558263'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/02/kgdb.html' title='kgdb'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-5830537815190924100</id><published>2007-02-14T02:27:00.001+08:00</published><updated>2007-02-10T19:05:56.444+08:00</updated><title type='text'>gentoo's mips toolchain</title><content type='html'>Gentoo&amp;#39;s mips64el toolchain(created by &amp;#39;crossdev&amp;#39;) support n32 by default.&lt;br&gt;However, I want o32.&lt;br&gt;Good news is I don&amp;#39;t need mips64el, instead I need mipsel.&lt;br&gt;Thanks to spbecker for pointing it out to me. &lt;br&gt;I think mips64 here is the name of processor architecture.&lt;br&gt;Apparently loongson doesn&amp;#39;t belong to that category.&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-5830537815190924100?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/5830537815190924100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=5830537815190924100' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5830537815190924100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/5830537815190924100'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/02/gentoos-mips-toolchain.html' title='gentoo&apos;s mips toolchain'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8241392638708053483</id><published>2007-02-10T19:05:00.001+08:00</published><updated>2007-02-10T18:20:15.483+08:00</updated><title type='text'>按音序排序的utf8和gb18030 locale</title><content type='html'>&lt;a href="https://gro.clinux.org/frs/download.php/1962/locale-pinyin-0.1.tar.gz"&gt;https://gro.clinux.org/frs/download.php/1962/locale-pinyin-0.1.tar.gz&lt;/a&gt;&lt;br clear="all"&gt;下载后，解压缩&lt;br&gt;cd locale-pinyin-0.1&lt;br&gt;make&lt;br&gt;sudo cp zh_CN.hacked /usr/share/i18n/locales/zh_CN &lt;br&gt;sudo cp iso14651_t1.pinyin /usr/share/i18n/locales/&lt;br&gt;locale-gen&lt;br&gt;&lt;br&gt;修改/etc/env.d/xxi18n，如果LANG不是zh_CN.utf8，一定要单独设定LC_COLLATE&lt;br&gt;&amp;nbsp;$ cat /etc/env.d/100i18n &lt;br&gt;LANGUAGE=en_US&lt;br&gt;LC_CTYPE=zh_CN.utf8&lt;br&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt; LC_COLLATE=zh_CN.utf8&lt;/span&gt;&lt;br&gt;LANG=en_US.utf8&lt;br&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8241392638708053483?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8241392638708053483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8241392638708053483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8241392638708053483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8241392638708053483'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/02/utf8gb18030-locale.html' title='按音序排序的utf8和gb18030 locale'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-4582763285265539541</id><published>2007-02-10T17:24:00.001+08:00</published><updated>2007-02-10T17:24:19.352+08:00</updated><title type='text'>the difference between GB18030 charmap of redhat's glibc and that of GNU's glibc</title><content type='html'>GB18030 charmap of redhat's glibc is different from that of GNU's glibc.&lt;br /&gt;I don't know exactly what this difference means to users.&lt;br /&gt;But I wonder why this difference exists.&lt;br /&gt;&lt;br /&gt;Get the former at &lt;a href="http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/localedata/charmaps/?cvsroot=glibc"&gt; http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/localedata/charmaps/?cvsroot=glibc&lt;/a&gt;&lt;br /&gt;Get the latter at &lt;a href="http://www.gnu.org/software/libc/resources.html#projectweb"&gt;http://www.gnu.org/software/libc/resources.html#projectweb &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've created a diff which could be get here: &lt;a href="http://robert.zhangle.googlepages.com/diff"&gt;http://robert.zhangle.googlepages.com/diff&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-4582763285265539541?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/4582763285265539541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=4582763285265539541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4582763285265539541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/4582763285265539541'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/02/difference-between-gb18030-charmap-of.html' title='the difference between GB18030 charmap of redhat&apos;s glibc and that of GNU&apos;s glibc'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8864017871641372691</id><published>2007-01-30T23:20:00.001+08:00</published><updated>2007-01-30T23:20:44.351+08:00</updated><title type='text'>be careful when you are on #paludis</title><content type='html'>In my opinion, a good community should treat new comers well.&lt;br&gt;But some people think otherwise.&lt;br&gt;&lt;a href="http://www.gentoo.org/news/en/gwn/20061002-newsletter.xml#doc_chap3"&gt;http://www.gentoo.org/news/en/gwn/20061002-newsletter.xml#doc_chap3 &lt;/a&gt;&lt;br&gt;&lt;br&gt;(zhllg) i think many people like the idea installation could resume automatically when failure occur, is it possible with paludis?&lt;br&gt;(mlangc) zhllg: &lt;a href="http://www.paludis.org/faq.html#skipfirst"&gt;http://www.paludis.org/faq.html#skipfirst &lt;/a&gt;&lt;br&gt;&amp;nbsp;mlangc maskd masterdriverz maxauthority midnite__ mzli &lt;br&gt;&amp;nbsp;mlangc maskd masterdriverz maxauthority midnite__ mzli &lt;br&gt;(zhllg) mlangc, i&amp;#39;ve seen that actually, just wonder why, is it difficult to implement technically? &lt;br&gt;(mlangc) i don&amp;#39;t think so; as far as i know it is not implemented by __design__ - but you should better ask someone that actually works on paludis; i&amp;#39;m a simple user myself&lt;br&gt;(rbrown`) zhllg: er no. Too unreliable, too flaky and far too widely abused; &lt;br&gt;(zlin) zhllg: wouldn&amp;#39;t it be much better to fix the packages that cause it to fail in the first place...&lt;br&gt;(zhllg) zlin, yeah, from a developer&amp;#39;s perspective&lt;br&gt;* dleverton is now known as dleverton|class&lt;br&gt; (zhllg) but i remember there is a saying, &amp;quot;provide the mechanism, not the policy&amp;quot; &lt;br&gt;(edeca) To be fair, I often used skipfirst to ignore ebuilds with fetch restriction that I knew I didn&amp;#39;t need&lt;br&gt;* chutzpah (n= chutz@gentoo/developer/chutzpah) has joined #paludis&lt;br&gt;(mlangc) zhllg: i guess this also makes some sense from a users perspective - you can do &amp;quot;--skip-first&amp;quot; by manipulating the resume command - but you have to be explicit and thus think about it; often it is better to just try another version of the package that fails inmo &lt;br&gt;&amp;nbsp;mlangc maskd masterdriverz maxauthority midnite__ mzli &lt;br&gt;(zhllg) mlangc, actually i use this script to update the system: &amp;quot;sudo emerge -tauvDN world || until sudo emerge --resume --skipfirst; do sudo emerge --resume --skipfirst; done &lt;br&gt;* jacekowski has quit (Read error: 104 (Connection reset by peer))&lt;br&gt;(rbrown`) then you&amp;#39;re an idiot&lt;br&gt;(mlangc) i guess that it what the paludis devs are meaning by &amp;#39;far too widely abused&amp;#39; ;-)&lt;br&gt;* jacekowski (n= &lt;a href="mailto:jacekows@aaot198.neoplus.adsl.tpnet.pl"&gt;jacekows@aaot198.neoplus.adsl.tpnet.pl&lt;/a&gt;) has joined #paludis&lt;br&gt;(zhllg) rbrown`, watch your tongue, please&lt;br&gt;(zlin) or just clueless..&lt;br&gt;&amp;nbsp;mlangc maskd masterdriverz maxauthority midnite__ mzli  &lt;br&gt;&amp;nbsp;mlangc maskd masterdriverz maxauthority midnite__ mzli &lt;br&gt;(zhllg) rbrown`, zlin, mlangc how do you update your system?&lt;br&gt;(zhllg) may i ask?&lt;br&gt;(rbrown`) zhllg: or what? there&amp;#39;s no policy against calling an idiot an idiot in this channel &lt;br&gt;(rbrown`) zhllg: paludis -i world&lt;br&gt;(spb) there&amp;#39;s no real policy against calling anyone anything, really&lt;br&gt;(rbrown`) spb: I wanted to be clear that I was only calling him names that were appropriate&lt;br&gt;(zlin) zhllg: we tend to try to fix problems when we hit them rather than ignoring them without even noticing.. &lt;br&gt;(zhllg) zlin, not everyone has the ability to fix problems, let&amp;#39;s face this&lt;br&gt;(mlangc) zhllg: at least you should be aware of them so that another person might fix them for you&lt;br&gt;&amp;nbsp;mlangc maskd masterdriverz maxauthority midnite__ mzli  &lt;br&gt;(mlangc) if your &amp;quot;update&amp;quot; script leaves your system unusable you would not even have a clue what went wrong ....&lt;br&gt;(zlin) zhllg: and actually the things you can do with emerge --skipfirst are far more limited than what you can do with the resume command from paludis. &lt;br&gt;(zhllg) mlangc, i can find which packages are broken&lt;br&gt;* beandog (n=sdibb@gentoo/developer/beandog) has joined #paludis&lt;br&gt;(zhllg) just run emerge -tavuDN world again immediately after running that script&lt;br&gt;(zlin) uhh.. &lt;br&gt;(ciaranm) idiot is too mild a term for this one&lt;br&gt;(zhllg) idiot is not an appropriate term to call users&lt;br&gt;(rbrown`) but was that evident when I used it?&lt;br&gt;(zhllg) or potential users&lt;br&gt;(ciaranm) &amp;#39;fucking retard&amp;#39;? &lt;br&gt;(zhllg) maybe for you ciaranm &lt;br&gt;(mlangc) well, i think there&amp;#39;s no need to be unfriendly; if he breaks his system that is entirely his problem ...&lt;br&gt;(zhllg) mlangc, maybe, but my system runs well for nearly 3 years &lt;br&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8864017871641372691?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8864017871641372691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8864017871641372691' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8864017871641372691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8864017871641372691'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/01/be-careful-when-you-are-on-paludis.html' title='be careful when you are on #paludis'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-1992594056581755921</id><published>2007-01-25T10:07:00.001+08:00</published><updated>2007-01-25T10:07:56.798+08:00</updated><title type='text'>Interest and Open source</title><content type='html'>One of the great things about open source software is, of course, the fact that anyone can participate, so the pool of resources is limited not by an annual hiring budget, but by interest in the project. That means you can have any number of developers, but it also means that one person may be involved in several areas if he or she finds them interesting.&lt;br&gt;&lt;br clear="all"&gt;&lt;a href="http://www-128.ibm.com/developerworks/opensource/library/os-ag-renegade11/?ca=dgr-lnxw04geronimo"&gt;http://www-128.ibm.com/developerworks/opensource/library/os-ag-renegade11/?ca=dgr-lnxw04geronimo &lt;/a&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-1992594056581755921?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/1992594056581755921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=1992594056581755921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/1992594056581755921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/1992594056581755921'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/01/interest-and-open-source.html' title='Interest and Open source'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12574936.post-8231627424661803866</id><published>2007-01-16T01:08:00.001+08:00</published><updated>2007-01-16T01:08:12.158+08:00</updated><title type='text'>续：有关gorg和gentoo网站镜像的问题</title><content type='html'>知道原因了&lt;br&gt;handbook-x86.xml本身没有问题&lt;br&gt;不过有一个它指向的文件，里面缺了个&amp;lt;/p&amp;gt;&lt;br&gt;而且使用了非utf-8编码&lt;br&gt;...&lt;br&gt;怪我之前没说&lt;br&gt;&lt;br&gt;检查语法错误，可以用&lt;br&gt;xmllint -valid -noout filename.xml&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12574936-8231627424661803866?l=r0bertz.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://r0bertz.blogspot.com/feeds/8231627424661803866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12574936&amp;postID=8231627424661803866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8231627424661803866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12574936/posts/default/8231627424661803866'/><link rel='alternate' type='text/html' href='http://r0bertz.blogspot.com/2007/01/gorggentoo_16.html' title='续：有关gorg和gentoo网站镜像的问题'/><author><name>ZHANG, Le</name><uri>http://www.blogger.com/profile/10735554351217955776</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
