Recently in work Category

Smarta launches site

Smarta is an interesting new venture aimed at supporting entrepreneurs and helping them access the tools and information they need at various stages of the journey.

The site was launched today - it's a microsite for now, but will be enhanced dramatically over the coming months by the lovely people over at Splendid, and also features a blog built by me at digitalquery .


smarta_home_page.GIF

Lovely people to work with, and I'm sure this will be a really valuable resource, especially for those of us starting up.

Marcel de Ruiter asked "What corporate functions should lead in Enterprise 2.0?'.

I left the following reply:

Having HR lead an Enterprise 2.0 initiative is probably the quickest way to consign it to irrelevance and indifference. HR typically has credibility in HR and benefits – and should be focusing on that. Attraction and retention are bonuses from E2.0 – not the core benefits.

An Enterprise 2.0 initiative (which sounds unwieldy, cumbersome and committee driven, and thus doomed to fail) has to be driven from need and controlled by the people it’s trying to serve – normally those at the sharp end of the business

Now this isn't meant to denigrate HR - but most HR led systems I've seen (when I was at Mercer) are shining examples of bad usability, bad design, and ivory tower mentalities - causing employees to swear under their breath as they use click through flexible benefits systems. (This is true of most corporate driven IT systems).

So, not a good starting point to design something that should be people focused, nimble, adaptable and emergent.

[tags]HR, Enterprise 2.0, corporate, Web2.0, internal[/tags]

Movable Type relies on a number of libraries and additional pieces of software to perform certain functions - especially where images are concerned. Thumbnailing and captcha both rely on ImageMagick to perform various feats of graphic trickery.

However, getting ImageMagick playing nicely with Perl and Movable Type is not always straightforward. If you're on a good host, then this work may already have been done for you (leave a comment if you're with a host that has this sorted out), but even good hosts don't always get this right, and if you're on a dedicated server, this is probably something you'll have to do yourself - as I've just done with my MediaTemple (dv) server.

I'm documenting the steps I took to get this working - hopefully it will be useful to someone else (and me in the future, the next time I have to do this). Please note that the steps require that you have root access, and are for dedicated servers (or dedicated virtual servers), and you need to be running Linux - I'm using CentOS, but I'm pretty sure this works for any distro.

Ok - so first up, browse to mt-check.cgi and see whether Image::Magick is already there. It's in the same directory as mt.cgi, so just replace with mt-check.cgi in your normal URL for MT.

If you're lucky, and it's already there, then you're done. Congrats, and enjoy !

If you're not lucky, then you'll see somethinng like "Image::Magick. Your server does not have Image::Magick installed...". Time to roll up your sleeves.

  • Get the latest version of ImageMagick (6.3.6 at time of writing). You can get it from here (ftp link to imagemagick.tar.gz). If you're rabidly anti-ftp, then go to this page and follow links until you get what you want.
  • Ungzip and untar it (tar -zxvf ImageMagick.tar.gz), and change to the source directory (cd ImageMagick-6.3.6).
  • Build imagemagick

./configure
make
make install

  • This will build and install the main ImageMagick binaries and libraries
  • Now we've got to build PerlMagick - the Perl interface to ImageMagick (which is what Movable Type uses to communicate with ImageMagick). The PerlMagick library should be below the ImageMagick folder you're in now.

cd PerlMagick
Perl Makefile.PL
make
make install

  • In an ideal world, we'd be done now. Unfortunately, it seems as if there are often some problems with where ImageMagick puts its libraries such that PerlMagick can't find them.
  • Test by running mt-check.cgi again. If it's working, congrats again - if not, read on.
  • Take a look at the error log (probably something like /var/log/httpd/error.log) and look for lines mentioning ImageMagick - chances are you might see something like this

[error] Can't load '/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/Image/Magick/Magick.so' for module Image::Magick: libMagick.so.10: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.5/i386-linux-thread-multi/DynaLoader.pm line 230.\n at /var/www/vhosts/xxx.xxx.com/httpdocs/test/perl/image_test.pl line 9\nCompilation failed in require at /var/www/vhosts/xxx.xxx.com/httpdocs/test

  • Basically this means that PerlMagick can't find the ImageMagick libraries it needs. To resolve this issue:
    • Edit /etc/ld.so.conf and add /usr/local/lib below the last line.
    • Run ldconfig
    • You should now be done ! check by running mt-check.cgi again or by running this perl -MImage::Magick -e 1

 

  • If it's still not working, you can try this kludgier way:
    • Check what libraries ImageMagic.so needs by running the following (you may need to change the path to match what you're seeing in your own error.log file)

      ldd /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/Image/Magick/Magick.so

    • This might give you something like this:

      libMagick.so.10 => (missing)
      libWand.so.10 => (missing)
      libc.so.6 => /lib/tls/libc.so.6 (0xb7ca4000)
      libtiff.so.3 => /usr/lib/libtiff.so.3 (0xb7c57000)
      libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb7c39000)
      libbz2.so.1 => /usr/lib/libbz2.so.1 (0xb7c28000)
      libz.so.1 => /usr/lib/libz.so.1 (0xb7c18000)
      libm.so.6 => /lib/tls/libm.so.6 (0xb7bf4000)
      libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7be2000)
      libdl.so.2 => /lib/libdl.so.2 (0xb7bde000)
      /lib/ld-linux.so.2 (0xb7fea000)

    • OK - so there are 2 libraries - libMagick.so.10 and libWand.so.10 that can't be found. The chances are that PerlMagick is expecting to find these libraries in /usr/lib, instead of /usr/local/lib. So let's put them there:

      ln -s /usr/local/lib/libMagick.so.10 /usr/lib/libMagick.so.10
      ln -s /usr/local/lib/libWand.so.10  /usr/lib/libWand.so.10

    • And that should be it. Run mt-check.cgi again, and you should now see that MT finally agrees that ImageMagick has been installed.

[Updated with a better initial method - editing /ld.so.conf which removes the need for the symlinks]

Good luck !!

Technorati Tags: , , , ,

Starting up

TrackBacks (0) Comments (4)
The days and weeks since leaving Headshift have been a bit of a blur. I took a week off and did very little except watch the Twenty-20 World Cup, read feeds, drink tea and ponder my forthcoming attempt to take over the world. After that, it's been all action - much of which has been all the various things one needs to get sorted to enter the world of the self-employed - bank accounts, VAT registration, choosing a trading name from the small portfolio of catchy domain names I've built up, buying Moo cards, reading though a book on tax (more fun than it sounded !), catching up on some long overdue tech immersion (Movable Type 4, WP2.3, backups to Amazon's cloud, etc) and thinking about the kind of things I want to do. The thing is, I enjoy so many aspects of this industry (where this industry = Enterprise 2.0, Web 2.0, blogs, wikis, social bookmarking, tagging, intranets, information architecture, social networks [and analysis], user centred design, linux, OS X, Windows XP and Vista, command line systems administration, mashups...you get the picture) that it's hard thinking about narrowing down my focus. And I guess I realised what I already knew - I'm best at being a generalist and having fingers in many pies, some of which may well be a little bit too hot and end up burning me. But that's ok - failure is ok if you've tried your best, and you learn from it. I've met many many people in the last 10 years who are excellent at what they do, but who have a very narrow focus and steadfastly refuse to lift their heads up and look outside their valley - 'not my problem, get <insert name of different specialist here> to look at it'. I can't do that - I find being constricted an uncomfortable experience - and it quickly bores me. All this to say that although my main tag line may say social software and intranet consultant, I'll be looking to do more than just that - whether it be some simple sysadmin for a client I'm already doing work for, or some card sorting and analysis, or providing strategic advice on developing an social infrastructure within an organisation. So -if you need someone smart, enthusiastic, knowledgeable, and committed - get in touch ! Oh - hello, by the way. Welcome to my new site. my new business, and the first post. I've been blogging for many years over at scale|free, but I'll be spending more time here from now on. I'll mainly blog about professional stuff that interests me, as well as some of the things someone starting up in the UK should know about. It's all very exciting !

I've been at Headshift for almost exactly a year now, and in that time have had a chance to work on and contribute to some very exciting social software projects, meet some great people and be totally immersed in the world of social software.

But, with other things happening in my life, I've decided that it's time for a change, and Friday will be my last day at Headshift. I want to thank Lee and Livio for giving me the opportunity to work here, and wave a warm goodbye at the great team here.

So - what's next ? Not really sure - but it will be something social, that's for sure ;)

[tags]headshift, socialsoftware, london, consultant[/tags]

Archives