<?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>肉包子的摇滚生活 &#187; Linux</title>
	<atom:link href="http://www.fangyuqiang.com/archives/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fangyuqiang.com</link>
	<description>前端开发，交互设计，用户体验</description>
	<lastBuildDate>Wed, 01 Sep 2010 09:06:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>JRadius在windows下的编译错误，警惕windows与linux的编译环境差别</title>
		<link>http://www.fangyuqiang.com/archives/664</link>
		<comments>http://www.fangyuqiang.com/archives/664#comments</comments>
		<pubDate>Tue, 03 Nov 2009 02:38:46 +0000</pubDate>
		<dc:creator>fangyuqiang</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[radius]]></category>

		<guid isPermaLink="false">http://www.fangyuqiang.com/?p=664</guid>
		<description><![CDATA[目前在做radius项目，项目采用Freeradius，c语言写的，提供java开发接口，我们部门主要以java为主，所以需要调研JRadius的开发。 JRadius虽然是个不错的项目，但是看得出来，无论是作者还是使用JRadius的开发者都让人觉得漫不经心。。论坛空空荡荡，mailing list几乎为空，wiki上面的页面也相当少。杯具。 svn上面down下来JRadius，我采用的是tags下面的1.0版本，虽然官方文档上的例子是trunk版本，但是trunk其实一般都是出于开发阶段，我们不是想要研究而是想要使用的，所以还是采用正式的tags下的版本比较好。 mvn install。编译失败。 D:eclipseworkspacejradius-1.0dictionarytargetdictionary-srcnetjradiusdi ctionaryvsa_dhcpAttr_DHCPBootFilename.java:[20,13] 类 Attr_DHCPBootFileName 是 公共的，应在名为 Attr_DHCPBootFileName.java 的文件中声明 我囧，这是啥错误啊，看来看去这文件名跟类名没有错啊，尝试了无数次，反复查看了文件名跟类名，没错啊。。。 最终，终于让我发现了一个问题，生成的文件名是DHCPBootFilename，而类名是DHCPBootFileName，大小写不同。奇怪，这又是怎么回事，查看了下它用来生成这个文件的代码，没有错啊。为什么生成的文件大小写会不一样？ 查看它用来生成代码的工具类，反复调试。。没错。。完全没错。。郁闷了。。 查看了dictionary配置文件，艹，终于让我发现了端倪，配置文件需要2个属性，分别是： ATTRIBUTE    DHCP-Boot-Filename            269    string      # 128 octets ATTRIBUTE    DHCP-Boot-File-Name            67    string 按照生成器的逻辑，它会生成： DHCPBootFilename.java DHCPBootFileName.java 关键的问题就在于，我的环境是windows，windows文件名不区分大小写，结果文件内容会被直接覆盖掉。而开发者的环境是linux，所以他可以顺利编译发布出来。 解决这个问题，没什么特别的方法，要嘛就是开发了以后到linux上面编译。或者把dictionary的编译放到linux上面，然后作为依赖包引入到开发环境中。 个人建议是所有开发的代码都上传到linux下去编译，因为产品环境会在linux下面，在linux下面编译测试才最接近实际。毕竟项目的编译会依赖于操作系统。]]></description>
			<content:encoded><![CDATA[<p>目前在做radius项目，项目采用<a href="http://freeradius.org/" target="_blank">Freeradius</a>，c语言写的，提供java开发接口，我们部门主要以java为主，所以需要调研<a href="http://www.coova.org/JRadius" target="_blank">JRadius</a>的开发。</p>
<p><a href="http://www.coova.org/JRadius" target="_blank">JRadius</a><strong>虽然是个不错的项目，但是看得出来，无论是作者还是使用</strong><a href="http://www.coova.org/JRadius" target="_blank">JRadius</a><strong>的开发者都让人觉得漫不经心</strong>。。论坛空空荡荡，mailing list几乎为空，wiki上面的页面也相当少。杯具。<span id="more-664"></span></p>
<p>svn上面down下来<a href="http://www.coova.org/JRadius" target="_blank">JRadius</a>，我采用的是tags下面的1.0版本，虽然官方文档上的例子是trunk版本，但是trunk其实一般都是出于开发阶段，我们不是想要研究而是想要使用的，所以还是采用正式的tags下的版本比较好。</p>
<p>mvn install。编译失败。</p>
<p>D:eclipseworkspacejradius-1.0dictionarytargetdictionary-srcnetjradiusdi<br />
ctionaryvsa_dhcpAttr_DHCPBootFilename.java:[20,13] 类 Attr_DHCPBootFileName 是<br />
公共的，应在名为 Attr_DHCPBootFileName.java 的文件中声明</p>
<p>我囧，这是啥错误啊，看来看去这文件名跟类名没有错啊，尝试了无数次，反复查看了文件名跟类名，没错啊。。。</p>
<p>最终，<strong>终于让我发现了一个问题，生成的文件名是DHCPBootFilename，而类名是DHCPBootFileName，大小写不同。奇怪，这又是怎么回事</strong>，查看了下它用来生成这个文件的代码，没有错啊。为什么生成的文件大小写会不一样？</p>
<p>查看它用来生成代码的工具类，反复调试。。没错。。完全没错。。郁闷了。。</p>
<p>查看了dictionary配置文件，艹，终于让我发现了端倪，配置文件需要2个属性，分别是：</p>
<p>ATTRIBUTE    DHCP-Boot-Filename            269    string      # 128 octets</p>
<p>ATTRIBUTE    DHCP-Boot-File-Name            67    string</p>
<p>按照生成器的逻辑，它会生成：</p>
<p>DHCPBootFilename.java</p>
<p>DHCPBootFileName.java</p>
<p><strong>关键的问题就在于，我的环境是windows，windows文件名不区分大小写，结果文件内容会被直接覆盖掉。而开发者的环境是linux，所以他可以顺利编译发布出来。</strong></p>
<p>解决这个问题，没什么特别的方法，要嘛就是开发了以后到linux上面编译。或者把dictionary的编译放到linux上面，然后作为依赖包引入到开发环境中。</p>
<p>个人建议是所有开发的代码都上传到linux下去编译，因为产品环境会在linux下面，在linux下面编译测试才最接近实际。毕竟项目的编译会依赖于操作系统。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fangyuqiang.com/archives/664/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux i386跟x86_64版本的区别</title>
		<link>http://www.fangyuqiang.com/archives/391</link>
		<comments>http://www.fangyuqiang.com/archives/391#comments</comments>
		<pubDate>Mon, 27 Jul 2009 03:50:19 +0000</pubDate>
		<dc:creator>fangyuqiang</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.fangyuqiang.com/?p=391</guid>
		<description><![CDATA[32位的CPU不懂x86_64的指令集，但是64位的CPU可以看懂i386的指令集，如果判断不出的话，建议用i386的版本。 而我这次问题的原因，就在于，在服务器上安装的版本都是x86_64的版本，而服务器是32位的！]]></description>
			<content:encoded><![CDATA[<p><a href="http://ithelp.ithome.com.tw/question/10005649">請問Linux i386跟x86_64版本？ &#8211; IT邦幫忙::IT知識分享社群</a>.</p>
<p>原文链接见上。</p>
<p>这2天安装apacheds 1.5.4版本，安装很简单，但是后来服务却无论如何都启动不了，多方查找都毫无结果，启动服务的时候都提示cannot execute binary 的错误，最终在官方网站乱翻的时候，发现linux提供了2个版本，一个i386，一个x86-64版本，搜索一下这2个版本的区别，如上：</p>
<p>i386是指cpu在32位元以上的的pc可以安裝<br />
x86_64是指cpu在64位元以上的的pc可以安裝</p>
<p>32位的CPU不懂x86_64的指令集，但是64位的CPU可以看懂i386的指令集，如果判断不出的话，建议用i386的版本。</p>
<p>而我这次问题的原因，就在于，在服务器上安装的版本都是x86_64的版本，而服务器是32位的！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fangyuqiang.com/archives/391/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
