<?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"
	>

<channel>
	<title>Alasdair on Everything</title>
	<atom:link href="http://blogs.everycity.co.uk/alasdair/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.everycity.co.uk/alasdair</link>
	<description></description>
	<pubDate>Thu, 04 Mar 2010 14:40:44 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Installing the memcached Ruby Gem on Solaris</title>
		<link>http://blogs.everycity.co.uk/alasdair/2010/03/installing-the-memcached-ruby-gem-on-solaris/</link>
		<comments>http://blogs.everycity.co.uk/alasdair/2010/03/installing-the-memcached-ruby-gem-on-solaris/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 13:14:59 +0000</pubDate>
		<dc:creator>Alasdair</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.everycity.co.uk/alasdair/?p=243</guid>
		<description><![CDATA[Gosh this one was quite hard. I was getting errors such as:

rlibmemcached_wrap.c:2074: error: syntax error before ‘bool’
rlibmemcached_wrap.c: In function ‘SWIG_AsVal_bool’:
rlibmemcached_wrap.c:2076: error: ‘obj’ undeclared (first use in this function)
rlibmemcached_wrap.c:2076: error: (Each undeclared identifier is reported only once
rlibmemcached_wrap.c:2076: error: for each function it appears in.)
rlibmemcached_wrap.c:2077: error: ‘val’ undeclared (first use in this function)
rlibmemcached_wrap.c:2077: error: ‘true’ undeclared (first [...]]]></description>
			<content:encoded><![CDATA[<p>Gosh this one was quite hard. I was getting errors such as:</p>
<pre>
rlibmemcached_wrap.c:2074: error: syntax error before ‘bool’
rlibmemcached_wrap.c: In function ‘SWIG_AsVal_bool’:
rlibmemcached_wrap.c:2076: error: ‘obj’ undeclared (first use in this function)
rlibmemcached_wrap.c:2076: error: (Each undeclared identifier is reported only once
rlibmemcached_wrap.c:2076: error: for each function it appears in.)
rlibmemcached_wrap.c:2077: error: ‘val’ undeclared (first use in this function)
rlibmemcached_wrap.c:2077: error: ‘true’ undeclared (first use in this function)
rlibmemcached_wrap.c:2080: error: ‘false’ undeclared (first use in this function)
</pre>
<p>So to solve this I basically followed these <a href="http://blog.evanweaver.com/articles/2009/08/04/memcached-gem-release/">helpful instructions Nick Sellen</a>:</p>
<pre>
Nick Sellen says (January 27, 2010):

I had trouble installing it on my Solaris 10 with 32bit / gcc compiled ruby but managed it with a few modifications to extconf.rb:

1. added "--disable-64bit" to the libmemcached configure arguments
2. added "-std=gnu99" to CFLAGS (the rlibmemcached_wrap.c compilation was failing without that)
3. added an extra -R path for ext/lib - not sure if this was needed actually
4. recreated the rlibmemcached_wrap.c with swig (it removed a bunch of methods, not sure if this will bite me later)
5. added three extra libraries "-lnsl -lsocket -lposix4" to resolve a "symbol getaddrinfo: referenced symbol not found" relocation error with rlibmemcached.so (might only need libsocket)
</pre>
<p>You might also want to view the <a href="http://github.com/nicksellen/memcached/blob/master/ext/extconf.rb">extconf.rb</a> modifications directly.</p>
<p>The swig step basically involves downloading, compiling and installing swig to somewhere like /opt/swig, then doing &#8220;export SWIG=true&#8221; in your shell.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.everycity.co.uk/alasdair/2010/03/installing-the-memcached-ruby-gem-on-solaris/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Making Solaris SMF ignore core dumps in child processes</title>
		<link>http://blogs.everycity.co.uk/alasdair/2010/01/making-solaris-smf-ignore-core-dumps-in-child-processes/</link>
		<comments>http://blogs.everycity.co.uk/alasdair/2010/01/making-solaris-smf-ignore-core-dumps-in-child-processes/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 20:42:07 +0000</pubDate>
		<dc:creator>Alasdair</dc:creator>
		
		<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://blogs.everycity.co.uk/alasdair/?p=241</guid>
		<description><![CDATA[I can never ever remember how to do this and googling for it always takes ages, so I thought I&#8217;d jot it down here.
When Solaris SMF starts a process, it tracks that process and all its children. If any of those children coredump, SMF treats it as a failure and puts the state into maintenance [...]]]></description>
			<content:encoded><![CDATA[<p>I can never ever remember how to do this and googling for it always takes ages, so I thought I&#8217;d jot it down here.</p>
<p>When Solaris SMF starts a process, it tracks that process and all its children. If any of those children coredump, SMF treats it as a failure and puts the state into maintenance mode. Not terribly useful if you&#8217;re launching buggy software like FFMpeg.</p>
<p>The solution? Simple! Slap this in your SMF Manifest under the exec stop method:</p>
<pre>
<property_group name='startd' type='framework'>
                 <!-- sub-process core dumps shouldn't restart
                         session -->
<propval name='ignore_error' type='astring'
                         value='core,signal' />
        </property_group>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blogs.everycity.co.uk/alasdair/2010/01/making-solaris-smf-ignore-core-dumps-in-child-processes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>VLC on Solaris 10</title>
		<link>http://blogs.everycity.co.uk/alasdair/2010/01/vlc-on-solaris-10/</link>
		<comments>http://blogs.everycity.co.uk/alasdair/2010/01/vlc-on-solaris-10/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 11:47:12 +0000</pubDate>
		<dc:creator>Alasdair</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.everycity.co.uk/alasdair/?p=239</guid>
		<description><![CDATA[Some helpful chap has compiled up VLC for Solaris 10. Useful!
]]></description>
			<content:encoded><![CDATA[<p>Some helpful chap has compiled up <a href="http://wyang0.blogspot.com/2009/08/vlc-on-solaris-10.html">VLC for Solaris 10</a>. Useful!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.everycity.co.uk/alasdair/2010/01/vlc-on-solaris-10/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installing OpenSolaris/Solaris on a Fasthosts Dedicated Server</title>
		<link>http://blogs.everycity.co.uk/alasdair/2009/12/installing-opensolarissolaris-on-a-fasthosts-dedicated-server/</link>
		<comments>http://blogs.everycity.co.uk/alasdair/2009/12/installing-opensolarissolaris-on-a-fasthosts-dedicated-server/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 17:57:04 +0000</pubDate>
		<dc:creator>Alasdair</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.everycity.co.uk/alasdair/?p=233</guid>
		<description><![CDATA[EDIT: Turns out that my server had dodgy wiring with the Eric card. Fasthosts fixed this and then I was able to get into the BIOS to change the boot order, rendering the below post rather unnecessary.
I was recently tasked with installing OpenSolaris on a Fasthosts Dedicated Server. Fasthost Dedicated Servers are cheap and cheerful. [...]]]></description>
			<content:encoded><![CDATA[<p><b>EDIT:</b> Turns out that my server had dodgy wiring with the Eric card. Fasthosts fixed this and then I was able to get into the BIOS to change the boot order, rendering the below post rather unnecessary.</p>
<p>I was recently tasked with installing OpenSolaris on a Fasthosts Dedicated Server. Fasthost Dedicated Servers are cheap and cheerful. I would never put anything important on them, because if the shit hits the fan, you&#8217;re own your own. But they are incredibly cheap, so for un-important bits n pieces, they can make sense.</p>
<p>Unfortunately they only come pre-installed with Windows Server, CentOS or Ubuntu. Being a Solaris advocate, the first thing I wanted to do was kablam them with OpenSolaris.</p>
<p>The boxes rather usefully come with Raritan ERIC remote management cards. These remote management cards provide you with:</p>
<ul>
<li>Keyboard, Video and Mouse remote access</li>
<li>Remote power management</li>
<li>Virtual CD-Rom</li>
</ul>
<p>So, installing OpenSolaris should be a piece of cake, right? Sadly.. not quite. Fasthosts have either locked down the cards/servers so you can&#8217;t go into the BIOS/Alter the boot order, or the Eric KVM cards are deficient in that regard. Regardless of whether I chose PS2 or USB for the Keyboard emulation, pressing F2 or F12 on the BIOS boot screen yielded nothing useful.</p>
<p>Further, I had issues getting the Virtual CD Drive to mount. Rather unfortunately it can only access ISO images via Windows File Sharing. I set up a Samba Server, but the Eric card kept saying &quot;Error accessing image&quot;. It turns out your ISO image has to be in a sub-folder, and the path uses backslashes. So I finally got a CD mounted in the end.</p>
<p>Once I had the ISO Image mounted, I needed to get the server to boot it. Since we can&#8217;t change the boot order, I finally got around it by nuking the MBR of the harrdrive. There are actually two harddrives in the Fasthosts box I ordered, so I ran:</p>
<pre>
# dd if=/dev/zero of=/dev/sda bs=1M count=100
# dd if=/dev/zero of=/dev/sdb bs=1M count=100
</pre>
<p>I probably only had to do the first 512 bytes, but more doesn&#8217;t hurt when you&#8217;re wiping the box anyway. Upon rebooting, sure enough, it started booting the OpenSolaris install CD. Magic!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.everycity.co.uk/alasdair/2009/12/installing-opensolarissolaris-on-a-fasthosts-dedicated-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nagios 3.2.0 coredumps when started via SMF on Solaris 10</title>
		<link>http://blogs.everycity.co.uk/alasdair/2009/10/nagios-320-coredumps-when-started-via-smf-on-solaris-10/</link>
		<comments>http://blogs.everycity.co.uk/alasdair/2009/10/nagios-320-coredumps-when-started-via-smf-on-solaris-10/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 18:58:58 +0000</pubDate>
		<dc:creator>Alasdair</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.everycity.co.uk/alasdair/?p=230</guid>
		<description><![CDATA[This one was quite interesting. If you compile your own nagios-3.2.0 from source on Solaris 10, and start it manually, it runs just fine. If you run it via SMF with a service manifest, the process continually dumps core, so you get messages such as:

[ Oct 16 19:24:48 Enabled. ]
[ Oct 16 19:24:48 Executing start [...]]]></description>
			<content:encoded><![CDATA[<p>This one was quite interesting. If you compile your own nagios-3.2.0 from source on Solaris 10, and start it manually, it runs just fine. If you run it via SMF with a service manifest, the process continually dumps core, so you get messages such as:</p>
<pre>
[ Oct 16 19:24:48 Enabled. ]
[ Oct 16 19:24:48 Executing start method ("/opt/nagios/bin/nagios /opt/nagios/etc/nagios.cfg &#038;") ]
[ Oct 16 19:24:48 Method "start" exited with status 0 ]
[ Oct 16 19:24:49 Stopping because process dumped core. ]
[ Oct 16 19:24:49 Executing stop method (:kill) ]
Successfully shutdown... (PID=29180)
[ Oct 16 19:24:49 Executing start method ("/opt/nagios/bin/nagios /opt/nagios/etc/nagios.cfg &#038;") ]
[ Oct 16 19:24:49 Method "start" exited with status 0 ]
[ Oct 16 19:24:50 Stopping because process dumped core. ]
[ Oct 16 19:24:50 Executing stop method (:kill) ]
Successfully shutdown... (PID=29232)
[ Oct 16 19:24:51 Executing start method ("/opt/nagios/bin/nagios /opt/nagios/etc/nagios.cfg &#038;") ]
[ Oct 16 19:24:51 Method "start" exited with status 0 ]
[ Oct 16 19:24:52 Stopping because process dumped core. ]
[ Oct 16 19:24:52 Executing stop method (:kill) ]
Successfully shutdown... (PID=29246)
</pre>
<p>So, why does nagios crash when started via SMF? Well, I decided to enable core dumps via coreadm, to find out why. We do this with:</p>
<pre># mkdir /cores
# coreadm -g /cores/core.%f.%p -i /cores/core.%f.%p -e global -e global-setid -e log -e process -e proc-setid
# coreadm
     global core file pattern: /cores/core.%f.%p
     global core file content: all
       init core file pattern: /cores/core.%f.%p
       init core file content: all
            global core dumps: enabled
       per-process core dumps: enabled
      global setid core dumps: enabled
 per-process setid core dumps: enabled
     global core dump logging: enabled
</pre>
<p>We can then check the core dump with:</p>
<pre># gdb /opt/nagios/bin/nagios /cores/core.nagios.23536
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
*snip*
Core was generated by `/opt/nagios/bin/nagios /opt/nagios/etc/nagios.cfg'.
Program terminated with signal 11, Segmentation fault.
#0  0xfed3590c in strlen () from /lib/libc.so.1
(gdb) bt
#0  0xfed3590c in strlen () from /lib/libc.so.1
#1  0xfed8eda6 in _ndoprnt () from /lib/libc.so.1
#2  0xfed9192d in fprintf () from /lib/libc.so.1
#3  0x08067c42 in run_async_host_check_3x ()
#4  0x08066f69 in run_scheduled_host_check_3x ()
#5  0x080658d0 in perform_scheduled_host_check ()
#6  0x0807c0e8 in handle_timed_event ()
#7  0x0807bd8c in event_execution_loop ()
#8  0x0805ecaa in main ()
(gdb) quit
</pre>
<p>Interesting - it&#8217;s crashing when the nagios function run_async_host_check_3x does a fprintf. Looks like a null pointer to me. Lets get the actual line number by installing a nagios binary which has not been stripped of debugging symbols. Thankfully the Nagios Makefile has a method of doing this already:</p>
<pre># cd /opt/src/nagios-3.2.0
# gmake install-unstripped
cd ./base &#038;&#038; gmake install-unstripped
gmake[1]: Entering directory `/opt/src/build/nagios/files/nagios-3.2.0/base'
gmake install-basic
gmake[2]: Entering directory `/opt/src/build/nagios/files/nagios-3.2.0/base'
/opt/sfw/bin/install -c -m 775 -o nagios -g nagios -d /opt/nagios/bin
/opt/sfw/bin/install -c -m 774 -o nagios -g nagios nagios /opt/nagios/bin
*snip*
</pre>
<p>Now we re-run nagios via SMF, then gdb the latest coredump:</p>
<pre> gdb /opt/nagios/bin/nagios /globalcore/core.nagios.29248
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
*snip*
Core was generated by `/opt/nagios/bin/nagios /opt/nagios/etc/nagios.cfg'.
Program terminated with signal 11, Segmentation fault.
#0  0xfed3590c in strlen () from /lib/libc.so.1
(gdb) bt
#0  0xfed3590c in strlen () from /lib/libc.so.1
#1  0xfed8eda6 in _ndoprnt () from /lib/libc.so.1
#2  0xfed9192d in fprintf () from /lib/libc.so.1
#3  0x08067c42 in run_async_host_check_3x (hst=0x8139b78, check_options=0, latency=0.048000000000000001,
    scheduled_check=1, reschedule_check=1, time_is_valid=0x8047b40, preferred_time=0x8047b48)
    at /opt/src/build/nagios/files/nagios-3.2.0/base/checks.c:3134
#4  0x08066f69 in run_scheduled_host_check_3x (hst=0x8139b78, check_options=0, latency=0.048000000000000001)
    at /opt/src/build/nagios/files/nagios-3.2.0/base/checks.c:2791
#5  0x080658d0 in perform_scheduled_host_check (hst=0x8139b78, check_options=0, latency=0.048000000000000001)
    at /opt/src/build/nagios/files/nagios-3.2.0/base/checks.c:2108
#6  0x0807c0e8 in handle_timed_event (event=0x8133010) at /opt/src/build/nagios/files/nagios-3.2.0/base/events.c:1261
#7  0x0807bd8c in event_execution_loop () at /opt/src/build/nagios/files/nagios-3.2.0/base/events.c:1132
#8  0x0805ecaa in main (argc=134510324, argv=0x8139b78) at nagios.c:849
(gdb) quit
</pre>
<p>A hah! Now we have a line number. The line in question, line 3134 of checks.c, reads:</p>
<pre>fprintf(check_result_info.output_file_fp,"output=%s\n",checkresult_dbuf.buf);</pre>
<p>So this checkresult_dbuf.buf must be null. I googled, and found someone talking about it on the <a href="http://markmail.org/message/mon7eejtvxhdbgal#query:checkresult_dbuf.buf%20nagios%20solaris+page:1+mid:mon7eejtvxhdbgal+state:results">nagios-devel mailing list</a>. Seems the fix they comitted (checking to see if checkresult_dbuf.buf is null) has been uncomitted/overwritten as this check is no longer in place in nagios 3.2.0. Not to worry, here&#8217;s a patch:</p>
<pre>
--- base/checks.c.orig  2009-10-16 19:28:42.082321083 +0100
+++ base/checks.c       2009-10-16 19:29:02.197305557 +0100
@@ -3131,7 +3131,7 @@
                                fprintf(check_result_info.output_file_fp,"early_timeout=%d\n",check_result_info.early_timeout);
                                fprintf(check_result_info.output_file_fp,"exited_ok=%d\n",check_result_info.exited_ok);
                                fprintf(check_result_info.output_file_fp,"return_code=%d\n",check_result_info.return_code);
-                               fprintf(check_result_info.output_file_fp,"output=%s\n",checkresult_dbuf.buf);
+                               fprintf(check_result_info.output_file_fp,"output=%s\n",(checkresult_dbuf.buf==NULL)?"(null)":checkresult_dbuf.buf);

                                /* close the temp file */
                                fclose(check_result_info.output_file_fp);
</pre>
<p>Apply this and you should be all set!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.everycity.co.uk/alasdair/2009/10/nagios-320-coredumps-when-started-via-smf-on-solaris-10/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Compiling Kannel 1.4.3 on Solaris 10</title>
		<link>http://blogs.everycity.co.uk/alasdair/2009/09/compiling-kannel-143-on-solaris-10/</link>
		<comments>http://blogs.everycity.co.uk/alasdair/2009/09/compiling-kannel-143-on-solaris-10/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 12:59:02 +0000</pubDate>
		<dc:creator>Alasdair</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.everycity.co.uk/alasdair/?p=226</guid>
		<description><![CDATA[Kennel doesn&#8217;t appear to compile with Sun Studio, I couldn&#8217;t be bothered to work out why. It compiles with the default Solaris gcc 3.4.3, but fails with:

gcc -std=gnu99 -D_REENTRANT=1 -I. -Igw -g -O2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES= -I/usr/include/libxml2 -o wmlscript/wsstream_data.o -c wmlscript/wsstream_data.c
wmlscript/wslexer.c: In function `read_float_from_exp':
wmlscript/wslexer.c:1037: error: syntax error before '&#124;&#124;' token
gmake-3.81: *** [wmlscript/wslexer.o] Error 1
gmake-3.81: *** Waiting [...]]]></description>
			<content:encoded><![CDATA[<p>Kennel doesn&#8217;t appear to compile with Sun Studio, I couldn&#8217;t be bothered to work out why. It compiles with the default Solaris gcc 3.4.3, but fails with:</p>
<pre>
gcc -std=gnu99 -D_REENTRANT=1 -I. -Igw -g -O2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES= -I/usr/include/libxml2 -o wmlscript/wsstream_data.o -c wmlscript/wsstream_data.c
wmlscript/wslexer.c: In function `read_float_from_exp':
wmlscript/wslexer.c:1037: error: syntax error before '||' token
gmake-3.81: *** [wmlscript/wslexer.o] Error 1
gmake-3.81: *** Waiting for unfinished jobs....
No postbuild script
Error: build failed
</pre>
<p>The issue is that wmlscript/wslexer.c uses &quot;HUGE_VAL&quot;, which has a broken definition on Solaris (or at least gcc doesn&#8217;t like it).</p>
<p>The solution is to force it to use GCC&#8217;s built in HUGE_VAL definition, which you can do with the following patch:</p>
<pre>
--- wmlscript/wslexer.c.orig    2009-09-18 12:51:52.218499508 +0100
+++ wmlscript/wslexer.c 2009-09-18 12:54:09.811272795 +0100
@@ -1034,7 +1034,7 @@

     /* Check that the generated floating point number fits to
        `float32'. */
-    if (*result == HUGE_VAL || *result == -HUGE_VAL
+    if (*result == __builtin_huge_val() || *result == -__builtin_huge_val()
         || ws_ieee754_encode_single(*result, buf) != WS_IEEE754_OK)
         ws_src_error(compiler, 0, "floating point literal too large");
</pre>
<p>Happy compiling!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.everycity.co.uk/alasdair/2009/09/compiling-kannel-143-on-solaris-10/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installing Windows Server 2008 on Citrix XenServer</title>
		<link>http://blogs.everycity.co.uk/alasdair/2009/07/installing-windows-server-2008-on-citrix-xenserver/</link>
		<comments>http://blogs.everycity.co.uk/alasdair/2009/07/installing-windows-server-2008-on-citrix-xenserver/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 19:29:54 +0000</pubDate>
		<dc:creator>Alasdair</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.everycity.co.uk/alasdair/?p=224</guid>
		<description><![CDATA[During the install of Windows Server 2008, the installer might throw a screen up at you insisting you provide it with drivers so it can install Windows.
This screen can&#8217;t be bypassed (that I could see), and giving Windows Server 2008 the Citrix XenServer xe-tools.iso image is no good, as the drivers are contained within a [...]]]></description>
			<content:encoded><![CDATA[<p>During the install of Windows Server 2008, the installer might throw a screen up at you insisting you provide it with drivers so it can install Windows.</p>
<p>This screen can&#8217;t be bypassed (that I could see), and giving Windows Server 2008 the Citrix XenServer xe-tools.iso image is no good, as the drivers are contained within a .exe. Extracting the drivers on another computer and making your ISO is no good either - Windows won&#8217;t accept those drivers.</p>
<p>Usefully the installer doesn&#8217;t even tell you what hardware it wants drivers for. However on a hunch I removed the Network Adapter within Citrix XenServer, and sure enough, after a restart, the installer didn&#8217;t ask for any drivers and the install completed successfully.</p>
<p>I&#8217;ve had to fight with this drivers screen when installing Windows 7 on my Dell laptop before, and it&#8217;s not fun. It just doesn&#8217;t provide enough useful information for you to find the drivers it wants to install. Stupid Microsoft. Stupid Windows.</p>
<p>At least it accepts a CD or USB Key for the drivers, which is a vast improvement over the NT/2000/XP/2003 days where you&#8217;d need to blow the dust off your 3.5&#8243; floppy drive&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.everycity.co.uk/alasdair/2009/07/installing-windows-server-2008-on-citrix-xenserver/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows Server 2003</title>
		<link>http://blogs.everycity.co.uk/alasdair/2009/06/windows-server-2003/</link>
		<comments>http://blogs.everycity.co.uk/alasdair/2009/06/windows-server-2003/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 16:36:15 +0000</pubDate>
		<dc:creator>Alasdair</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.everycity.co.uk/alasdair/?p=221</guid>
		<description><![CDATA[Windows Server 2003 is now over 6 years old. Yet, we&#8217;re still asked by clients for new Windows Server 2003 installations, despite Windows Server 2008 coming out last year. I find this quite interesting, because Windows Server 2008 is a great product, and IIS 7.0 offers many significant advantages over IIS 6.0 (Such as native [...]]]></description>
			<content:encoded><![CDATA[<p>Windows Server 2003 is now over 6 years old. Yet, we&#8217;re still asked by clients for new Windows Server 2003 installations, despite Windows Server 2008 coming out last year. I find this quite interesting, because Windows Server 2008 is a great product, and IIS 7.0 offers many significant advantages over IIS 6.0 (Such as native URL rewriting).</p>
<p>I&#8217;d say the biggest driver of this is that people fear the unknown - Server 2008 is somewhat new and people just don&#8217;t have the time to try it out. However, the situation in the Windows ecosphere is significantly different to what we encounter in the Linux &#038; Unix world. For example, nobody would dare consider installing a Linux distribution that&#8217;s 6 years old.</p>
<p>CentOS first came out with version 2 in May 2005, Debian 3.0 &#8220;Woody&#8221; came out in 2002 (there wasn&#8217;t another release until 2005). Ubuntu didn&#8217;t even come out until 2005. All shipped with the Linux 2.4 kernel, and Apache 1.3, by default. Nobody in their right mind would run any of these distributions today.</p>
<p>So why then, do people continue to install Windows Server 2003? Why? For the following reasons:</p>
<ul>
<li>Windows Server 2003 was a very strong release</li>
<li>Windows Server 2003 meets most peoples requirements</li>
<li>.NET 2.0, .NET 3.0 and .NET 3.5 all run fine on Windows Server 2003</li>
<li>Microsoft have released a FastCGI module for IIS 6.0, and there are numerous URL Rewrite options for Server 2003</li>
<li>People are wary of new Microsoft releases (Take Vista for example)</li>
</ul>
<p>That&#8217;s not to say I <i>approve</i> of installing Windows Server 2003. It goes out of general support in 2010, which is but one year away. Windows Server 2008 is a great product with many fantastic new features built in. But I have a nagging feeling Windows Server 2003 will be with us for a long time to come. It&#8217;s just too simple, too clean and too elegant to disappear.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.everycity.co.uk/alasdair/2009/06/windows-server-2003/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Killing a Solaris 10 Zone stuck in the shutting_down state.</title>
		<link>http://blogs.everycity.co.uk/alasdair/2009/06/killing-a-solaris-10-zone-stuck-in-the-shutting_down-state/</link>
		<comments>http://blogs.everycity.co.uk/alasdair/2009/06/killing-a-solaris-10-zone-stuck-in-the-shutting_down-state/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 22:51:34 +0000</pubDate>
		<dc:creator>Alasdair</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.everycity.co.uk/alasdair/?p=218</guid>
		<description><![CDATA[So, you have a Solaris 10 Zone. You&#8217;ve run &#8220;zoneadm -z zonename shutdown&#8221;. It hasn&#8217;t quite shut down, and is stuck in the shutting_down state. What can you do to fix it?
Well, sometimes some processes don&#8217;t die in a timely fashion. Check what processes are running with the following command:

# ps -fz zonename

If any processes [...]]]></description>
			<content:encoded><![CDATA[<p>So, you have a Solaris 10 Zone. You&#8217;ve run &#8220;zoneadm -z zonename shutdown&#8221;. It hasn&#8217;t quite shut down, and is stuck in the shutting_down state. What can you do to fix it?</p>
<p>Well, sometimes some processes don&#8217;t die in a timely fashion. Check what processes are running with the following command:</p>
<pre>
# ps -fz zonename
</pre>
<p>If any processes other than zsched are running, kill -9 them. The zone should hopefully shut down.</p>
<p>If it doesn&#8217;t, and you&#8217;re left with zsched as the only remaining process, then potentially you&#8217;ve hit a bug, such as bug <a href="http://bugs.opensolaris.org/bugdatabase/view_bug.do;jsessionid=38f567e56978305587caaccf6e32?bug_id=6272846">6272846</a> - &quot;User orders zone death; NFS client thumbs nose&quot;. This bug has been outstanding since May 2005, so don&#8217;t expect a fix any time soon.</p>
<p>Thankfully there are a few more things you can try to kill the damn zone off. Give some of the following a go:</p>
<pre>
# zoneadm -z zonename unmount -f
# zoneadm -z zonename reboot -- -s
# pkill -9 -z zonename
</pre>
<p>The above combo should hopefully deliver a fatal blow to your Zone. If not, bitch at Sun. Hopefully they&#8217;ll sort their lives out.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.everycity.co.uk/alasdair/2009/06/killing-a-solaris-10-zone-stuck-in-the-shutting_down-state/feed/</wfw:commentRss>
		</item>
		<item>
		<title>64bit Varnish on Solaris</title>
		<link>http://blogs.everycity.co.uk/alasdair/2009/05/64bit-varnish-on-solaris/</link>
		<comments>http://blogs.everycity.co.uk/alasdair/2009/05/64bit-varnish-on-solaris/#comments</comments>
		<pubDate>Sun, 31 May 2009 20:40:20 +0000</pubDate>
		<dc:creator>Alasdair</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blogs.everycity.co.uk/alasdair/?p=216</guid>
		<description><![CDATA[When running a 64bit varnish on Solaris, you may encounter an error similar to:

# /opt/ec/sbin/amd64/varnishd -d
Compiled VCL program failed to load:
  ld.so.1: varnishd: fatal: ./vcl.ORk8t3RP.so: wrong ELF class: ELFCLASS32
VCL compilation failed

The problem is fairly self explanatory, your 64bit Varnish is failing to pass -m64 to the compiler when it compiles up the VCL program. [...]]]></description>
			<content:encoded><![CDATA[<p>When running a 64bit varnish on Solaris, you may encounter an error similar to:</p>
<pre>
# /opt/ec/sbin/amd64/varnishd -d
Compiled VCL program failed to load:
  ld.so.1: varnishd: fatal: ./vcl.ORk8t3RP.so: wrong ELF class: ELFCLASS32
VCL compilation failed
</pre>
<p>The problem is fairly self explanatory, your 64bit Varnish is failing to pass -m64 to the compiler when it compiles up the VCL program. The fix is very straight forward, simply pass:</p>
<pre>
# /opt/ec/sbin/amd64/varnishd -d -p cc_command='cc -Kpic -G -m64 -o %o %s'
storage_file: filename: ./varnish.NxaavR (unlinked) size 26135 MB.
Creating new SHMFILE
New Pid 22203

Debugging mode, enter "start" to start child
</pre>
<p>Et voilà, fixed. Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.everycity.co.uk/alasdair/2009/05/64bit-varnish-on-solaris/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
