<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tsung.暴躁 &#187; gccgo</title>
	<atom:link href="http://tsung.bz/tag/gccgo/feed/" rel="self" type="application/rss+xml" />
	<link>http://tsung.bz</link>
	<description>How To Rock On?</description>
	<lastBuildDate>Thu, 29 Jul 2010 08:55:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<atom:link rel='hub' href='http://tsung.bz/?pushpress=hub'/>
		<item>
		<title>Ubuntu9.10底下交叉编译gccgo</title>
		<link>http://tsung.bz/2009/11/17/cross-compile-gccgo-under-ubuntu-9-10-amd64/</link>
		<comments>http://tsung.bz/2009/11/17/cross-compile-gccgo-under-ubuntu-9-10-amd64/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 22:48:45 +0000</pubDate>
		<dc:creator>Tsung.W</dc:creator>
				<category><![CDATA[golang]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[64bit]]></category>
		<category><![CDATA[amd64]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[gccgo]]></category>
		<category><![CDATA[GFW]]></category>
		<category><![CDATA[go]]></category>

		<guid isPermaLink="false">http://tsung.bz/?p=56</guid>
		<description><![CDATA[Google刚推出了go语言，所以拿出来折腾下，由于是64位的系统，加上gccgo本身一些bug，折腾过程中遇到几个问题，这里简单列下（一些很容易找到的就略过），问题不分先后： 1、设置CFLAGS，执行./configure前执行export CFLAGS=&#8217;-m64&#8242;，具体我的configure是这样的../gccgo/configure &#8211;enable-languages=c,c++,go &#8211;disable-multilib 这里要disable掉multilib，我是觉得64位没必要非纠结32位 2、找不到linux/user.h，实际上是在sys/user.h，也就是在/usr/include/sys才有，另外有人找不到cs ss ds es fs gs那些，可参看http://groups.google.com/group/golang-nuts/browse_thread/thread/fe10ca33f7ad36aa/a7a1e9f274ae3204?lnk=raot&#038;pli=1 3、go.install-plugin target找不到： &#8212; Make-lang.in (revision 154084) +++ Make-lang.in (working copy) @@ -96,6 +96,7 @@ go.install-common: installdirs -$(INSTALL_PROGRAM) gccgo$(exeext) $(DESTDIR)$(bindir)/$(GCCGO_INSTALL_NAME)$(exeext) -chmod a+x $(DESTDIR)$(bindir)/$(GCCGO_INSTALL_NAME)$(exeext) +go.install-plugin: go.install-man: go.uninstall: 参看http://archives.free.net.ph/message/20091115.235810.c2ed4344.en.html 整个过程纠结了两天，主要是make要很长时间一出错就得重新开始，人生。。 GCCGO的安装过程比较像底下这家伙：http://www.atoztoa.com/2009/11/making-gccgo-in-ubuntu.html （访问需要越墙） 接下来是编译go，下载代码好像花了满长时间的，第一次执行./all.bash的时候，貌似出了比较奇怪的错误，后面找到原因是没有给GOBIN目录设置权限，chmod 755 $GOBIN，然后参照How to install the Google GO compiler on Ubuntu Linuxe，我又在bashrc里添加了export PATH=$GOBIN:$PATH。再一次执行./all.bash，出现： #&#8212; [...]]]></description>
			<content:encoded><![CDATA[<p>Google刚推出了go语言，所以拿出来折腾下，由于是64位的系统，加上gccgo本身一些bug，折腾过程中遇到几个问题，这里简单列下（一些很容易找到的就略过），问题不分先后：</p>
<p>1、设置CFLAGS，执行./configure前执行export CFLAGS=&#8217;-m64&#8242;，具体我的configure是这样的../gccgo/configure &#8211;enable-languages=c,c++,go &#8211;disable-multilib 这里要disable掉multilib，我是觉得64位没必要非纠结32位</p>
<p>2、找不到linux/user.h，实际上是在sys/user.h，也就是在/usr/include/sys才有，另外有人找不到cs ss ds es fs gs那些，可参看http://groups.google.com/group/golang-nuts/browse_thread/thread/fe10ca33f7ad36aa/a7a1e9f274ae3204?lnk=raot&#038;pli=1</p>
<p>3、go.install-plugin target找不到：<br />
&#8212; Make-lang.in    (revision 154084)<br />
+++ Make-lang.in    (working copy)<br />
@@ -96,6 +96,7 @@ go.install-common: installdirs<br />
    -$(INSTALL_PROGRAM) gccgo$(exeext) $(DESTDIR)$(bindir)/$(GCCGO_INSTALL_NAME)$(exeext)<br />
    -chmod a+x $(DESTDIR)$(bindir)/$(GCCGO_INSTALL_NAME)$(exeext) </p>
<p>+go.install-plugin:<br />
go.install-man: </p>
<p>go.uninstall:<br />
参看http://archives.free.net.ph/message/20091115.235810.c2ed4344.en.html</p>
<p>整个过程纠结了两天，主要是make要很长时间一出错就得重新开始，人生。。<br />
GCCGO的安装过程比较像底下这家伙：http://www.atoztoa.com/2009/11/making-gccgo-in-ubuntu.html （访问需要越墙）</p>
<p>接下来是编译go，下载代码好像花了满长时间的，第一次执行./all.bash的时候，貌似出了比较奇怪的错误，后面找到原因是没有给GOBIN目录设置权限，chmod 755 $GOBIN，然后参照<a href="http://www.jeremymorgan.com/blog/linux/how-to-install-the-google-go-compiler-on-ubuntu-linux/">How to install the Google GO compiler on Ubuntu Linuxe</a>，我又在bashrc里添加了export PATH=$GOBIN:$PATH。再一次执行./all.bash，出现：<br />
#&#8212; FAIL: http.TestClient<br />
#    Get http://www.google.com/robots.txt: unexpected EOF<br />
#&#8212; FAIL: http.TestRedirect<br />
#    Get http://codesearch.google.com/: unexpected EOF<br />
#FAIL<br />
#make[1]: *** [test] Error 1<br />
这个的错误的原因又是万恶的GFW，打开VPN，马上就正常了，看截图：<br />
<a href="http://tsung.bz/wp-content/uploads/2009/11/tsung@Tsung-Develop-go-src_001.png"><img src="http://tsung.bz/wp-content/uploads/2009/11/tsung@Tsung-Develop-go-src_001-300x207.png" alt="tsung@Tsung: ~-Develop-go-src_001" title="tsung@Tsung: ~-Develop-go-src_001" width="300" height="207" class="alignleft size-medium wp-image-81" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://tsung.bz/2009/11/17/cross-compile-gccgo-under-ubuntu-9-10-amd64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
