<?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>BenV&#039;s notes &#187; firefox</title>
	<atom:link href="http://notes.benv.junerules.com/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://notes.benv.junerules.com</link>
	<description>Rants and notes</description>
	<lastBuildDate>Wed, 28 Jul 2010 13:36:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Windows Default Tools installation &#8211; Ninite</title>
		<link>http://notes.benv.junerules.com/all/software/windows-default-tools-installation-ninite/</link>
		<comments>http://notes.benv.junerules.com/all/software/windows-default-tools-installation-ninite/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 16:56:58 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[wine]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=749</guid>
		<description><![CDATA[Windows and Ninite So after the Adobe Cancer experience yesterday I still had to install a bunch of other things for the helpless windows user. After I was done with most of that (of course, the good stuff always comes too late) I ran into this tool: Ninite. They call it &#8220;The easiest way to [...]]]></description>
			<content:encoded><![CDATA[<h3>Windows and Ninite</h3>
<p>So after the <a href="http://notes.benv.junerules.com/all/software/the-adobe-cancer/">Adobe Cancer</a> experience yesterday I still had to install a bunch of other things for the helpless windows user.<br />
After I was done with most of that (of course, the good stuff always comes too late) I ran into this tool: <a href="https://ninite.com/">Ninite</a>.<br />
They call it &#8220;The easiest way to get apps&#8221;. Well, from the screenshots it certainly looks that way. No cruft like toolbars and updaters and junk installed, just the application.<span id="more-749"></span></p>
<p>On their page you simply select the application you want installed, including the obvious things as Firefox, OpenOffice, Cancerbat^WAdobe Reader, and even Avast antivirus. The only thing really missing from their list is <a href="http://www.ghisler.com/">Total Commander</a> (yes, I stuffed it in their suggestions box <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ), which is pretty much the only application I really miss on linux.<br />
After selecting all the rubbish the user might need you downloader their installer. When you run the installer it downloads and installs all the selected applications.<br />
Easy huh?</p>
<p>The installer looks like this:<br />
<div id="attachment_753" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2010/03/ninite-opera-install.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2010/03/ninite-opera-install-300x225.png" alt="Ninite installing opera while downloading the rest" title="Ninite installing opera while downloading the rest" width="300" height="225" class="size-medium wp-image-753" /></a><p class="wp-caption-text">Ninite installing opera while downloading the rest</p></div><br />
And indeed, <span style="color:#FF00FF">IT JUST WORKS</span>. Excellent.</p>
<h3>Ninite and Wine</h3>
<p>Now for the fun part. Let&#8217;s see how it works under wine <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Knowing Putty should work under wine, I selected that and winscp on the website.<br />
<div id="attachment_751" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2010/03/35.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2010/03/35-300x184.png" alt="Ninite download for putty and winscp" title="Ninite website" width="300" height="184" class="size-medium wp-image-751" /></a><p class="wp-caption-text">Ninite download for putty and winscp</p></div></p>
<p>However, trying to run the installer fails after it shows the progressbar bouncing a few times with a useless error:<br />
<div id="attachment_755" class="wp-caption alignnone" style="width: 142px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2010/03/43.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2010/03/43.png" alt="Ninite wine error" title="Ninite wine error" width="132" height="89" class="size-full wp-image-755" /></a><p class="wp-caption-text">Ninite wine error</p></div><br />
The wine console gives a bunch of SSL errors, probably related:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">trace:wininet:HTTP_HttpSendRequestW Request header -<span style="color: #000000; font-weight: bold;">&gt;</span> L<span style="color: #ff0000;">&quot;GET /getinstaller?key=00b6ea6210077170ba6d7e0f70317368fda80ae0&amp;version=0%2C1%2C0%2C267&amp;compressed=1&amp;id=9218220A781C9E27B4B4D7CB3CC8AFCB4C7FA19E HTTP/1.1<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>Accept: */*<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>Host: ninite.com<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Win32)<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><br />
trace:wininet:HTTP_OpenConnection --<span style="color: #000000; font-weight: bold;">&gt;</span><br />
trace:wininet:GetAddress L<span style="color: #ff0000;">&quot;ninite.com&quot;</span><br />
trace:wininet:HTTP_ResolveName resolved L<span style="color: #ff0000;">&quot;ninite.com&quot;</span> to 69.164.199.133<br />
err:wininet:NETCON_secure_connect SSL_connect failed: <span style="color: #000000;">12157</span><br />
warn:wininet:HTTP_OpenConnection Couldn<span style="color: #ff0000;">'t connect securely to host</span></div></div>
<p>That was with wine version 1.1.40. I even tried installing wininet.dll through winetricks, but then it fails with a slightly different error about an invalid server response.<br />
Oh well, too bad for that (it was just for fun anyway), but it&#8217;s a great tool for windows <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Keep up the good work Ninite guys!</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/windows-default-tools-installation-ninite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Adobe Cancer</title>
		<link>http://notes.benv.junerules.com/all/software/the-adobe-cancer/</link>
		<comments>http://notes.benv.junerules.com/all/software/the-adobe-cancer/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 16:53:02 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=743</guid>
		<description><![CDATA[They&#8217;ve managed to piss me off once more. I had to do a windows reinstall (XP of course) for some idiots that fubar-ed their machine, so after the usual install, 5 million windows updates, service packs, reboots and firefox install I figured I should probably install flash for them. How hard can it be to [...]]]></description>
			<content:encoded><![CDATA[<p>They&#8217;ve managed to piss me off once more.<br />
I had to do a windows reinstall (XP of course) for some idiots that fubar-ed their machine, so after the usual install, 5 million windows updates, service packs, reboots and firefox install I figured I should probably install flash for them.<br />
How hard can it be to install Adobe Flash?<span id="more-743"></span></p>
<p>Well, apparently it&#8217;s almost impossible these days.<br />
First I went to some site that needed flash, which I pretty much why I thought of it in the first place. Firefox asks &#8220;Hey man, you need a plugin for this page, want me to fix it?&#8221;.<br />
So I told it &#8220;Amuse me&#8221;. Firefox responded with &#8220;I&#8217;m sorry, I automatically failed&#8221;. Nothing new there.<br />
&#8220;Do you want to do a manual install?&#8221;. Sure thing.<br />
So it sent me to the adobe flash installation page: http://get.adobe.com/flashplayer/</p>
<p>The first big scary thing you see if the DEFAULT ENABLED Mcafee installation which most users will ignore.<br />
So when you disable that checkbox and hit the &#8220;Agree to get abused and give all your children to Adobe as slaves&#8221; button, it gives you a big &#8220;THANK YOU!&#8221; page.<br />
This gives you a nice pop-up in firefox, asking you to allow the installation of a an addon.<br />
At first I was positive &#8220;Well, that&#8217;s easier than I expected&#8221;. How wrong I was.</p>
<p>The addon it tried to install was none other than &#8220;Adobe DLM&#8221;. Short for &#8220;Adobe Destroyer of Local Machine&#8221;. I DO NOT WANT THAT PIECE OF GARBAGE, I ONLY WANT THAT FSC!@#$(#4#%$<br />
Needless to say I was very annoyed. Not only that, but on that page (including the previous) I couldn&#8217;t find a normal download link to the flash installer.<br />
Fine fine, I&#8217;ll use the cancer DLM, after which I&#8217;ll uninstall it.</p>
<p>Next problem: the DLM can&#8217;t download files!<br />
Yes, it&#8217;s hard to believe, but the only thing the DLM can get right is installing that fscking piece of rubbish from McafayeeEEEEEEE (never mind that I already have a <a href="http://www.avast.com/">decent FREE virus scanner</a>). On the flash download it fails to check the integrity of the file. Repeatedly.<br />
<div id="attachment_744" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2010/03/adobe-cancer.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2010/03/adobe-cancer-300x240.png" alt="How would you like to be upset today?" title="Adobe Cancer Downloader" width="300" height="240" class="size-medium wp-image-744" /></a><p class="wp-caption-text">Adobe Cancer</p></div><br />
Next the DLM asks &#8220;Do you want to try again?&#8221;. Yeah, right, as if that ever works. And indeed, retry fails in the same way.</p>
<p>For those of you in the same situation, there&#8217;s still a place to get the normal installer:<br />
As described in <a href="http://kb2.adobe.com/cps/191/tn_19166.html">this article from adobe</a>, you can download it <a href="http://fpdownload.adobe.com/get/flashplayer/current/install_flash_player.exe">HERE (other browser flash installer for windows)</a>.</p>
<p>Now please die adobe. Take your habbrokrat reader with you, and your picture crap, and flash, and all the rubbish software you create these days. What&#8217;s next, Adobe Anti-virus? Just stick to photoshop, thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/the-adobe-cancer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Gears 64 bits for Firefox 3.6 (64 bits) on Slackware 64</title>
		<link>http://notes.benv.junerules.com/all/software/google-gears-64-bits-for-firefox-3-6-64-bits-on-slackware-64/</link>
		<comments>http://notes.benv.junerules.com/all/software/google-gears-64-bits-for-firefox-3-6-64-bits-on-slackware-64/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 14:32:42 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[gears]]></category>
		<category><![CDATA[slackware]]></category>
		<category><![CDATA[x86_64]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=718</guid>
		<description><![CDATA[Yesterday Slackware64-current gave me Firefox 3.6. So far I&#8217;m happy to note that this broke more than half my addons, but that&#8217;s to be expected with that addon-hell. Wonder when they clean up that act and start including required stuff like firebug. Anyway, a while ago I built google gears for firefox 3.5. Since Google [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday Slackware64-current gave me Firefox 3.6. So far I&#8217;m happy to note that this broke more than half my addons, but that&#8217;s to be expected with that addon-hell.<br />
Wonder when they clean up that act and start including required stuff like firebug. Anyway, a while ago I built <a href="http://notes.benv.junerules.com/all/software/google-gears-on-slackware-64-and-firefox/">google gears for firefox 3.5</a>. Since Google is too incompetent to provide a 64 bit linux version, you have to do it yourself, which I did. However, with the Firefox 3.6 upgrade this addon also broke. <span id="more-718"></span></p>
<p>Last time I explained in detail the steps needed to build it on slackware 64. So I&#8217;ll only summarize and tell you about the new problems I ran into.<br />
First, install libnotify. The new xpcom stuff seems to require it.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">root<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #666666; font-style: italic;"># slackbuild.pl http://galago-project.org/files/releases/source/libnotify/libnotify-0.4.5.tar.bz2</span><br />
&nbsp;<span style="color: #000000; font-weight: bold;">&lt;</span>smash enter a few <span style="color: #7a0874; font-weight: bold;">times</span><span style="color: #000000; font-weight: bold;">&gt;</span>:q<span style="color: #000000; font-weight: bold;">&lt;</span><span style="color: #c20cb9; font-weight: bold;">more</span> enters<span style="color: #000000; font-weight: bold;">&gt;</span><br />
root<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #666666; font-style: italic;"># installpkg /usr/src/packages/libnotify-0.4.5-x86_64-1.tgz</span></div></div>
<p>How I love my <a href="http://notes.benv.junerules.com/slackbuild-pl/">slackbuild</a> sometimes <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Next, get the FF3.6 source and build the xpcom stuff:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src ; <span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #c20cb9; font-weight: bold;">ftp</span>:<span style="color: #000000; font-weight: bold;">//</span>ftp.mozilla.org<span style="color: #000000; font-weight: bold;">/</span>pub<span style="color: #000000; font-weight: bold;">/</span>mozilla.org<span style="color: #000000; font-weight: bold;">/</span>firefox<span style="color: #000000; font-weight: bold;">/</span>releases<span style="color: #000000; font-weight: bold;">/</span>latest<span style="color: #000000; font-weight: bold;">/</span>source<span style="color: #000000; font-weight: bold;">/</span>firefox-<span style="color: #000000;">3.6</span>.source.tar.bz2 ; <span style="color: #c20cb9; font-weight: bold;">tar</span> jxvf firefox-<span style="color: #000000;">3.6</span>.source.tar.bz2<br />
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mozilla-1.9.2 &nbsp;<span style="color: #666666; font-style: italic;"># dir name differs from tarball, idiots.</span><br />
.<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--prefix</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--enable-application</span>=xpcom<br />
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #660033;">-C</span> config<br />
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #660033;">-C</span> nsprpub<br />
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #660033;">-C</span> xpcom<br />
<span style="color: #c20cb9; font-weight: bold;">make</span> tools_tier_xpcom <span style="color: #c20cb9; font-weight: bold;">install</span></div></div>
<p>Finally, symlink the newly built xpcom tools over the google provided ones and build gears. I assume you can check out the google gears sources yourself, otherwise see my previous rant on this.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears<br />
<span style="color: #c20cb9; font-weight: bold;">svn</span> up<br />
<span style="color: #c20cb9; font-weight: bold;">make</span> clean<br />
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears<br />
<span style="color: #000000; font-weight: bold;">for</span> k <span style="color: #000000; font-weight: bold;">in</span> xpidl xpt_link xpt_dump regxpcom<br />
<span style="color: #000000; font-weight: bold;">do</span><br />
&nbsp; <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9.2<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$k</span><br />
&nbsp; <span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mozilla-1.9.2<span style="color: #000000; font-weight: bold;">/</span>dist<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$k</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9.2<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$k</span><br />
<span style="color: #000000; font-weight: bold;">done</span><br />
<span style="color: #000000; font-weight: bold;">for</span> k <span style="color: #000000; font-weight: bold;">in</span> libxpcom.so libnspr4.so libxpcomglue_s.a<br />
<span style="color: #000000; font-weight: bold;">do</span><br />
&nbsp; <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9.2<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>lib64 <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null<br />
&nbsp; <span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mozilla-1.9.2<span style="color: #000000; font-weight: bold;">/</span>dist<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$k</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9.2<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$k</span><br />
<span style="color: #000000; font-weight: bold;">done</span><br />
<span style="color: #666666; font-style: italic;"># Xul is also needed</span><br />
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<span style="color: #000000; font-weight: bold;">/</span>firefox-<span style="color: #000000;">3.6</span><span style="color: #000000; font-weight: bold;">/</span>libxul.so <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9.2<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>lib64<br />
<span style="color: #007800;">CPPFLAGS</span>=<span style="color: #ff0000;">&quot;-include /usr/include/stdio.h -include /usr/include/stdlib.h -include /usr/include/string.h -include /usr/include/limits.h -include /usr/include/pthread.h -D_XOPEN_SOURCE=600&quot;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">MODE</span>=opt <span style="color: #007800;">BROWSER</span>=FF36</div></div>
<p>If you&#8217;re wondering about the CPPFLAGS, if you skip this the thing will break down completely. THAT&#8217;s why intelligent people use a configure script for that shit. Too difficult for google I suppose.</p>
<p>Anyhow, now we still want a nice .xpi installer.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #007800;">CPPFLAGS</span>=<span style="color: #ff0000;">&quot;-include /usr/include/stdio.h -include /usr/include/stdlib.h -include /usr/include/string.h -include /usr/include/limits.h -include /usr/include/pthread.h -D_XOPEN_SOURCE=600&quot;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">MODE</span>=opt <span style="color: #007800;">BROWSER</span>=FF36 installers</div></div>
<p>Which barfs because some slut thought it also needed ff3(1) junk. Which I don&#8217;t agree with. So note that this breaks the .xpi for firefox ancient edition.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><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;">mkdir</span> <span style="color: #660033;">-p</span> &nbsp;bin-opt<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff31<span style="color: #000000; font-weight: bold;">/</span> bin-opt<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff3<br />
<span style="color: #c20cb9; font-weight: bold;">cp</span> bin-opt<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff36<span style="color: #000000; font-weight: bold;">/</span>libgears.so bin-opt<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff31<span style="color: #000000; font-weight: bold;">/</span>libgears.so<br />
<span style="color: #c20cb9; font-weight: bold;">cp</span> bin-opt<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff36<span style="color: #000000; font-weight: bold;">/</span>libgears.so bin-opt<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff3<span style="color: #000000; font-weight: bold;">/</span>libgears.so<br />
<span style="color: #007800;">CPPFLAGS</span>=<span style="color: #ff0000;">&quot;-include /usr/include/stdio.h -include /usr/include/stdlib.h -include /usr/include/string.h -include /usr/include/limits.h -include /usr/include/pthread.h -D_XOPEN_SOURCE=600&quot;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">MODE</span>=opt <span style="color: #007800;">BROWSER</span>=FF36 installers</div></div>
<p>Tada. Installer at <span style="color:#FF00FF">bin-opt/installers/gears-linux-x86_64-opt-0.5.34.0.xpi</span>.</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/google-gears-64-bits-for-firefox-3-6-64-bits-on-slackware-64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Gears on Slackware 64 and firefox</title>
		<link>http://notes.benv.junerules.com/all/software/google-gears-on-slackware-64-and-firefox/</link>
		<comments>http://notes.benv.junerules.com/all/software/google-gears-on-slackware-64-and-firefox/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 21:05:41 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[gears]]></category>
		<category><![CDATA[slackware]]></category>
		<category><![CDATA[x86_64]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=646</guid>
		<description><![CDATA[Don&#8217;t ask me why, but for some greasemonkey script that I wanted to run in Firefox I needed Google Gears. So I went to the gears site with Firefox, and it told me that it needed to install some plugin. Yeah, whatever. I hit the big Install Gears button, completely ignoring the tiny and almost [...]]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t ask me why, but for some greasemonkey script that I wanted to run in Firefox I needed <a href="http://gears.google.com/">Google Gears</a>.<br />
So I went to the gears site with Firefox, and it told me that it needed to install some plugin. Yeah, whatever.<br />
I hit the big <span style="color:#3333FF">Install Gears</span> button, completely ignoring the tiny and almost invisible for my eyes <span style="font-size: 1px; color:#333333">32-bit OS (64-bit not supported)</span> notice below it.<br />
Needless to say it went on to download a 3.5Mb package, started some popups and other junk after which it notified me of my grave mistake.<br />
Aha. So for some reason Google is too incompetent to work with 64 bits software&#8230;. even microsoft can deal with that these days guys, geesh.<span id="more-646"></span></p>
<p>So not wanting to give up immediately I decided to google for it a bit, and noticed that the Pokemon OS guys do have a gears version for their 64 bit <a href="http://packages.ubuntu.com/karmic/gears">Karmic</a> and <a href="http://packages.ubuntu.com/lucid/gears">Lucid</a> releases. Well, that must mean it&#8217;s possible! I took a quick look at their .deb file and didn&#8217;t see anything shocking, so I decided to try and build gears from svn.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src$ <span style="color: #c20cb9; font-weight: bold;">svn</span> checkout http:<span style="color: #000000; font-weight: bold;">//</span>gears.googlecode.com<span style="color: #000000; font-weight: bold;">/</span>svn<span style="color: #000000; font-weight: bold;">/</span>trunk<span style="color: #000000; font-weight: bold;">/</span> google-gears-svn<br />
&nbsp;<span style="color: #666666; font-style: italic;"># A bunch of files get leeched here... Note that this was revision 3414.</span><br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src$ <span style="color: #7a0874; font-weight: bold;">cd</span> google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears$ <span style="color: #c20cb9; font-weight: bold;">make</span><br />
&nbsp;<span style="color: #666666; font-style: italic;"># blabalbla until we hit:</span><br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>xpidl <span style="color: #660033;">-I</span> ..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>idl <span style="color: #660033;">-I</span> ..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9 <span style="color: #660033;">-m</span> header <span style="color: #660033;">-o</span> bin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff3<span style="color: #000000; font-weight: bold;">/</span>genfiles<span style="color: #000000; font-weight: bold;">/</span>interfaces base<span style="color: #000000; font-weight: bold;">/</span>firefox<span style="color: #000000; font-weight: bold;">/</span>interfaces.idl<br />
<span style="color: #c20cb9; font-weight: bold;">make</span><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>: ..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>xpidl: Command not found<br />
<span style="color: #c20cb9; font-weight: bold;">make</span><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>: <span style="color: #000000; font-weight: bold;">***</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>bin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff3<span style="color: #000000; font-weight: bold;">/</span>genfiles<span style="color: #000000; font-weight: bold;">/</span>interfaces.h<span style="color: #7a0874; font-weight: bold;">&#93;</span> Error <span style="color: #000000;">127</span><br />
<span style="color: #c20cb9; font-weight: bold;">make</span>: <span style="color: #000000; font-weight: bold;">***</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>default<span style="color: #7a0874; font-weight: bold;">&#93;</span> Error <span style="color: #000000;">2</span></div></div>
<p>Command not found? huh?</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~$ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-la</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>xpidl<br />
<span style="color: #660033;">-rwxr-xr-x</span> <span style="color: #000000;">1</span> benv <span style="color: #c20cb9; font-weight: bold;">users</span> <span style="color: #000000;">80542</span> <span style="color: #000000;">2009</span>-<span style="color: #000000;">12</span>-<span style="color: #000000;">14</span> <span style="color: #000000;">17</span>:<span style="color: #000000;">26</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>xpidl<span style="color: #000000; font-weight: bold;">*</span></div></div>
<p>It&#8217;s right there&#8230;. ohhh, probably a 32 bit issue.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~$ <span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>xpidl<br />
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>xpidl: ELF <span style="color: #000000;">32</span>-bit LSB executable, Intel <span style="color: #000000;">80386</span>, version <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>SYSV<span style="color: #7a0874; font-weight: bold;">&#41;</span>, dynamically linked <span style="color: #7a0874; font-weight: bold;">&#40;</span>uses shared libs<span style="color: #7a0874; font-weight: bold;">&#41;</span>, not stripped</div></div>
<p>So maybe THAT&#8217;s why they&#8217;re incompetent (read: lazy). Let&#8217;s see if we can get xipdl in a way that doesn&#8217;t need ancient 32 bit rubbish <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Mozilla has some stuff about that tool <a href="https://developer.mozilla.org/en/XPIDL/xpidl">here</a>. However, actually finding the download link for the source of that tool is challenging.<br />
I&#8217;ll save you the trouble, you can get it here: <a href="ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/latest/source">ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/latest/source/</a>. Be aware, it&#8217;s a whopping 45MB download. That&#8217;s right, in the firefox sources.<br />
Let&#8217;s see if it compiles:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src$ <span style="color: #c20cb9; font-weight: bold;">tar</span> jxvf firefox-3.5.5.source.tar.bz2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp;<span style="color: #666666; font-style: italic;"># loads of mozilla</span><br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src$ <span style="color: #7a0874; font-weight: bold;">cd</span> mozilla-1.9.1 <span style="color: #666666; font-style: italic;"># What the heck, either rename your tarball or your dir... oh well</span><br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mozilla-1.9.1$ .<span style="color: #000000; font-weight: bold;">/</span>configure <span style="color: #660033;">--prefix</span>=<span style="color: #000000; font-weight: bold;">/</span>usr <span style="color: #660033;">--enable-application</span>=xpcom<br />
&nbsp;<span style="color: #666666; font-style: italic;"># heaps of output</span><br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mozilla-1.9.1$ <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #660033;">-C</span> config<br />
&nbsp;<span style="color: #666666; font-style: italic;"># junk junk</span><br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mozilla-1.9.1$ <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #660033;">-C</span> nsprpub<br />
&nbsp;<span style="color: #666666; font-style: italic;"># even more landfill</span><br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mozilla-1.9.1$ <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #660033;">-C</span> xpcom<span style="color: #000000; font-weight: bold;">/</span>typelib<br />
&nbsp;<span style="color: #666666; font-style: italic;"># finally something useful</span></div></div>
<p>After this we finally have a working xpidl executable that is actually 64 bits.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mozilla-1.9.1$ <span style="color: #c20cb9; font-weight: bold;">file</span> xpcom<span style="color: #000000; font-weight: bold;">/</span>typelib<span style="color: #000000; font-weight: bold;">/</span>xpidl<span style="color: #000000; font-weight: bold;">/</span>xpidl &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
xpcom<span style="color: #000000; font-weight: bold;">/</span>typelib<span style="color: #000000; font-weight: bold;">/</span>xpidl<span style="color: #000000; font-weight: bold;">/</span>xpidl: ELF <span style="color: #000000;">64</span>-bit LSB executable, x86-<span style="color: #000000;">64</span>, version <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>SYSV<span style="color: #7a0874; font-weight: bold;">&#41;</span>, dynamically linked <span style="color: #7a0874; font-weight: bold;">&#40;</span>uses shared libs<span style="color: #7a0874; font-weight: bold;">&#41;</span>, not stripped</div></div>
<p>Back to GEARS! The easiest way I could determine to get it to work was replacing their xipdl with our new version. I&#8217;m sure there&#8217;s an easier way through setting an environment variable or something, but I got tired of their Makefile includes and third party libraries before I could work that out. The easy way:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:~$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears$ <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-sf</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mozilla-1.9.1<span style="color: #000000; font-weight: bold;">/</span>xpcom<span style="color: #000000; font-weight: bold;">/</span>typelib<span style="color: #000000; font-weight: bold;">/</span>xpidl<span style="color: #000000; font-weight: bold;">/</span>xpidl <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9.1<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>xpidl<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears$ <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-sf</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mozilla-1.9.1<span style="color: #000000; font-weight: bold;">/</span>xpcom<span style="color: #000000; font-weight: bold;">/</span>typelib<span style="color: #000000; font-weight: bold;">/</span>xpt<span style="color: #000000; font-weight: bold;">/</span>tools<span style="color: #000000; font-weight: bold;">/</span>xpt_link <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9.1<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>xpt_link<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears$ <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-sf</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mozilla-1.9.1<span style="color: #000000; font-weight: bold;">/</span>xpcom<span style="color: #000000; font-weight: bold;">/</span>typelib<span style="color: #000000; font-weight: bold;">/</span>xpt<span style="color: #000000; font-weight: bold;">/</span>tools<span style="color: #000000; font-weight: bold;">/</span>xpt_dump <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9.1<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>xpt_dump<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears$ <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">BROWSER</span>=FF31<br />
&nbsp;<span style="color: #666666; font-style: italic;"># Make now passes the xipdl test. Next error:</span><br />
<span style="color: #c20cb9; font-weight: bold;">g++</span> -I.. -Ibin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff31 -Ibin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>common -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>npapi -I..<span style="color: #000000; font-weight: bold;">/</span>third_party -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>icu38<span style="color: #000000; font-weight: bold;">/</span>public<span style="color: #000000; font-weight: bold;">/</span>common -DPNG_USER_CONFIG -DCHROME_PNG_WRITE_SUPPORT -DGEARS_PNG_BUILD &nbsp;-I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>zlib -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>skia<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>core -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>skia<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>images -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>skia<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>utils -DNO_GZIP -DNO_GZCOMPRESS <span style="color: #660033;">-DLINUX</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>gtk-<span style="color: #000000;">2.0</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>atk-<span style="color: #000000;">1.0</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>glib-<span style="color: #000000;">2.0</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>pango-<span style="color: #000000;">1.0</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>cairo -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>gtk-<span style="color: #000000;">2.0</span><span style="color: #000000; font-weight: bold;">/</span>include -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>glib-<span style="color: #000000;">2.0</span><span style="color: #000000; font-weight: bold;">/</span>include &nbsp;<span style="color: #660033;">-DDEBUG</span>=<span style="color: #000000;">1</span> -DUSING_CCTESTS=<span style="color: #000000;">1</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtest<span style="color: #000000; font-weight: bold;">/</span>include -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtest <span style="color: #660033;">-c</span> <span style="color: #660033;">-o</span> bin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>common<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>url_parse.o <span style="color: #660033;">-fPIC</span> <span style="color: #660033;">-fmessage-length</span>=<span style="color: #000000;">0</span> <span style="color: #660033;">-Wall</span> <span style="color: #660033;">-Werror</span> <span style="color: #660033;">-g</span> <span style="color: #660033;">-O0</span> <span style="color: #660033;">-fshort-wchar</span> <span style="color: #660033;">-fno-exceptions</span> <span style="color: #660033;">-fno-rtti</span> <span style="color: #660033;">-Wno-non-virtual-dtor</span> <span style="color: #660033;">-Wno-ctor-dtor-privacy</span> <span style="color: #660033;">-funsigned-char</span> <span style="color: #660033;">-Wno-char-subscripts</span> &nbsp; ..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>url_parse.cc<br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>url_parse.cc: In <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #ff0000;">'int url_parse::&lt;unnamed&gt;::DoParsePort(const CHAR*, const url_parse::Component&amp;)'</span>:<br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>url_parse.cc:<span style="color: #000000;">479</span>: error: there are no arguments to <span style="color: #ff0000;">'atoi'</span> that depend on a template parameter, so a declaration of <span style="color: #ff0000;">'atoi'</span> must be available<br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>url_parse.cc:<span style="color: #000000;">479</span>: error: <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000; font-weight: bold;">if</span> you use <span style="color: #ff0000;">'-fpermissive'</span>, G++ will accept your code, but allowing the use of an undeclared name is deprecated<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>url_parse.cc: In <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #ff0000;">'int url_parse::&lt;unnamed&gt;::DoParsePort(const CHAR*, const url_parse::Component&amp;) [with CHAR = char]'</span>:<br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>url_parse.cc:<span style="color: #000000;">674</span>: &nbsp; instantiated from here<br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>url_parse.cc:<span style="color: #000000;">479</span>: error: <span style="color: #ff0000;">'atoi'</span> was not declared <span style="color: #000000; font-weight: bold;">in</span> this scope<br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>url_parse.cc: In <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #ff0000;">'int url_parse::&lt;unnamed&gt;::DoParsePort(const CHAR*, const url_parse::Component&amp;) [with CHAR = url_parse::UTF16Char]'</span>:<br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>url_parse.cc:<span style="color: #000000;">678</span>: &nbsp; instantiated from here<br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>url_parse.cc:<span style="color: #000000;">479</span>: error: <span style="color: #ff0000;">'atoi'</span> was not declared <span style="color: #000000; font-weight: bold;">in</span> this scope<br />
<span style="color: #c20cb9; font-weight: bold;">make</span><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>: <span style="color: #000000; font-weight: bold;">***</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>bin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>common<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>url_parse.o<span style="color: #7a0874; font-weight: bold;">&#93;</span> Error <span style="color: #000000;">1</span><br />
<span style="color: #c20cb9; font-weight: bold;">make</span>: <span style="color: #000000; font-weight: bold;">***</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>default<span style="color: #7a0874; font-weight: bold;">&#93;</span> Error <span style="color: #000000;">2</span></div></div>
<p>Ghoooh, idiots. Maybe they should invest in a configure script or something. After messing with environment variables for a while, I decided that their Makefiles are about as kanker as their effort of giving us a 64 bit package in the first place.  I would expect to be able to set <code class="codecolorer bash vibrant"><span class="bash"><span style="color: #007800;">CXXFLAGS</span>=<span style="color: #ff0000;">&quot;-include /usr/include/stdlib.h&quot;</span></span></code>, but that was completely ignored. CPPFLAGS did seem to work however. Since another file missed another include, I added that as well.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears$ <span style="color: #007800;">CPPFLAGS</span>=<span style="color: #ff0000;">&quot;-include /usr/include/stdlib.h -include /usr/include/string.h -include /usr/include/limits.h&quot;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">BROWSER</span>=FF31<br />
&nbsp;<span style="color: #666666; font-style: italic;"># Onto the next error</span><br />
<span style="color: #c20cb9; font-weight: bold;">g++</span> <span style="color: #660033;">-include</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>stdlib.h <span style="color: #660033;">-include</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>string.h <span style="color: #660033;">-include</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>limits.h -I.. <span style="color: #660033;">-I</span> -Ibin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>common -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>npapi -I..<span style="color: #000000; font-weight: bold;">/</span>third_party -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>icu38<span style="color: #000000; font-weight: bold;">/</span>public<span style="color: #000000; font-weight: bold;">/</span>common -DPNG_USER_CONFIG -DCHROME_PNG_WRITE_SUPPORT -DGEARS_PNG_BUILD &nbsp;-I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>zlib -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>skia<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>core -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>skia<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>images -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>skia<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>utils -DNO_GZIP -DNO_GZCOMPRESS <span style="color: #660033;">-DLINUX</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>gtk-<span style="color: #000000;">2.0</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>atk-<span style="color: #000000;">1.0</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>glib-<span style="color: #000000;">2.0</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>pango-<span style="color: #000000;">1.0</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>cairo -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>gtk-<span style="color: #000000;">2.0</span><span style="color: #000000; font-weight: bold;">/</span>include -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>glib-<span style="color: #000000;">2.0</span><span style="color: #000000; font-weight: bold;">/</span>include &nbsp;<span style="color: #660033;">-DDEBUG</span>=<span style="color: #000000;">1</span> -DUSING_CCTESTS=<span style="color: #000000;">1</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtest<span style="color: #000000; font-weight: bold;">/</span>include -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtest -I.. -Ibin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff3 -Ibin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>common -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>npapi -I..<span style="color: #000000; font-weight: bold;">/</span>third_party -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>googleurl -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>icu38<span style="color: #000000; font-weight: bold;">/</span>public<span style="color: #000000; font-weight: bold;">/</span>common -DPNG_USER_CONFIG -DCHROME_PNG_WRITE_SUPPORT -DGEARS_PNG_BUILD &nbsp;-I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>zlib -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>skia<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>core -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>skia<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>images -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>skia<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>utils -DNO_GZIP -DNO_GZCOMPRESS <span style="color: #660033;">-DLINUX</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>gtk-<span style="color: #000000;">2.0</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>atk-<span style="color: #000000;">1.0</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>glib-<span style="color: #000000;">2.0</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>pango-<span style="color: #000000;">1.0</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>include<span style="color: #000000; font-weight: bold;">/</span>cairo -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>gtk-<span style="color: #000000;">2.0</span><span style="color: #000000; font-weight: bold;">/</span>include -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtk<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>glib-<span style="color: #000000;">2.0</span><span style="color: #000000; font-weight: bold;">/</span>include &nbsp;<span style="color: #660033;">-DDEBUG</span>=<span style="color: #000000;">1</span> -DUSING_CCTESTS=<span style="color: #000000;">1</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtest<span style="color: #000000; font-weight: bold;">/</span>include -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gtest <span style="color: #660033;">-c</span> <span style="color: #660033;">-o</span> bin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff3<span style="color: #000000; font-weight: bold;">/</span>module.o <span style="color: #660033;">-fPIC</span> <span style="color: #660033;">-fmessage-length</span>=<span style="color: #000000;">0</span> <span style="color: #660033;">-Wall</span> <span style="color: #660033;">-Werror</span> <span style="color: #660033;">-g</span> <span style="color: #660033;">-O0</span> <span style="color: #660033;">-fshort-wchar</span> <span style="color: #660033;">-fno-exceptions</span> <span style="color: #660033;">-fno-rtti</span> <span style="color: #660033;">-Wno-non-virtual-dtor</span> <span style="color: #660033;">-Wno-ctor-dtor-privacy</span> <span style="color: #660033;">-funsigned-char</span> <span style="color: #660033;">-Wno-char-subscripts</span> -DBROWSER_FF3=<span style="color: #000000;">1</span> -DJS_THREADSAFE -DBROWSER_FF=<span style="color: #000000;">1</span> -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9 -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9<span style="color: #000000; font-weight: bold;">/</span>linux -I..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>gecko_1.9<span style="color: #000000; font-weight: bold;">/</span>linux<span style="color: #000000; font-weight: bold;">/</span>gecko_sdk<span style="color: #000000; font-weight: bold;">/</span>include -DMOZILLA_STRICT_API &nbsp;base<span style="color: #000000; font-weight: bold;">/</span>firefox<span style="color: #000000; font-weight: bold;">/</span>module.cc<br />
In <span style="color: #c20cb9; font-weight: bold;">file</span> included from ..<span style="color: #000000; font-weight: bold;">/</span>gears<span style="color: #000000; font-weight: bold;">/</span>factory<span style="color: #000000; font-weight: bold;">/</span>factory_ff.h:<span style="color: #000000;">29</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;from base<span style="color: #000000; font-weight: bold;">/</span>firefox<span style="color: #000000; font-weight: bold;">/</span>module.cc:<span style="color: #000000;">46</span>:<br />
bin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff31<span style="color: #000000; font-weight: bold;">/</span>genfiles<span style="color: #000000; font-weight: bold;">/</span>interfaces.h:<span style="color: #000000;">33</span>: error: expected <span style="color: #ff0000;">','</span> or <span style="color: #ff0000;">'...'</span> before <span style="color: #ff0000;">'NS_OUTPARAM'</span><br />
bin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff31<span style="color: #000000; font-weight: bold;">/</span>genfiles<span style="color: #000000; font-weight: bold;">/</span>interfaces.h:<span style="color: #000000;">106</span>: error: expected <span style="color: #ff0000;">','</span> or <span style="color: #ff0000;">'...'</span> before <span style="color: #ff0000;">'NS_OUTPARAM'</span><br />
bin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff31<span style="color: #000000; font-weight: bold;">/</span>genfiles<span style="color: #000000; font-weight: bold;">/</span>interfaces.h:<span style="color: #000000;">109</span>: error: expected <span style="color: #ff0000;">','</span> or <span style="color: #ff0000;">'...'</span> before <span style="color: #ff0000;">'NS_OUTPARAM'</span><br />
bin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff31<span style="color: #000000; font-weight: bold;">/</span>genfiles<span style="color: #000000; font-weight: bold;">/</span>interfaces.h:<span style="color: #000000;">112</span>: error: expected <span style="color: #ff0000;">','</span> or <span style="color: #ff0000;">'...'</span> before <span style="color: #ff0000;">'NS_OUTPARAM'</span><br />
<span style="color: #c20cb9; font-weight: bold;">make</span><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>: <span style="color: #000000; font-weight: bold;">***</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>bin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff31<span style="color: #000000; font-weight: bold;">/</span>module.o<span style="color: #7a0874; font-weight: bold;">&#93;</span> Error <span style="color: #000000;">1</span><br />
<span style="color: #c20cb9; font-weight: bold;">make</span>: <span style="color: #000000; font-weight: bold;">***</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>default<span style="color: #7a0874; font-weight: bold;">&#93;</span> Error <span style="color: #000000;">2</span></div></div>
<p>RAAAH, this keeps getting better and better. This fix was simple enough, simply edit that header file and remove all occurances of &#8216;NS_OUTPARAM&#8217;, whatever the heck that might be:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears$ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-ie</span> <span style="color: #ff0000;">'s/NS_OUTPARAM//g'</span> bin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff3<span style="color: #000000; font-weight: bold;">/</span>genfiles<span style="color: #000000; font-weight: bold;">/</span>interfaces.h<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears$ <span style="color: #007800;">CPPFLAGS</span>=<span style="color: #ff0000;">&quot;-include /usr/include/stdlib.h -include /usr/include/string.h -include /usr/include/limits.h&quot;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">BROWSER</span>=FF31<br />
&nbsp;<span style="color: #666666; font-style: italic;"># And it goes on</span><br />
cc1plus: warnings being treated <span style="color: #c20cb9; font-weight: bold;">as</span> errors<br />
desktop<span style="color: #000000; font-weight: bold;">/</span>desktop.cc: In member <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #ff0000;">'bool Desktop::ValidateShortcutInfo(Desktop::ShortcutInfo*, bool)'</span>:<br />
desktop<span style="color: #000000; font-weight: bold;">/</span>desktop.cc:<span style="color: #000000;">222</span>: error: suggest parentheses around <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> within <span style="color: #000000; font-weight: bold;">||</span><br />
desktop<span style="color: #000000; font-weight: bold;">/</span>desktop.cc:<span style="color: #000000;">224</span>: error: suggest parentheses around <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> within <span style="color: #000000; font-weight: bold;">||</span><br />
desktop<span style="color: #000000; font-weight: bold;">/</span>desktop.cc:<span style="color: #000000;">226</span>: error: suggest parentheses around <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> within <span style="color: #000000; font-weight: bold;">||</span><br />
<span style="color: #c20cb9; font-weight: bold;">make</span><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>: <span style="color: #000000; font-weight: bold;">***</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>bin-dbg<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>ff31<span style="color: #000000; font-weight: bold;">/</span>desktop.o<span style="color: #7a0874; font-weight: bold;">&#93;</span> Error <span style="color: #000000;">1</span></div></div>
<p>Aha, they request warnings to be error by default. Seems like running it with MODE=opt fixes this issue.</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears$ <span style="color: #007800;">CPPFLAGS</span>=<span style="color: #ff0000;">&quot;-include /usr/include/stdlib.h -include /usr/include/string.h -include /usr/include/limits.h&quot;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">MODE</span>=opt <span style="color: #007800;">BROWSER</span>=FF31<br />
&nbsp;<span style="color: #666666; font-style: italic;"># Ha, but even this fails</span><br />
cc1: warnings being treated <span style="color: #c20cb9; font-weight: bold;">as</span> errors<br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>sqlite_google<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mutex_unix.c: In <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #ff0000;">'pthreadMutexAlloc'</span>:<br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>sqlite_google<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mutex_unix.c:<span style="color: #000000;">142</span>: error: implicit declaration of <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #ff0000;">'pthread_mutexattr_settype'</span><br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>sqlite_google<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mutex_unix.c:<span style="color: #000000;">142</span>: error: <span style="color: #ff0000;">'PTHREAD_MUTEX_RECURSIVE'</span> undeclared <span style="color: #7a0874; font-weight: bold;">&#40;</span>first use <span style="color: #000000; font-weight: bold;">in</span> this <span style="color: #000000; font-weight: bold;">function</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>sqlite_google<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mutex_unix.c:<span style="color: #000000;">142</span>: error: <span style="color: #7a0874; font-weight: bold;">&#40;</span>Each undeclared identifier is reported only once<br />
..<span style="color: #000000; font-weight: bold;">/</span>third_party<span style="color: #000000; font-weight: bold;">/</span>sqlite_google<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>mutex_unix.c:<span style="color: #000000;">142</span>: error: <span style="color: #000000; font-weight: bold;">for</span> each <span style="color: #000000; font-weight: bold;">function</span> it appears in.<span style="color: #7a0874; font-weight: bold;">&#41;</span><br />
<span style="color: #c20cb9; font-weight: bold;">make</span><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>: <span style="color: #000000; font-weight: bold;">***</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>bin-opt<span style="color: #000000; font-weight: bold;">/</span>linux-x86_64<span style="color: #000000; font-weight: bold;">/</span>common<span style="color: #000000; font-weight: bold;">/</span>sqlite<span style="color: #000000; font-weight: bold;">/</span>mutex_unix.o<span style="color: #7a0874; font-weight: bold;">&#93;</span> Error <span style="color: #000000;">1</span><br />
<span style="color: #c20cb9; font-weight: bold;">make</span>: <span style="color: #000000; font-weight: bold;">***</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>default<span style="color: #7a0874; font-weight: bold;">&#93;</span> Error <span style="color: #000000;">2</span></div></div>
<p>GODQ@#($*@#*^%^&#038; STUPID &#8230; *tries to contain the daemon within* &#8230; *RAAAGE*. Another missing include&#8230;. *sigh*</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears$ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-ie</span> <span style="color: #ff0000;">'s/-Wall//g'</span> tools<span style="color: #000000; font-weight: bold;">/</span>config.mk<br />
benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears$ <span style="color: #007800;">CPPFLAGS</span>=<span style="color: #ff0000;">&quot;-include /usr/include/stdlib.h -include /usr/include/string.h -include /usr/include/limits.h -include /usr/include/pthread.h -D_XOPEN_SOURCE=600&quot;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">MODE</span>=opt <span style="color: #007800;">BROWSER</span>=FF31</div></div>
<p>Needless to say building an optimized version goes to another directory, so now you need to do the above NS_OUTPARAM thing again on the interfaces.h file in the bin-opt dir.<br />
Anyway, finally it compiled after messing with it for hours. Hopefully this log contains some useful info for you <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Last but not least, we still need to make an installer for it:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">benv<span style="color: #000000; font-weight: bold;">@</span>janeman:<span style="color: #000000; font-weight: bold;">/</span>us<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>google-gears-svn<span style="color: #000000; font-weight: bold;">/</span>gears$ <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #007800;">MODE</span>=opt <span style="color: #007800;">BROWSER</span>=FF31<br />
&nbsp;<span style="color: #666666; font-style: italic;"># some output here, nothing weird</span></div></div>
<p>Finally we end up with a <span style="color:#FF00FF">bin-opt/installers/gears-linux-x86_64-opt-0.5.34.0.xpi</span> that we can install in firefox. Phew.</p>
<p>Now what was I doing that needed gears anyway? &#8230; can&#8217;t remember. Feh.<br />
<div id="attachment_663" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/12/gears-working.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/12/gears-working-300x147.png" alt="Gears and Firefox 3.5.5 on Slackware 64" title="Gears and Firefox 3.5.5 on Slackware 64" width="300" height="147" class="size-medium wp-image-663" /></a><p class="wp-caption-text">Gears and Firefox 3.5.5 on Slackware 64</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/google-gears-on-slackware-64-and-firefox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Javascript WTF</title>
		<link>http://notes.benv.junerules.com/all/fun/javascript-wtf/</link>
		<comments>http://notes.benv.junerules.com/all/fun/javascript-wtf/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 13:35:34 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[opera]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=611</guid>
		<description><![CDATA[Last week at work we ran into this gem (click on the image to get it full screen): For reasons unknown to us, this piece of code acts very strange. First it evaluates selected == index which it considered to be false. (outlined in green in the image) So far so good. However, what it [...]]]></description>
			<content:encoded><![CDATA[<p>Last week at work we ran into this gem (click on the image to get it full screen):<br />
<div id="attachment_612" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/11/firebug-wtf.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/11/firebug-wtf-300x80.png" alt="Javascript wtf in firebug" title="Javascript wtf in firebug" width="300" height="80" class="size-medium wp-image-612" /></a><p class="wp-caption-text">Javascript wtf in firebug</p></div><span id="more-611"></span></p>
<p>For reasons unknown to us, this piece of code acts very strange. First it evaluates <code class="codecolorer javascript vibrant"><span class="javascript">selected <span style="color: #339933;">==</span> index</span></code> which it considered to be false. (outlined in green in the image) So far so good. However, what it does next is a real WTF.<br />
<span style="color:#FF00FF">Can someone explain to us why this code runs INTO the if statement?</span><br />
The <code class="codecolorer php vibrant"><span class="php"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> whatever <span style="color: #009900;">&#125;</span></span></code> part?<br />
Personally I&#8217;d expect the code to jump over the if block, since that&#8217;s what if statement are for. Skipping code unless the evaluation is true.<br />
Or explained a lot better <a href="http://en.wikipedia.org/wiki/Conditional_(programming)">on wikipedia</a>. However, what happens is that <em>whatever</em> is actually <em>executed</em>.</p>
<p>So after carefully inspecting this piece of code and saying obscene stuff, minds boggled, trying to find that hidden semicolon or whatever, we couldn&#8217;t find it. Maybe a browser bug? But both <a href="http://www.opera.com/">Opera</a> (version 10.10) and <a href="http://www.mozilla.com/firefox/">Firefox</a> (version 3.5.5) failed in the same way.<br />
Maybe some magic with jQuery? Whatever it is, it remains a mystery to us.</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/fun/javascript-wtf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
