20 Sep 2010, 12:31am
Projects:
by

leave a comment

  • Node.js Discussion On Teman Macet Podcast

    Last May, I recorded a discussion in Indonesian language on Teman Macet podcast with the show’s host, Ronald Widha, and another guest who was a fellow NodeJS user,  Julius Sirait. The discussion itself was more on NodeJS introduction and sharing what we had learnt thus far. The episode, #51 nodeJS bersama Julius Sirait dan Cliffano Subagio, was available for streaming/download in July.

    NodeJS is one piece of technology that I’m very excited about. For web application development, I think Node, along with its web stack, is a nice middle ground between Ruby/Rails magical ‘simplicity’ and Java/JEE layers of complexity. For network-related stuffs, (I’m quoting Sami Samhuri here) NodeJS is a swiss army knife. Oh, and have I mentioned that NodeJS is fast? like seriously da*n fast? (thanks to V8).

    As a side note, Indonesia is currently undergoing a strong growth in mobile Internet penetration, and with 200+ million people in the market, the progress is very exciting to watch. Teman Macet is one of the best podcast shows, technical or not, in Indonesian language. I personally find it immensely useful at providing information about Indonesian start ups and technology practitioners.

    19 Sep 2010, 4:40pm
    Projects:
    by

    leave a comment

  • Hudson NodeJS Plugin

    If you’re a NodeJS user who happens to use Hudson as a continuous integration server, then perhaps you would be interested to check out NodeJS Plugin which I released about a month ago (yea, I’m always behind with blogging).

    This plugin allows you to use NodeJS script on a build step, as an alternative to the existing shell script (out of the box) and Ruby script (via a plugin).

    Call me too optimistic, but I’m waiting for the day when all standard shell script commands have their NodeJS equivalence.

    7 Aug 2010, 7:14pm
    Projects:
    by

    leave a comment

  • Node.js And CouchDB Installation On Ubuntu

    Just a quick gist of the script I’ve been using to install NodeJS and CouchDB on several Ubuntu boxes.

    4 Jun 2010, 8:27pm
    Work:
    by

    5 comments

  • 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

    Recent Posts

    Recent Comments

    • SIMAR PAUL SINGH: Define :global_known_hosts_file :user_known_hosts_file options with a list of valid host_file...
    • Penny: I received this book from my Grandmother 6 months before she died. She INSISTED I read it…and I kept...
    • Nicholas Orr: Hilarious ;) No need to put true, keep’em guessing. Thanks for posting this am going to have to...
    • Amy: Truly awesome! I will share it with my boys who lost their father at 4&5 they are 8&9 now. What a gift...
    • Michael Sharkey: Let the propaganda continue!

    Most Commented Posts

    Linkroll