<?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; Technologie</title>
	<atom:link href="http://blog.stadtluft.ch/tag/technologie/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.stadtluft.ch</link>
	<description></description>
	<lastBuildDate>Sat, 29 Oct 2011 08:52:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>OSX Snow Leopard und ruby-debug</title>
		<link>http://blog.stadtluft.ch/2009/10/11/osx-snow-leopard-und-ruby-debug/</link>
		<comments>http://blog.stadtluft.ch/2009/10/11/osx-snow-leopard-und-ruby-debug/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 23:59:31 +0000</pubDate>
		<dc:creator>ah</dc:creator>
				<category><![CDATA[Stadtluft]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Technologie]]></category>

		<guid isPermaLink="false">http://blog.stadtluft.ch/?p=144</guid>
		<description><![CDATA[Wer unter OSX mit Ruby on Rails arbeitet, ist vielleicht nach dem Update auf Snow Leopard auf dasselbe Problem gestossen wie ich. Nämlich auf das Problem, dass sich Mongrel nicht... <a href="http://blog.stadtluft.ch/2009/10/11/osx-snow-leopard-und-ruby-debug/">(Mehr lesen.)</a>]]></description>
			<content:encoded><![CDATA[<p>Wer unter OSX mit Ruby on Rails arbeitet, ist vielleicht nach dem Update auf Snow Leopard auf dasselbe Problem gestossen wie ich. Nämlich auf das Problem, dass sich Mongrel nicht mehr im Debug-Modus starten lässt. <span id="more-144"></span></p>
<p>Dabei wurde bei mir eine irreführende Meldung ausgegeben, dass ruby-gem installiert werden soll. Das war bei mir aber definitiv installiert und das liess sich auch leicht mittels</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> gem list <span style="color: #660033;">-d</span> ruby-debug</div></td></tr></tbody></table></div>
<p>prüfen.<br />
Das wirkliche Problem wird durch eine ungünstige Fehlerausgabe in debugger.rb verheimlicht. Ich änderte diese Datei wie folgt ab:</p>
<div class="codecolorer-container ruby vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br /></div></td><td><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#9966CC; font-weight:bold;">module</span> Rails<br />
<span style="color:#9966CC; font-weight:bold;">module</span> Rack<br />
<span style="color:#9966CC; font-weight:bold;">class</span> Debugger<br />
<span style="color:#9966CC; font-weight:bold;">def</span> initialize<span style="color:#006600; font-weight:bold;">&#40;</span>app<span style="color:#006600; font-weight:bold;">&#41;</span><br />
<span style="color:#0066ff; font-weight:bold;">@app</span> = app<br />
<br />
require_library_or_gem <span style="color:#996600;">'ruby-debug'</span><br />
<br />
::Debugger.<span style="color:#9900CC;">start</span><br />
::Debugger.<span style="color:#9900CC;">settings</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#ff3333; font-weight:bold;">:autoeval</span><span style="color:#006600; font-weight:bold;">&#93;</span> = <span style="color:#0000FF; font-weight:bold;">true</span> <span style="color:#9966CC; font-weight:bold;">if</span> ::Debugger.<span style="color:#9900CC;">respond_to</span>?<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#ff3333; font-weight:bold;">:settings</span><span style="color:#006600; font-weight:bold;">&#41;</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;=&amp;gt; Debugger enabled&quot;</span><br />
<span style="color:#9966CC; font-weight:bold;">rescue</span> MissingSourceFile =<span style="color:#006600; font-weight:bold;">&amp;</span>gt; e<br />
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;You need to install ruby-debug to run the server in debugging mode. With gems, use 'gem install ruby-debug'&quot;</span><br />
<span style="color:#CC0066; font-weight:bold;">exit</span><br />
<span style="color:#9966CC; font-weight:bold;">rescue</span> <span style="color:#CC00FF; font-weight:bold;">Exception</span> =<span style="color:#006600; font-weight:bold;">&amp;</span>gt; e<br />
<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Error - &quot;</span> <span style="color:#006600; font-weight:bold;">+</span> <span style="color:#0000FF; font-weight:bold;">__FILE__</span><br />
<span style="color:#CC0066; font-weight:bold;">puts</span> e.<span style="color:#9900CC;">inspect</span><br />
<span style="color:#CC0066; font-weight:bold;">exit</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#0066ff; font-weight:bold;">@app</span>.<span style="color:#9900CC;">call</span><span style="color:#006600; font-weight:bold;">&#40;</span>env<span style="color:#006600; font-weight:bold;">&#41;</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></td></tr></tbody></table></div>
<p>Nach erneutem Starten von Mongrel im Debug-Modus zeigte sich das wahre Problem:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Error - <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span>andy<span style="color: #000000; font-weight: bold;">/</span>Projekte<span style="color: #000000; font-weight: bold;">/</span>dooda<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>vendor<span style="color: #000000; font-weight: bold;">/</span>rails<span style="color: #000000; font-weight: bold;">/</span>railties<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>rails<span style="color: #000000; font-weight: bold;">/</span>rack<span style="color: #000000; font-weight: bold;">/</span>debugger.rb<br />
<span style="color: #666666; font-style: italic;">#</span></div></td></tr></tbody></table></div>
<p>Das tatsächliche Problem lag nämlich in einer für Snow Leopard ungünstigen Universal Binary Version von linecache.</p>
<p>Sind die Developer-Tools von Apple installiert, so kann folgendermassen eine neue Version dieser Bibliothek gebaut und installiert werden:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> gem uninstall ruby-debug-base<br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> gem uninstall ruby-debug<br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> ruby-debug-base<br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> ruby-debug<br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> linecache</div></td></tr></tbody></table></div>
<p>Danach liess sich Mongrel wieder wie gewünscht starten.</p>
<p>Mich hat das einige Stunden gekostet, vielleicht erspart dir dieser Post ein wenig Zeit.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.stadtluft.ch/2009/10/11/osx-snow-leopard-und-ruby-debug/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

