
build/lomond /usr/malcolm/cron/lomond/autorun started at Sun Jun 21 02:08:49 BST 2009 Time for build with gcc closureval.c: In function 'buildClosure': closureval.c:25: warning: cast from pointer to integer of different size ar: creating /tmp/malcolm/nhc98-test-gcc/targets/ix86-Linux/obj/runtime/Kernel/Runtime.a ./Bounded_Int.hc:32: warning: this decimal constant is unsigned only in ISO C90 ./Int.hc:1182: warning: this decimal constant is unsigned only in ISO C90 ./Int.hc:2153: warning: this decimal constant is unsigned only in ISO C90 cLowBinary.c: In function 'memcheck': cLowBinary.c:193: warning: cast from pointer to integer of different size hmake-config: Starting new config file in /tmp/malcolm/nhc98-test-gcc/lib/ix86-Linux/hmakerc ./Internals.o: In function `__hscore_seek_end': Internals.hc:(.text+0x2dc): multiple definition of `__hscore_seek_end' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x1f8): first defined here ./Internals.o: In function `__hscore_seek_set': Internals.hc:(.text+0x2d2): multiple definition of `__hscore_seek_set' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x1ee): first defined here ./Internals.o: In function `__hscore_seek_cur': Internals.hc:(.text+0x264): multiple definition of `__hscore_seek_cur' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x180): first defined here ./Internals.o: In function `__hscore_bufsiz': Internals.hc:(.text+0x25a): multiple definition of `__hscore_bufsiz' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x176): first defined here ./Internals.o: In function `__hscore_get_errno': Internals.hc:(.text+0xe4): multiple definition of `__hscore_get_errno' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x0): first defined here ./Internals.o: In function `__hscore_set_errno': Internals.hc:(.text+0xf3): multiple definition of `__hscore_set_errno' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0xf): first defined here ./Internals.o: In function `__hscore_s_isreg': Internals.hc:(.text+0x107): multiple definition of `__hscore_s_isreg' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x23): first defined here ./Internals.o: In function `__hscore_s_isdir': Internals.hc:(.text+0x121): multiple definition of `__hscore_s_isdir' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x3d): first defined here ./Internals.o: In function `__hscore_s_isfifo': Internals.hc:(.text+0x13b): multiple definition of `__hscore_s_isfifo' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x57): first defined here ./Internals.o: In function `__hscore_s_isblk': Internals.hc:(.text+0x155): multiple definition of `__hscore_s_isblk' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x71): first defined here ./Internals.o: In function `__hscore_s_ischr': Internals.hc:(.text+0x16f): multiple definition of `__hscore_s_ischr' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x8b): first defined here ./Internals.o: In function `__hscore_s_issock': Internals.hc:(.text+0x189): multiple definition of `__hscore_s_issock' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0xa5): first defined here ./Internals.o: In function `__hscore_sigemptyset': Internals.hc:(.text+0x1a3): multiple definition of `__hscore_sigemptyset' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0xbf): first defined here ./Internals.o: In function `__hscore_sigfillset': Internals.hc:(.text+0x1b9): multiple definition of `__hscore_sigfillset' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0xd5): first defined here ./Internals.o: In function `__hscore_sigaddset': Internals.hc:(.text+0x1cf): multiple definition of `__hscore_sigaddset' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0xeb): first defined here ./Internals.o: In function `__hscore_sigdelset': Internals.hc:(.text+0x1e8): multiple definition of `__hscore_sigdelset' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x104): first defined here ./Internals.o: In function `__hscore_sigismember': Internals.hc:(.text+0x201): multiple definition of `__hscore_sigismember' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x11d): first defined here ./Internals.o: In function `__hscore_memcpy_dst_off': Internals.hc:(.text+0x21a): multiple definition of `__hscore_memcpy_dst_off' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x136): first defined here ./Internals.o: In function `__hscore_memcpy_src_off': Internals.hc:(.text+0x23a): multiple definition of `__hscore_memcpy_src_off' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x156): first defined here ./Internals.o: In function `__hscore_o_binary': Internals.hc:(.text+0x26e): multiple definition of `__hscore_o_binary' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x18a): first defined here ./Internals.o: In function `__hscore_o_rdonly': Internals.hc:(.text+0x278): multiple definition of `__hscore_o_rdonly' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x194): first defined here ./Internals.o: In function `__hscore_o_wronly': Internals.hc:(.text+0x282): multiple definition of `__hscore_o_wronly' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x19e): first defined here ./Internals.o: In function `__hscore_o_rdwr': Internals.hc:(.text+0x28c): multiple definition of `__hscore_o_rdwr' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x1a8): first defined here ./Internals.o: In function `__hscore_o_append': Internals.hc:(.text+0x296): multiple definition of `__hscore_o_append' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x1b2): first defined here ./Internals.o: In function `__hscore_o_creat': Internals.hc:(.text+0x2a0): multiple definition of `__hscore_o_creat' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x1bc): first defined here ./Internals.o: In function `__hscore_o_excl': Internals.hc:(.text+0x2aa): multiple definition of `__hscore_o_excl' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x1c6): first defined here ./Internals.o: In function `__hscore_o_trunc': Internals.hc:(.text+0x2b4): multiple definition of `__hscore_o_trunc' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x1d0): first defined here ./Internals.o: In function `__hscore_o_noctty': Internals.hc:(.text+0x2be): multiple definition of `__hscore_o_noctty' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x1da): first defined here ./Internals.o: In function `__hscore_o_nonblock': Internals.hc:(.text+0x2c8): multiple definition of `__hscore_o_nonblock' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x1e4): first defined here ./Internals.o: In function `__hscore_ftruncate': Internals.hc:(.text+0x2e6): multiple definition of `__hscore_ftruncate' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x202): first defined here ./Internals.o: In function `__hscore_setmode': Internals.hc:(.text+0x2ff): multiple definition of `__hscore_setmode' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x21b): first defined here ./Internals.o: In function `__hscore_mkdir': Internals.hc:(.text+0x309): multiple definition of `__hscore_mkdir' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x225): first defined here ./Internals.o: In function `__hscore_lstat': Internals.hc:(.text+0x323): multiple definition of `__hscore_lstat' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x23f): first defined here ./Internals.o: In function `__hscore_d_name': Internals.hc:(.text+0x33c): multiple definition of `__hscore_d_name' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x258): first defined here ./Internals.o: In function `__hscore_end_of_dir': Internals.hc:(.text+0x347): multiple definition of `__hscore_end_of_dir' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x263): first defined here ./Internals.o: In function `__hscore_free_dirent': Internals.hc:(.text+0x351): multiple definition of `__hscore_free_dirent' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x26d): first defined here ./Internals.o: In function `__hscore_sizeof_stat': Internals.hc:(.text+0x356): multiple definition of `__hscore_sizeof_stat' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x272): first defined here ./Internals.o: In function `__hscore_st_mtime': Internals.hc:(.text+0x360): multiple definition of `__hscore_st_mtime' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x27c): first defined here ./Internals.o: In function `__hscore_st_size': Internals.hc:(.text+0x36b): multiple definition of `__hscore_st_size' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x287): first defined here ./Internals.o: In function `__hscore_st_mode': Internals.hc:(.text+0x376): multiple definition of `__hscore_st_mode' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x292): first defined here ./Internals.o: In function `__hscore_st_dev': Internals.hc:(.text+0x381): multiple definition of `__hscore_st_dev' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x29d): first defined here ./Internals.o: In function `__hscore_st_ino': Internals.hc:(.text+0x38e): multiple definition of `__hscore_st_ino' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x2aa): first defined here ./Internals.o: In function `__hscore_lflag': Internals.hc:(.text+0x399): multiple definition of `__hscore_lflag' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x2b5): first defined here ./Internals.o: In function `__hscore_poke_lflag': Internals.hc:(.text+0x3a4): multiple definition of `__hscore_poke_lflag' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x2c0): first defined here ./Internals.o: In function `__hscore_ptr_c_cc': Internals.hc:(.text+0x3b2): multiple definition of `__hscore_ptr_c_cc' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x2ce): first defined here ./Internals.o: In function `__hscore_sizeof_termios': Internals.hc:(.text+0x3bd): multiple definition of `__hscore_sizeof_termios' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x2d9): first defined here ./Internals.o: In function `__hscore_sizeof_sigset_t': Internals.hc:(.text+0x3c7): multiple definition of `__hscore_sizeof_sigset_t' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x2e3): first defined here ./Internals.o: In function `__hscore_echo': Internals.hc:(.text+0x3d1): multiple definition of `__hscore_echo' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x2ed): first defined here ./Internals.o: In function `__hscore_tcsanow': Internals.hc:(.text+0x3db): multiple definition of `__hscore_tcsanow' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x2f7): first defined here ./Internals.o: In function `__hscore_icanon': Internals.hc:(.text+0x3e5): multiple definition of `__hscore_icanon' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x301): first defined here ./Internals.o: In function `__hscore_vmin': Internals.hc:(.text+0x3ef): multiple definition of `__hscore_vmin' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x30b): first defined here ./Internals.o: In function `__hscore_vtime': Internals.hc:(.text+0x3f9): multiple definition of `__hscore_vtime' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x315): first defined here ./Internals.o: In function `__hscore_sigttou': Internals.hc:(.text+0x403): multiple definition of `__hscore_sigttou' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x31f): first defined here ./Internals.o: In function `__hscore_sig_block': Internals.hc:(.text+0x40d): multiple definition of `__hscore_sig_block' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x329): first defined here ./Internals.o: In function `__hscore_sig_setmask': Internals.hc:(.text+0x417): multiple definition of `__hscore_sig_setmask' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x333): first defined here ./Internals.o: In function `__hscore_sizeof_siginfo_t': Internals.hc:(.text+0x421): multiple definition of `__hscore_sizeof_siginfo_t' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x33d): first defined here ./Internals.o: In function `__hscore_f_getfl': Internals.hc:(.text+0x42b): multiple definition of `__hscore_f_getfl' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x347): first defined here ./Internals.o: In function `__hscore_f_setfl': Internals.hc:(.text+0x435): multiple definition of `__hscore_f_setfl' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x351): first defined here ./Internals.o: In function `__hscore_f_setfd': Internals.hc:(.text+0x43f): multiple definition of `__hscore_f_setfd' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x35b): first defined here ./Internals.o: In function `__hscore_fd_cloexec': Internals.hc:(.text+0x449): multiple definition of `__hscore_fd_cloexec' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x365): first defined here ./Internals.o: In function `__hscore_hs_fileno': Internals.hc:(.text+0x453): multiple definition of `__hscore_hs_fileno' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x36f): first defined here ./Internals.o: In function `__hscore_open': Internals.hc:(.text+0x469): multiple definition of `__hscore_open' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x385): first defined here ./Internals.o: In function `__hscore_lseek': Internals.hc:(.text+0x485): multiple definition of `__hscore_lseek' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x3a1): first defined here ./Internals.o: In function `__hscore_stat': Internals.hc:(.text+0x4a1): multiple definition of `__hscore_stat' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x3bd): first defined here ./Internals.o: In function `__hscore_fstat': Internals.hc:(.text+0x4ba): multiple definition of `__hscore_fstat' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x3d6): first defined here ./Internals.o: In function `hsFD_SETSIZE': Internals.hc:(.text+0x4d3): multiple definition of `hsFD_SETSIZE' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x3ef): first defined here ./Internals.o: In function `hsFD_ISSET': Internals.hc:(.text+0x4dd): multiple definition of `hsFD_ISSET' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x3f9): first defined here ./Internals.o: In function `hsFD_SET': Internals.hc:(.text+0x4fb): multiple definition of `hsFD_SET' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x417): first defined here ./Internals.o: In function `sizeof_fd_set': Internals.hc:(.text+0x527): multiple definition of `sizeof_fd_set' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x443): first defined here ./Internals.o: In function `sizeofTimeVal': Internals.hc:(.text+0x531): multiple definition of `sizeofTimeVal' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x44d): first defined here ./Internals.o: In function `getUSecOfDay': Internals.hc:(.text+0x53b): multiple definition of `getUSecOfDay' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x457): first defined here ./Internals.o: In function `setTimevalTicks': Internals.hc:(.text+0x57e): multiple definition of `setTimevalTicks' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x49a): first defined here ./Internals.o: In function `__hscore_environ': Internals.hc:(.text+0x5cf): multiple definition of `__hscore_environ' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x4eb): first defined here ./Internals.o: In function `__hscore_from_uintptr': Internals.hc:(.text+0x5d9): multiple definition of `__hscore_from_uintptr' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x4f5): first defined here ./Internals.o: In function `__hscore_from_intptr': Internals.hc:(.text+0x5e1): multiple definition of `__hscore_from_intptr' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x4fd): first defined here ./Internals.o: In function `__hscore_to_uintptr': Internals.hc:(.text+0x5e9): multiple definition of `__hscore_to_uintptr' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x505): first defined here ./Internals.o: In function `__hscore_to_intptr': Internals.hc:(.text+0x5f1): multiple definition of `__hscore_to_intptr' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x50d): first defined here ./Internals.o: In function `fcntl_read': Internals.hc:(.text+0x5f9): multiple definition of `fcntl_read' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x515): first defined here ./Internals.o: In function `fcntl_write': Internals.hc:(.text+0x612): multiple definition of `fcntl_write' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x52e): first defined here ./Internals.o: In function `fcntl_lock': Internals.hc:(.text+0x62e): multiple definition of `fcntl_lock' ../libraries/base/cbits/dirUtils.o:dirUtils.c:(.text+0x54a): first defined here collect2: ld returned 1 exit status strip: '/tmp/malcolm/nhc98-test-gcc/lib/ix86-Linux/hsc2hs': No such file make[1]: *** [fromC] Error 1 make: *** [targets/ix86-Linux/hsc2hs-gcc] Error 2 real 4m17.408s user 1m31.134s sys 2m31.160s Time for build with ghc-6.6 closureval.c: In function 'buildClosure': closureval.c:25: warning: cast from pointer to integer of different size ar: creating /tmp/malcolm/nhc98-test-ghc66/targets/ix86-Linux/obj/runtime/Kernel/Runtime.a hmake-config: Starting new config file in /tmp/malcolm/nhc98-test-ghc66/lib/ix86-Linux/hmakerc /tmp/Bounded_Int.24505.hc:32: warning: this decimal constant is unsigned only in ISO C90 /tmp/Int.8658.hc:1182: warning: this decimal constant is unsigned only in ISO C90 /tmp/Int.8658.hc:2153: warning: this decimal constant is unsigned only in ISO C90 cLowBinary.c: In function 'memcheck': cLowBinary.c:193: warning: cast from pointer to integer of different size Warning: IOError is both imported and defined Warning: IOError is both imported and defined Warning: EOFError is both imported and defined Warning: PatternError is both imported and defined Warning: UserError is both imported and defined Warning: The module DIOError is called Prelude in its interface file (/tmp/malcolm/nhc98-test-ghc66/include/packages/base/DIOError.hi) Warning: The module DIOError is called Prelude in its interface file (/tmp/malcolm/nhc98-test-ghc66/include/packages/base/DIOError.hi) Context at 924:47-924:50 in type-annotated expression is ignored :-( shift/reduce conflicts: 2 real 15m40.387s user 6m51.893s sys 8m24.297s Running tests: cd tests && ./runtests clean >/dev/null && ./runtests >t.log 2>t.err tail -4 tests/t.err 110 built ok / 23 builds failed / of which 20 known / 3 bad 110 outputs match / 0 outputs differ 110 errors match / 0 errors differ real 7m13.240s user 3m56.485s sys 3m1.258s Time for build with ghc-6.8.2 closureval.c: In function 'buildClosure': closureval.c:25: warning: cast from pointer to integer of different size ar: creating /tmp/malcolm/nhc98-test-ghc68/targets/ix86-Linux/obj/runtime/Kernel/Runtime.a hmake-config: Starting new config file in /tmp/malcolm/nhc98-test-ghc68/lib/ix86-Linux/hmakerc /tmp/Bounded_Int.31707.hc:32: warning: this decimal constant is unsigned only in ISO C90 /tmp/Int.15844.hc:1182: warning: this decimal constant is unsigned only in ISO C90 /tmp/Int.15844.hc:2153: warning: this decimal constant is unsigned only in ISO C90 cLowBinary.c: In function 'memcheck': cLowBinary.c:193: warning: cast from pointer to integer of different size Warning: IOError is both imported and defined Warning: IOError is both imported and defined Warning: EOFError is both imported and defined Warning: PatternError is both imported and defined Warning: UserError is both imported and defined Warning: The module DIOError is called Prelude in its interface file (/tmp/malcolm/nhc98-test-ghc68/include/packages/base/DIOError.hi) Warning: The module DIOError is called Prelude in its interface file (/tmp/malcolm/nhc98-test-ghc68/include/packages/base/DIOError.hi) Context at 924:47-924:50 in type-annotated expression is ignored :-( shift/reduce conflicts: 2 real 17m29.011s user 6m58.206s sys 8m49.969s Running tests: cd tests && ./runtests clean >/dev/null && ./runtests >t.log 2>t.err tail -4 tests/t.err 110 built ok / 23 builds failed / of which 20 known / 3 bad 110 outputs match / 0 outputs differ 110 errors match / 0 errors differ real 7m30.470s user 4m4.844s sys 3m13.081s Time for build with ghc-6.10.2 closureval.c: In function 'buildClosure': closureval.c:25: warning: cast from pointer to integer of different size ar: creating /tmp/malcolm/nhc98-test-ghc610/targets/ix86-Linux/obj/runtime/Kernel/Runtime.a hmake-config: Starting new config file in /tmp/malcolm/nhc98-test-ghc610/lib/ix86-Linux/hmakerc Warning: package(s) readline not available (according to ghc-pkg) MkProg: Can't find module System.Console.Readline in user directories . ../hmake Or in installed libraries/packages at /usr/local/pkg/ghc-6.10.2-i686-1/lib/ghc-6.10.2/base-3.0.3.1 /usr/local/pkg/ghc-6.10.2-i686-1/lib/ghc-6.10.2/base-4.1.0.0 /usr/local/pkg/ghc-6.10.2-i686-1/lib/ghc-6.10.2/haskell98-1.0.1.0 /usr/local/pkg/ghc-6.10.2-i686-1/lib/ghc-6.10.2/base-4.1.0.0 /usr/local/pkg/ghc-6.10.2-i686-1/lib/ghc-6.10.2/base-3.0.3.1 Asked for by: SimpleLineEditor.hs Fix using the -I, -P, or -package flags. Stop - hmake dependency error. make[1]: *** [/tmp/malcolm/nhc98-test-ghc610/lib/ix86-Linux/HInteractive] Error 1 make: *** [targets/ix86-Linux/hmake-ghc] Error 2 real 1m1.430s user 0m22.752s sys 0m24.552s /usr/malcolm/cron/lomond/autorun finished at Sun Jun 21 03:17:57 BST 2009