<?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; CPAN</title>
	<atom:link href="https://blog.harapeko.jp/tag/cpan/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.harapeko.jp</link>
	<description>株式会社はらぺこ 公式ブログ</description>
	<lastBuildDate>Mon, 30 Oct 2017 14:32:56 +0000</lastBuildDate>
	<language>ja</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.2</generator>
	<item>
		<title>CentOS5 で最新の DBD::mysql を導入する</title>
		<link>https://blog.harapeko.jp/2011/01/11/centos5-cpan-update/</link>
		<comments>https://blog.harapeko.jp/2011/01/11/centos5-cpan-update/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 03:38:49 +0000</pubDate>
		<dc:creator><![CDATA[村山 俊之]]></dc:creator>
				<category><![CDATA[技術メモ]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[CPAN]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[サーバー管理]]></category>

		<guid isPermaLink="false">http://blog.harapeko.jp/?p=151</guid>
		<description><![CDATA[あけましておめでとうございます。またしてもブログがおざなりになってしまいました… orz 直接お金になる仕事で [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>あけましておめでとうございます。またしてもブログがおざなりになってしまいました… orz</p>
<p>直接お金になる仕事ではないのですが、ここしばらく、某所の BBS を開発するため、 Perl をいじっております。正直、 .NET や JavaScript 、ケータイアプリの開発なんてことばかりやっておりますと、たまにいじる Perl が楽しくて楽しくて、ついついこっちばかりやってしまう、という日々がしばらく続いております。いかんですな。</p>
<p>で、こちらの開発がとりあえずキリの良いところまで進んだので、一旦お蔵入りにしようと思うのですが (といっても年単位で寝かせるわけではないですが)、その前にこれに関連する技術的なメモをしたためておこうかと思うのであります。</p>
<p>作っているのは、さくらの共有レンタルサーバーサービス上で動作する CGI なのですが、レンタルサーバの性質上、 CPAN から最新のモジュールを引っ張ってくることが出来るので、割とモダンチックなスタイルで開発できるのが強みだったりします。</p>
<p>ただ、レンタルサーバ上で動作確認する場合、 500 エラーになってもエラーログをすぐには参照できないので (さくらにメールで問い合わせすることは可能らしいですが…)、弊社サーバー上にも設置し、動作確認するようにしました。</p>
<p>弊社サーバーはさくらの VPS を利用しており、 CentOS5 で動いています。基本的にはソフトウェアの導入は yum から行っているのですが、その場合、 DBD::mysql を始めとした多くの CPAN モジュールが、かなり古いバージョンで導入されることになります。特に、 <strong>DBD::mysql は 3.0007 と極めて古く、Unicode を扱うのに必要不可欠な接続時オプション mysql_enable_utf8 が使えない</strong>といった弊害がありました。他にも、 DateTime がタイムゾーンを理解できないなど、いろいろと弊害があったため、 CPAN から最新版をインストールしようかと試みたのですが、そのままではほとんどのモジュールについてコンパイルが通らないなど、cpan コマンドからではインストールが出来ませんでした。<br />
<span id="more-151"></span></p>
<h3>CPAN 自体を最新版に</h3>
<p>まず、cpan コマンドとして動作する Bundle::CPAN モジュール自体が古いので、それを最新にしてしまいましょう。</p>
<pre>
$ sudo cpan -i Bundle::CPAN
</pre>
<p>さらに、導入済みのモジュールを最新版に一括して更新してしまいましょう。こちらは cpan コマンドからではうまくいかなかったので、 perl から。</p>
<pre>
$ sudo perl -MCPAN -e 'CPAN::Shell-&gt;install(CPAN::Shell-&gt;r)'
</pre>
<h3>DBD::mysql のインストールには MySQL 自体のソースが必要</h3>
<p>ここまでやっても、DBD::mysql のインストールはやっぱり失敗していて、古いバージョンのままです。</p>
<pre>
$ perl -MDBD::mysql -e 'print "$DBD::mysql::VERSION\n"'
3.0007
$
</pre>
<p>結論から言うと、DBD::mysql を make する際に、MySQL 自体のヘッダファイルを参照しており、単に yum から MySQL だけを入れた状態ではこのヘッダファイルが導入されていないために、コンパイルに失敗してしまいます。そこで、 MySQL の開発用リソースを導入するパッケージ <strong>mysql-devel</strong> を事前に入れておく必要があります。</p>
<pre>
$ sudo yum install mysql-devel
$ sudo cpan -i DBD::mysql
</pre>
<p>これで、最新の DBD::mysql のインストールが成功するはずです。</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.harapeko.jp/2011/01/11/centos5-cpan-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
