4 Jul 2010, 11:10pm
Work:
by Cliffano Subagio

leave a comment
  • New Zealand Workcapade 2010

    Workcapade -noun: like an escapade, extra work days on a weekend.

    Last weekend I went to Wellington, New Zealand, to attend CITCON A/NZ 2010. Write ups about the event have been posted on ShineTech blog:

    In summary, the current hotness in CI world is continuous deployment, citing the experiences from IMVU and Flickr.

    I didn’t get much chance to check out Wellington, it was raining for the whole three days I was there. My immediate impression of Wellington was that the CBD resembled Melbourne, while the areas up the hills reminded me of Hobart. It’s also strange how Lambton Quay was empty at 10pm on a weekend, even many of the cafes weren’t open at 11am on a Sunday. No people, no traffic, no worries, no problem.

    I didn’t see any sheep in New Zealand.

    4 Jun 2010, 8:27pm
    Work:
    by Cliffano Subagio

    1 comment
  • Compiling node.js on Solaris – The Issues

    Disclaimer: I’m not a sysadmin, better solutions are welcome.

    Earlier today, I was trying to compile node.js on Solaris (x86, 64-bit), get it installed, and setup a simple OHAI server.

    And as usual, installing stuffs on Solaris is never straightforward and I ended up encountering several issues. I’m sure these issues (specially the errors) will bite me again in the future, hence I’m blogging this.

    First up…

    nom> ./configure
    /usr/bin/env: No such file or directory
    

    Oh right, I forgot to install python and all of its dependencies. From node.js home page “The build system requires Python 2.4 or better.”

    obj/release/mksnapshot obj/release/snapshot.cc --logfile "~/blah/ry-node-29ca7af/build/default/obj/release/snapshot.log" --log-snapshot-positions
    ld.so.1: mksnapshot: fatal: libstdc++.so.6: open failed: No such file or directory
    scons: *** [obj/release/snapshot.cc] Error -9
    scons: building terminated because of errors.
    Waf: Leaving directory `~/blah/ry-node-29ca7af/build'
    Build failed:  -> task failed (err #2):
            {task: libv8.a SConstruct -> libv8.a}
    *** Error code 1
    

    ldd is your friend every time you hit this kind of error.
    So I inspected mksnapshot…

    nom> ldd obj/release/mksnapshot
            libpthread.so.1 =>       /lib/libpthread.so.1
            libsocket.so.1 =>        /lib/libsocket.so.1
            libnsl.so.1 =>   /lib/libnsl.so.1
            librt.so.1 =>    /lib/librt.so.1
            libstdc++.so.6 =>        (file not found)
            libm.so.2 =>     /lib/libm.so.2
            libgcc_s.so.1 =>         (file not found)
            libc.so.1 =>     /lib/libc.so.1
            libmp.so.2 =>    /lib/libmp.so.2
            libmd.so.1 =>    /lib/libmd.so.1
            libscf.so.1 =>   /lib/libscf.so.1
            libaio.so.1 =>   /lib/libaio.so.1
            libdoor.so.1 =>  /lib/libdoor.so.1
            libuutil.so.1 =>         /lib/libuutil.so.1
            libgen.so.1 =>   /lib/libgen.so.1
    

    Turned out that both libstdc++.so.6 and libgcc_s.so.1 were installed in /usr/local/lib but not available from /lib. So I simply created symlinks for /lib/libstdc++.so.6 and libgcc_s.so.1 pointing to /usr/local/lib . Another workaround was to set LD_LIBRARY_PATH=/usr/local/lib, but I heard it’s bad.

    On to the next one…

    ImportError: ld.so.1: python: fatal: relocation error: file /usr/local/lib/python2.6/lib-dynload/_socket.so: symbol inet_aton: referenced symbol not found
    

    This one was just strange, I couldn’t figure out which library dependency was missing, and it took me a while to find out that the python binary I had wasn’t built correctly (some library links were missing from _socket.so) . At the end I used the binary from Sunfreeware which had the correct links.

    I got this next error when I accidentally compiled node on a SPARC box, which I believe is not a supported architecture. c-ares only has sunos-x86 header files for Solaris.

    ../deps/c-ares/ares_expand_string.c:18:24: ares_setup.h: No such file or directory
    

    And another one, on the same SPARC box…

    TypeError: cannot concatenate 'str' and 'NoneType' objects:
    

    This is a similar issue that stevel mentioned on nodejs Google Group. Basically deps/v8/SConstruct couldn’t figure out the compiler and returns ‘None’ which can’t be concatenated to a String, this line here…

    the toolchain to use (' + TOOLCHAIN_GUESS + ')'

    After 3-4 hours, I finally got node.js installed, and a simple server up and running on Solaris.

    OHAI
    KTHXBYE
    

    12 Apr 2010, 10:41pm
    Projects Work:
    by Cliffano Subagio

    1 comment
  • Re Hudson SiteMonitor Plugin And JSLint Violations Support

    Just a quick note about a post I made over at Shine Technologies blog re Hudson SiteMonitor Plugin and JSLint Violations support.

    My current employer, Shine Technologies, allowed me to spend a couple of days to contribute to an open source project, so naturally I chose Hudson and worked on things that are useful for the projects I’m involved with at work.

    SiteMonitor Plugin was a late follow up to this short thread on Hudson users mailing list about a year ago. JSLint support in Violations Plugin was an effort to add JSLint report handling in Hudson a la Checkstyle.

    Recent Posts

    Recent Comments

    • Chess Strategizer: This just got bookmarked! “That’s why I always think of Simon Bolivar and remember that...
    • David from getcheaptrainfares.co.uk: Thank you very much for sharing your wonderful tips! That would definitely be a...
    • Natasha: The quote “Find the best in everybody. Just keep waiting no matter how long it takes. No one is all...
    • Alfonzo Donkin: Stumbled upon your website via bing the other day and absolutely think its great. Carry on the great...
    • Cliffano Subagio: Sure thing.

    Most Commented Posts

    Linkroll