<?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; autoconf</title>
	<atom:link href="http://notes.benv.junerules.com/tag/autoconf/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>Awesome</title>
		<link>http://notes.benv.junerules.com/all/software/awesome/</link>
		<comments>http://notes.benv.junerules.com/all/software/awesome/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 15:27:57 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[autoconf]]></category>
		<category><![CDATA[awesome]]></category>
		<category><![CDATA[slackware]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=725</guid>
		<description><![CDATA[So every once in a while you have to mess around a bit with new stuff. Window managers for example. I&#8217;m quite happy with Fluxbox (been using it since I started with linux), but it&#8217;s nice to see something new once in a while. Especially since development on Fluxbox is kind of &#8230;. dead. Well, [...]]]></description>
			<content:encoded><![CDATA[<p>So every once in a while you have to mess around a bit with new stuff. Window managers for example.<br />
I&#8217;m quite happy with <a href="http://www.fluxbox.org/">Fluxbox</a> (been using it since I started with linux), but it&#8217;s nice to see something new once in a while. Especially since development on Fluxbox is kind of &#8230;. dead. Well, not completely, but there&#8217;s just not much to be added without totally changing the thing.<br />
My brother mentioned <a href="http://awesome.naquadah.org">Awesome</a> a few weeks ago, and during <a href="https://har2009.org/">HAR</a> last year it was also mentioned as something that I might like.<br />
Which means it&#8217;s time to check it out! <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <span id="more-725"></span></p>
<h3>First stop: the installation on Slackware 64. (you may skip this if you run some flavor of Pokemon OS <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ).</h3>
<p>As I mentioned in my previous rant, the developers of Awesome have decided that they&#8217;re complete and utter idiots. That is, they forced me through CMake, which usually fills me with anger. Fortunately they didn&#8217;t include Boost in the mix, so after some cursing it can be installed.<br />
In order to get Awesome 3.4.3 installed, I needed to:</p>
<ul>
<li>Upgrade my <span style="color:#FFFF00">xcb-proto</span> to version 1.6 ** (<a href="http://xcb.freedesktop.org/dist/xcb-proto-1.6.tar.gz">source</a>)</li>
<li>Upgrade my <span style="color:#FFFF00">libxcb</span> to version 1.5 ** (<a href="http://xcb.freedesktop.org/dist/libxcb-1.5.tar.bz2">source</a>)</li>
<li>Upgrade my <span style="color:#FFFF00">xcb-util</span> to version 0.3.6 ** (<a href="http://xcb.freedesktop.org/dist/xcb-util-0.3.6.tar.bz2">source</a>)</li>
<li>Install <span style="color:#FFFF00">libstartup-notification</span> version 0.10 or higher ** (<a href="http://www.freedesktop.org/software/startup-notification/releases/startup-notification-0.10.tar.gz">source</a>)</li>
<li>Install <span style="color:#FFFF00">libxdg-basedir</span> version 1.0.2 or higher ** (<a href="http://n.ethz.ch/~nevillm/download/libxdg-basedir/libxdg-basedir-latest.tar.gz">source</a>)</li>
<li>Install <span style="color:#FFFF00">libev</span> ** (<a href="http://dist.schmorp.de/libev/libev-3.9.tar.gz">source</a>)</li>
<li>** indicates that the whole &#8216;wget, tar, configure, make, makepkg&#8217; riddle works fine with my slackbuild.pl script</li>
</ul>
<p>That was pretty easy with slackbuild.pl. Note that you might have to recompile cairo to enable xcb support (it&#8217;s a configure flag that used to be disabled on Slackware). Mine didn&#8217;t need it though.<br />
Next is building Awesome. If you don&#8217;t want Awesome scattered all over /usr/local/share you might want to give CMake some hints. See my previous rant about setting this permanently.<br />
Today I used 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">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>awesome-3.4.2$ <span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">CMAKE_ARGS</span>=<span style="color: #ff0000;">&quot;-DCMAKE_INSTALL_PREFIX=/usr -DPREFIX=/usr -DAWESOME_DOC_PATH=/usr/share/doc/awesome -DAWESOME_MAN_PATH=/usr/share/man -DAWESOME_XSESSION_PATH=/usr/share/xsessions -DSYSCONFDIR=/etc -DXDG_CONFIG_HOME=/etc/xdg&quot;</span></div></div>
<p>After that, &#8216;make&#8217; should compile it properly, and you can use slackbuild.pl to make a package out of it. (or make DESTDIR=bla, makepkg yadieyada).</p>
<h3>Second stop: Testing Awesome</h3>
<p>I still like to type startx every time I booted my machine, so for me the thing to change was the file <span style="color:#FF00FF">~/.xinitrc</span>.<br />
Something like:</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: #666666; font-style: italic;"># No more fluxbox for now, we want to try Awesome!</span><br />
<span style="color: #666666; font-style: italic;"># exec /usr/bin/startfluxbox</span><br />
<span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>awesome</div></div>
<p>Kill your X and startx, and voila! The first error.<br />
<div id="attachment_734" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2010/02/awesome-setbg-segfault.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2010/02/awesome-setbg-segfault-300x27.png" alt="Awesome&#039;s first error!" title="Awesome&#039;s first error!" width="300" height="27" class="size-medium wp-image-734" /></a><p class="wp-caption-text">Awesome's first error!</p></div><br />
Well, that&#8217;s off to a good start. Apparently the wmsetbg program segfaulted on that image. Don&#8217;t ask me why, it works fine on another PNG. Probably some transparency or layer issue, dunno. Not important for now.</p>
<p>First impression: looks clean.<br />
A tiny menu bar / panel / whatever you want to call it that shows the running programs and the date.<br />
The default shortcut to do everything seems to be the windows button, or mod4. I&#8217;m not sure if I like this, since alt was already cramping my thumb every now and then <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
However, this can be changed, so no big deal. mod4-enter starts a console. Good. It&#8217;s fast too!<br />
Hitting mod4-enter a few times looks like this:<br />
<div id="attachment_736" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2010/02/57.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2010/02/57-300x187.png" alt="Awesome after hitting mod4-enter a bunch of times" title="Awesome after hitting mod4-enter a bunch of times" width="300" height="187" class="size-medium wp-image-736" /></a><p class="wp-caption-text">Awesome after hitting mod4-enter a bunch of times</p></div><br />
As you might be able to see if you try, the terminal windows are all tiled next to each other. Resizing with mod4 and right mouse also works. Or mod4-f for fullscreen&#8230; or mod4-m for maximize. Yup, I like it so far.</p>
<p>Needless to say there are tons of things to try out and customize, but you might want to check out <a href="http://awesome.naquadah.org/wiki/My_first_awesome">this guide</a> for starting out with awesome. I did <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Maybe it will even replace Fluxbox&#8230;. we&#8217;ll see. Time to mess around with it some more.<br />
Keep up the good work Awesome developers&#8230;. and switch to autoconf!</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/awesome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CMake issues</title>
		<link>http://notes.benv.junerules.com/all/software/cmake-issues/</link>
		<comments>http://notes.benv.junerules.com/all/software/cmake-issues/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 14:28:36 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[autoconf]]></category>
		<category><![CDATA[cmake]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=721</guid>
		<description><![CDATA[I can&#8217;t for the life of me begin to imagine why anyone would use cmake as an autoconf alternative. Actually, that&#8217;s a lie. I suppose when you&#8217;re too dumb to write an autoconf file (never heard of autoscan, etc), or perhaps when your system doesn&#8217;t support autoconf you might look at those alternatives. Personally I [...]]]></description>
			<content:encoded><![CDATA[<p>I can&#8217;t for the life of me begin to imagine why anyone would use cmake as an autoconf alternative.<span id="more-721"></span> Actually, that&#8217;s a lie.<br />
I suppose when you&#8217;re too dumb to write an autoconf file (never heard of autoscan, etc), or perhaps when your system doesn&#8217;t support autoconf you might look at those alternatives.<br />
Personally I rather see a dir with only a Makefile in that case, because those are easier to fix than cmake.<br />
However, if you DO run into a CMake fuckup, you can put this in your environment to give it a prefix etc.</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;">export</span> <span style="color: #007800;">CMAKE_ARGS</span>=<span style="color: #ff0000;">&quot;-DCMAKE_INSTALL_PREFIX=/usr -DPREFIX=/usr -DSYSCONFDIR=/etc&quot;</span></div></div>
<p>(put it in a file in /etc/profile.d to have it loaded all the time).<br />
Unfortunately this won&#8217;t save you from all CMake builds. For instance I just tried to build <a href="http://awesome.naquadah.org">Awesome</a> (messing around with a new window manager can be fun sometimes) but when I saw that they use CMake I almost aborted instantly. To make the installation use proper paths you would have to add this to the CMAKE_ARGS for instance:</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;">export</span> <span style="color: #007800;">CMAKE_ARGS</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$CMAKE_ARGS</span> -DAWESOME_DOC_PATH=/usr/share/doc/awesome -DAWESOME_MAN_PATH=/usr/share/man -DAWESOME_XSESSION_PATH=/usr/share/xsessions &nbsp; -DXDG_CONFIG_HOME=/etc/xdg&quot;</span></div></div>
<p>Ridiculous.</p>
<p>Anyhow, if I still feel like messing around it once it finally compiles I might talk about it later.</p>
<p>Did you know that <a href="http://www.itk.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F">CMake also fails to create an uninstall target</a>&#8230;. gah.<br />
Because oh dear, <em><span style="color:#FF00FF">it might remove useful files from the system</span></em>. NO SHIT SHERLOCK, WHY DO YOU THINK I WOULD WANT TO RUN AN UNINSTALL?!?!?!<br />
Fortunately it does support DESTDIR, so we can handle the uninstall through our package managers. Phew.</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/cmake-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Boost, qBitTorrent and lib64</title>
		<link>http://notes.benv.junerules.com/all/software/boost-qbittorrent-and-lib64/</link>
		<comments>http://notes.benv.junerules.com/all/software/boost-qbittorrent-and-lib64/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 16:13:06 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Morons]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[autoconf]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[slackware]]></category>
		<category><![CDATA[x86_64]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=354</guid>
		<description><![CDATA[After toying around a bit on the news sites I decided it would be interesting to see if qBitTorrent would run on slackware 64. So we go to the download site, copy the url, and see if Slackbuild likes it. Slackbuild leeches, untars, gives the configure options (which are a bit buggy, I know, will [...]]]></description>
			<content:encoded><![CDATA[<p>After toying around a bit on the news sites I decided it would be interesting to see if <a href="http://qbittorrent.sourceforge.net">qBitTorrent</a> would run on slackware 64.<br />
So we go to the download site, copy the url, and see if Slackbuild likes it. Slackbuild leeches, untars, gives the configure options (which are a bit buggy, I know, will be fixed next release), runs configure. Configure crashes out with &#8220;blabla boost blabla&#8221;.<span id="more-354"></span></p>
<p>Oh. <span style="color:#FF0000">Boost</span>&#8230;.. that time of the month. If there&#8217;s one piece of trash I&#8217;ve run into very often on my compilation expeditions&#8230;. it&#8217;s boost. What a cancer piece of trash that is. You wouldn&#8217;t believe the amount of cursing I&#8217;ve gone through on my trails through &#8220;build from source&#8221; land because of boost. It never works, and when it does it&#8217;s limping on. They should have called it &#8220;blast&#8221; instead.<br />
These days boost is in the official slackware repositories. You&#8217;d think that would help, since I can&#8217;t mess up the paths etc anymore. (compiling boost is another disaster btw, don&#8217;t go there unless you like torture). But noo, as usual the programs that use boost (&#8220;because we can&#8217;t code &#8482;&#8221;, or at least, that&#8217;s what I think) are so good at coding stuff themselves that they fail the autoconf for it as well. Prutsers. Well, to be honest, if they can&#8217;t code it themselves it&#8217;s probably smart to use a library that handles it for them&#8230;.. but boost? :/</p>
<p>Anyway, back to qBitTorrent. Actually, it&#8217;s <span style="color:#FF00FF">libtorrent-rasterbar</span> that&#8217;s failing. Attempt 1, configure with only a prefix and no other options:</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>tmp$ <span style="color: #666666; font-style: italic;"># ./configure --prefix=/usr</span><br />
&nbsp; <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #000000; font-weight: bold;">*</span>blabla<span style="color: #000000; font-weight: bold;">*</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
checking whether the Boost::System library is available... <span style="color: #c20cb9; font-weight: bold;">yes</span><br />
configure: error: unable to <span style="color: #c20cb9; font-weight: bold;">find</span> Boost.System library, currently this is required.</div></div>
<p>WHat?! Do you ahve Boost::System? Yes. I mean no!<br />
&#8230; seriously, who comes up with this shit&#8230;.<br />
So we dig into config.log and find:</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">configure:<span style="color: #000000;">21533</span>: checking whether the Boost::System library is available<br />
configure:<span style="color: #000000;">21567</span>: <span style="color: #c20cb9; font-weight: bold;">g++</span> <span style="color: #660033;">-c</span> <span style="color: #660033;">-g</span> <span style="color: #660033;">-O2</span> &nbsp;-I<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>include conftest.cpp <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">5</span><br />
configure:<span style="color: #000000;">21574</span>: <span style="color: #007800;">$?</span> = <span style="color: #000000;">0</span><br />
configure:<span style="color: #000000;">21597</span>: result: <span style="color: #c20cb9; font-weight: bold;">yes</span><br />
configure:<span style="color: #000000;">21865</span>: error: unable to <span style="color: #c20cb9; font-weight: bold;">find</span> Boost.System library, currently this is required.</div></div>
<p>Or in other words: nothing we didn&#8217;t already know. FUCK.<br />
Time for a trace.</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>tmp$ <span style="color: #c20cb9; font-weight: bold;">bash</span> <span style="color: #660033;">-x</span> .<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;">--with-ssl</span> <span style="color: #660033;">--with-boost-system</span>=boost_system <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">less</span><br />
&nbsp;<span style="color: #7a0874; font-weight: bold;">&#91;</span> shift-g, <span style="color: #7a0874; font-weight: bold;">wait</span>, search <span style="color: #000000; font-weight: bold;">for</span> Boost::System <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
++ <span style="color: #7a0874; font-weight: bold;">echo</span> -L<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<br />
++ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s/[^\/]*//'</span><br />
+ <span style="color: #007800;">BOOSTLIBDIR</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<br />
+ <span style="color: #007800;">LDFLAGS_SAVE</span>=<span style="color: #ff0000;">' -L/usr/lib'</span><br />
+ <span style="color: #7a0874; font-weight: bold;">test</span> x = x<br />
++ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #ff0000;">'/usr/lib/libboost_system*.so*'</span> <span style="color: #ff0000;">'/usr/lib/libboost_system*.a*'</span><br />
++ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s,.*/,,'</span><br />
++ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s;^lib\(boost_system.*\)\.so.*$;\1;'</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s;^lib\(boost_system.*\)\.a*$;\1;'</span><br />
+ <span style="color: #7a0874; font-weight: bold;">test</span> x <span style="color: #ff0000;">'!='</span> xyes<br />
++ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #ff0000;">'/usr/lib/boost_system*.dll*'</span> <span style="color: #ff0000;">'/usr/lib/boost_system*.a*'</span><br />
++ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s,.*/,,'</span><br />
++ <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s;^\(boost_system.*\)\.dll.*$;\1;'</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">'s;^\(boost_system.*\)\.a*$;\1;'</span><br />
+ <span style="color: #7a0874; font-weight: bold;">test</span> x = xno<br />
+ <span style="color: #007800;">CPPFLAGS</span>=<br />
+ <span style="color: #007800;">LDFLAGS</span>=<br />
+ <span style="color: #7a0874; font-weight: bold;">test</span> <span style="color: #660033;">-z</span> <span style="color: #ff0000;">''</span><br />
+ <span style="color: #7a0874; font-weight: bold;">printf</span> <span style="color: #ff0000;">'%s\n'</span> <span style="color: #ff0000;">'configure:21865: error: unable to find Boost.System library, currently this is required.'</span><br />
+ <span style="color: #7a0874; font-weight: bold;">printf</span> <span style="color: #ff0000;">'%s\n'</span> <span style="color: #ff0000;">'configure: error: unable to find Boost.System library, currently this is required.'</span><br />
configure: error: unable to <span style="color: #c20cb9; font-weight: bold;">find</span> Boost.System library, currently this is required.</div></div>
<p>&#8230;. <span style="color:#FFFF00">/usr/lib</span>? Says who? Not me, that&#8217;s for sure. idiots.<br />
In fact, I&#8217;m quite sure that it&#8217;s in <span style="color:#FFFF00">/usr/lib64</span>.</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>tmp$ &nbsp;<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>lib64<span style="color: #000000; font-weight: bold;">/</span>libboost_filesyste<span style="color: #000000; font-weight: bold;">*</span> <br />
<span style="color: #660033;">-rwxr-xr-x</span> <span style="color: #000000;">1</span> root root <span style="color: #000000;">83368</span> <span style="color: #000000;">2009</span>-08-<span style="color: #000000;">25</span> 04:<span style="color: #000000;">31</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>libboost_filesystem-mt.so<span style="color: #000000; font-weight: bold;">*</span><br />
<span style="color: #660033;">-rwxr-xr-x</span> <span style="color: #000000;">1</span> root root <span style="color: #000000;">83336</span> <span style="color: #000000;">2009</span>-08-<span style="color: #000000;">25</span> 04:<span style="color: #000000;">31</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>libboost_filesystem.so<span style="color: #000000; font-weight: bold;">*</span></div></div>
<p>Jup, as expected. Boost is kanker. Since boost doesn&#8217;t have the usual pkgconfig issues, we can only conclude that the reason is that either this configure.in was written by a moron, or that<br />
boost supplies invalid tests for finding itself through the autoconf system. I suspect the latter, but that&#8217;s just me <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>In this case the solution is simple, since the configure script has an override option. Wonder why&#8230; maybe they ran into boost idiocies before? <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
The solution:</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>tmp$ .<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;">--with-boost-libdir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64</div></div>
<p>This runs through configure, it finds the boost garbage and runs through. And guess what? It even compiles! <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The gist of this rant: autoconf is pretty useless if you make assumptions that autoconf is supposed to detect. If you write software, don&#8217;t assume this stuff, try to detect it.<br />
Also: when it fails, give me an error message that is useful, not some generic error code. &#8220;Library not found&#8221; vs &#8220;library not found because libblabla.so doesn&#8217;t exist in /usr/lib&#8221;.</p>
<p>About qbittorrent: it&#8217;s a cute little torrent client for linux. Especially if you like faily lightweight stuff that does has a gui. The thing I like about those lightweight clients: they&#8217;re fast.<br />
This one even has an RSS reader these days&#8230;. cute.<br />
Here&#8217;s a screenie:<br />
<div id="attachment_355" class="wp-caption alignnone" style="width: 310px"><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/09/qbittorrent-1.5.0.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/09/qbittorrent-1.5.0-300x184.png" alt="qbittorrent v1.5.0" title="qbittorrent-1.5.0" width="300" height="184" class="size-medium wp-image-355" /></a><p class="wp-caption-text">qbittorrent v1.5.0</p></div></p>
<p>So qBittorrent: keep up the good work, and get rid of boost <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/boost-qbittorrent-and-lib64/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secret Maryo Chronicles</title>
		<link>http://notes.benv.junerules.com/all/daily/secret-maryo-chronicles/</link>
		<comments>http://notes.benv.junerules.com/all/daily/secret-maryo-chronicles/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 22:13:35 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Boring]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[autoconf]]></category>
		<category><![CDATA[emulators]]></category>
		<category><![CDATA[gamepad]]></category>
		<category><![CDATA[mario]]></category>
		<category><![CDATA[slackware]]></category>
		<category><![CDATA[x86_64]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=261</guid>
		<description><![CDATA[So I was bored and went through the usual slashdot, kernel.org, freshmeat.net, etc. Once reading through the news on happypenguin.org I noticed it must be mario season or something. After checking the descriptions I decided to check out Super Mario^W^WSecret Maryo Chronicles. Needless to say I went for the source ball. Through my famous slackbuild [...]]]></description>
			<content:encoded><![CDATA[<p>So I was bored and went through the usual slashdot, kernel.org, freshmeat.net, etc.<br />
Once reading through the news on happypenguin.org I noticed it must be mario season or something.<br />
After checking the descriptions I decided to check out <a href="http://secretmaryo.org/" title="Secret Maryo Chronicles">Super Mario^W^WSecret Maryo Chronicles</a>.<br />
<span id="more-261"></span></p>
<p>Needless to say I went for the source ball. Through my famous <span style="color:#00FFFF">slackbuild script</span> of course!<br />
That went fine, until configure barfed about some <a href="http://www.cegui.org.uk/wiki/index.php/Main_Page">CEGUI</a> thing.<br />
<span style="color:#FF00FF">What&#8217;s a CEGUI thing?</span><br />
Apparently it&#8217;s some kind of windowing/widget library. Yeah, another one.<br />
So I ram it through slackbuild, which went fine as usual after I did a <code class="codecolorer text vibrant"><span class="text">make distclean</span></code> in the source dir. Some how the first build fucked up, don&#8217;t ask me why.<br />
Anyhow, I installed the <span style="color:#FF00FF">CEGUI</span> package and ran back to the smc source dir.<br />
Slackbuild had no other issues this time so out rolled a package. After installation I tried to run it.</p>
<p>Here&#8217;s what it said after my screen went black for about a second and came back:</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;">0</span><span style="color: #000000; font-weight: bold;">&gt;</span>smc<br />
CEGUI Scheme Exception occurred : Imageset::xmlHandler::startElement - An unexpected error occurred <span style="color: #000000; font-weight: bold;">while</span> creating a Texture object from <span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #ff0000;">'SMCLook512.png'</span></div></div>
<p>Yeah, that&#8217;s what I get for trusting yet another crap library with widgets. *<span style="color:#FF0033">sigh</span>*</p>
<p>However, I had just enough energy left to try one detour into bug/issue fixing land.<br />
Google came up with basically only 1 thing, so after trying my best to read some italian forum I trashed it back through google&#8217;s own translation service.<br />
Now that it was in dutch it was a bit more readable, it hinted about using the <span style="color:#00FF55">freeimage</span> library instead of the default TGA codec (which obviously failed).</p>
<p>Installing the <a href="http://freeimage.sourceforge.net/">freeimage library</a> was pretty trivial, although they don&#8217;t use autoconf so I had to go through their Makefiles manually.<br />
The first hint of trouble is usually when source packages come delivered in the famous <span style="color:#FF5500">.zip</span> format. Oh, sorry, I meant <b>.ZIP-EVERYTHING_IS_CAPS</b> format. Seriously, don&#8217;t get me started on how many times those kankerthings exploded in my /usr/src dir so far, completely splattering up everything there.<br />
Good thing I&#8217;m good with rm. Anyhow, this zip package was decent and created a dir (without version number though).<br />
After fiddling with the makefiles and building freeimage, I also build <span style="color:#FF5533">freeimage plus</span> and stashed it into a package with makepkg.<br />
Phew, sweat on my forehead. Hopefully slackbuild will be able to handle this some day&#8230;.. (dream on)</p>
<p>Back to <span style="color:#FF0000">CEGUI</span> &#8212; compiling it with the freeimage library went without problems, and after upgrading my previous CEGUI package it was finally time to retry SMC.<br />
By the way, did I note that all these packages compiled on x86_64? Good job on that one guys <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>This time the screen actually came up with some mario^H^Hyo like stuff! Just like the good old days with the <span style="color:#5500FF">SNES</span>! <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
It looked a bit like this:<br />
<a href="http://notes.benv.junerules.com/wp-content/uploads/2009/08/1.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/08/1-300x187.png" alt="1" title="1" width="300" height="187" class="aligncenter size-medium wp-image-262" /></a><br />
On the background the theme music played that reminded me quite a bit of the original snes game.</p>
<p>Messing around with it a bit I quickly got myself killed a few times and had some fun.<br />
<a href="http://notes.benv.junerules.com/wp-content/uploads/2009/08/2.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/08/2-300x187.png" alt="Super Maryo Chronicles (2)" title="Super Maryo Chronicles (2)" width="300" height="187" class="aligncenter size-medium wp-image-263" /></a></p>
<p>I soon realized that the SNES version had better controls, but then again&#8230; playing on a keyboard is kinda cramped for platform games.<br />
So I reconnected my Logitech Rumblepad 2 to see if it would work. Well, if works great <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Not a snes pad (the thing is a lot like the original playstation controller), but it played a hell of a lot better.</p>
<p><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/08/3.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/08/3-300x187.png" alt="Super Maryo Chronicles (3)" title="Super Maryo Chronicles (3)" width="300" height="187" class="aligncenter size-medium wp-image-264" /></a></p>
<p>Conclusion: if you&#8217;re feeling bored, give it a shot. Good for a bit of fun, and it has a level editor as well!<br />
(which can be seen in this impressive edit I made here <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://notes.benv.junerules.com/wp-content/uploads/2009/08/4.png"><img src="http://notes.benv.junerules.com/wp-content/uploads/2009/08/4-300x187.png" alt="Super Maryo Chronicles (level edit)" title="Super Maryo Chronicles (level edit)" width="300" height="187" class="aligncenter size-medium wp-image-265" /></a></p>
<p>Keep up the good work, <a href="http://secretmaryo.org/index.php?page=contact&#038;sid=?sid=">guys from SMC</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/daily/secret-maryo-chronicles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>configure/autoconf and paths</title>
		<link>http://notes.benv.junerules.com/all/software/configureautoconf-and-paths/</link>
		<comments>http://notes.benv.junerules.com/all/software/configureautoconf-and-paths/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 15:51:24 +0000</pubDate>
		<dc:creator>BenV</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[autoconf]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[siteconfig]]></category>
		<category><![CDATA[slackware]]></category>

		<guid isPermaLink="false">http://notes.benv.junerules.com/?p=231</guid>
		<description><![CDATA[Of course you&#8217;re already thrilled by my slackbuild.pl script, but this one thing keeps popping up. &#8220;How do I get configure to get my system paths right without giving it a line that&#8217;s 2389472389 arguments long?&#8221; Simple, install a site config. &#8220;A what?!&#8221; It&#8217;s a tiny little shell script that takes the configure options and [...]]]></description>
			<content:encoded><![CDATA[<p>Of course you&#8217;re already thrilled by my slackbuild.pl script, but this one thing keeps popping up.<br />
&#8220;<span style="color:#00FF00">How do I get configure to get my system paths right without giving it a line that&#8217;s 2389472389 arguments long?</span>&#8221;<br />
Simple, install a site config.<br />
&#8220;<span style="color:#00FF00">A what?!</span>&#8221;</p>
<p>It&#8217;s a tiny little shell script that takes the configure options and barfs out some prefixes and stuff based on the options presented to it.<br />
So when I tell it <code class="codecolorer text vibrant"><span class="text">prefix=/usr</span></code>, it will decide that <code class="codecolorer text vibrant"><span class="text">sysconfdir=/etc</span></code> instead of <code class="codecolorer text vibrant"><span class="text">sysconfdir=/usr/etc</span></code>.</p>
<p>You can get my my version here:<br />
<a href="http://notes.benv.junerules.com/wp-content/plugins/download-monitor/download.php?id=config.site" title="Downloaded 111 times">config.site</a> - Version 0.1 - SHA: </p>
<p>Now the important tidbit. In order for configure to automagically use this script, you wil need to set the environment variable <span style="color:#FF00FF">CONFIG_SITE</span>.<br />
Personally I do this through a profile file. Download the config.site script, put it in <span style="color:#FF4400">/etc</span> and put the profile file in <span style="color:#FF5511">/etc/profile.d</span>. Logout/login, done.<br />
Oh, here&#8217;s the profile file:<br />
<a href="http://notes.benv.junerules.com/wp-content/plugins/download-monitor/download.php?id=config_site.sh" title="Downloaded 93 times">config_site.sh</a> - Version 0.1 - SHA: 3a6145987d03811f274ace34f5d08738f266f131</p>
<p>Now if everything worked out allright, running configure should start with something like 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">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>coolprogram-<span style="color: #000000;">1.0</span>$ .<span style="color: #000000; font-weight: bold;">/</span>configure<br />
configure: loading site script <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>config.site<br />
<span style="color: #007800;">prefix</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<br />
<span style="color: #007800;">sysconfdir</span>=<span style="color: #000000; font-weight: bold;">/</span>etc<br />
<span style="color: #007800;">bindir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<br />
<span style="color: #007800;">sbindir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin<br />
<span style="color: #007800;">includedir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>include<br />
<span style="color: #007800;">libdir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib64<br />
<span style="color: #007800;">libexecdir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>libexec<br />
<span style="color: #007800;">datadir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<br />
<span style="color: #007800;">mandir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">man</span><br />
<span style="color: #007800;">infodir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>info<br />
<span style="color: #007800;">localstatedir</span>=<span style="color: #000000; font-weight: bold;">/</span>var<br />
<span style="color: #007800;">sharedstatedir</span>=<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>cache<br />
<span style="color: #007800;">lispdir</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>emacs<span style="color: #000000; font-weight: bold;">/</span>site-lisp</div></div>
<p>Wonderful isn&#8217;t it? <img src='http://notes.benv.junerules.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://notes.benv.junerules.com/all/software/configureautoconf-and-paths/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
