User Tools

Site Tools


chumby

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
chumby [2010/03/22 22:13]
ladyada
chumby [2016/01/28 18:05] (current)
Line 99: Line 99:
  
 stop_control_panel stop_control_panel
-./​switch_output -l+/​mnt/​storage/​switch_output -l
 switch_fb.sh 0 switch_fb.sh 0
 </​file>​ </​file>​
Line 173: Line 173:
 </​file>​ </​file>​
  
-stuck :(+dmesg says we're out of memory! 
 + 
 +<​file>​ 
 +[  809.010000] ntpd invoked oom-killergfp_mask=0x1201d2,​ order=0, oomkilladj=0 
 +[  809.010000] [<​c02ff9bc>​] ​(dump_stack+0x0/​0x14) from [<​c00777f4>​] (oom_kill_process+0x5c/​0x1d8) 
 +[  809.020000] [<​c0077798>​] (oom_kill_process+0x0/​0x1d8) from [<​c0077f38>​] (out_of_memory+0x1dc/​0x254) 
 +[  809.030000] ​ r8:c2aac000 r7:c0445858 r6:000001be r5:c3dec900 r4:​c2a68600 
 +[  809.040000] [<​c0077d5c>​] (out_of_memory+0x0/​0x254) from [<​c007ab98>​] (__alloc_pages_internal+0x300/​0x3bc) 
 +[  809.050000] [<​c007a898>​] (__alloc_pages_internal+0x0/​0x3bc) from [<​c007cd6c>​] (__do_page_cache_readahead+0x118/​0x264) 
 +[  809.060000] [<​c007cc54>​] (__do_page_cache_readahead+0x0/​0x264) from [<​c007cf24>​] (do_page_cache_readahead+0x6c/​0x74) 
 +[  809.070000] [<​c007ceb8>​] (do_page_cache_readahead+0x0/​0x74) from [<​c0075168>​] (filemap_fault+0x1d8/​0x448) 
 +[  809.080000] ​ r7:00000000 r6:c2aac000 r5:00000000 r4:​00000000 
 +[  809.080000] [<​c0074f90>​] (filemap_fault+0x0/​0x448) from [<​c0084958>​] (__do_fault+0x54/​0x488) 
 +[  809.090000] [<​c0084904>​] (__do_fault+0x0/​0x488) from [<​c0085bf0>​] (handle_mm_fault+0x2f4/​0x7c0) 
 +[  809.100000] [<​c00858fc>​] (handle_mm_fault+0x0/​0x7c0) from [<​c002da64>​] (do_page_fault+0xf0/​0x238) 
 +[  809.110000] [<​c002d974>​] (do_page_fault+0x0/​0x238) from [<​c002dc34>​] (do_translation_fault+0x18/​0x80) 
 +[  809.120000] [<​c002dc1c>​] (do_translation_fault+0x0/​0x80) from [<​c0026254>​] (do_PrefetchAbort+0x18/​0x1c) 
 +[  809.130000] ​ r7:00000000 r6:00053790 r5:00052acc r4:​ffffffff 
 +[  809.140000] [<​c002623c>​] (do_PrefetchAbort+0x0/​0x1c) from [<​c0026dc0>​] (ret_from_exception+0x0/​0x10) 
 +[  809.150000] Exception stack(0xc2aadfb0 to 0xc2aadff8) 
 +[  809.150000] dfa0:                                     ​00000000 00052974 000002f6 000002f7  
 +[  809.160000] dfc0: 00000000 00052acc 00053790 00000000 00053794 0004ecfc 0005234c bed1bb2c  
 +[  809.170000] dfe0: 00008001 bed1bb00 0002859c 00017608 60000010 ffffffff ​                   
 +[  809.180000] Mem-info: 
 +[  809.180000] Normal per-cpu: 
 +[  809.180000] CPU    0: hi:   18, btch:   3 usd:  10 
 +[  809.190000] Active_anon:​5856 active_file:​40 inactive_anon:​5862 
 +[  809.190000] ​ inactive_file:​112 unevictable:​0 dirty:0 writeback:0 unstable:​0 
 +[  809.190000] ​ free:285 slab:767 mapped:26 pagetables:​110 bounce:0 
 +[  809.210000] Normal free:1140kB min:1016kB low:1268kB high:1524kB active_anon:​23424kB inactive_anon:​23448kB active_file:​160kB inactive_file:​448kB unevictable:​0kB present:​65024kB pages_scanned:​14 all_unreclaimable?​ no 
 +[  809.230000] lowmem_reserve[]:​ 0 0 
 +[  809.230000] Normal: 23*4kB 7*8kB 0*16kB 1*32kB 1*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 1140kB 
 +[  809.240000] 377 total pagecache pages 
 +[  809.240000] 0 pages in swap cache 
 +[  809.250000] Swap cache stats: add 0, delete 0, find 0/0 
 +[  809.250000] Free swap  = 0kB 
 +[  809.250000] Total swap = 0kB 
 +[  809.260000] 16384 pages of RAM 
 +[  809.270000] 423 free pages 
 +[  809.270000] 2647 reserved pages 
 +[  809.270000] 630 slab pages 
 +[  809.270000] 108 pages shared 
 +[  809.280000] 0 pages swap cached 
 +[  809.280000] Out of memory: kill process 2683 (g++) score 446 or a child 
 +[  809.290000] Killed process 2684 (cc1plus) 
 +</​file>​ 
 + 
 +try.. 
 + 
 +<​file>​ 
 +if [ ! -e /​mnt/​storage/​swap ] 
 +then 
 +    echo "​Making 256M swapfile"​ 
 +    dd if=/​dev/​zero of=/​mnt/​storage/​swap bs=1M count=256 
 +    mkswap /​mnt/​storage/​swap 
 +fi 
 +swapon /​mnt/​storage/​swap 
 +</​file>​ 
 + 
 +done and...sucess! 
 + 
 +{{http://​farm3.static.flickr.com/​2760/​4455436625_859aa97392.jpg}} 
 + 
 +good news: you can play ROMs if you specify them on the command line. badnews: the ROM launcher not only doesnt work, but if it tries to run it gives some assert error and then doesnt '​release'​ the SDL library (or *something*) and it doesnt really work until reboot. :( 
 + 
 +commented out the Assert in Rect.h and it all works now - this should of course be fixed but hey! 
 + 
 +[[http://​lists.libsdl.org/​pipermail/​sdl-libsdl.org/​2006-July/​056756.html|The ^C problem is discussed here]] printf! 
 + 
 +==== fix colormap ==== 
 + 
 +R and B are swapped in SDL. whyso? 
 +Uncommented DEBUG_FBCON in SDL, got this 
 +<​file> ​       xres: 320 
 +        yres: 240 
 +        xres_virtual:​ 320 
 +        yres_virtual:​ 240 
 +        xoffset: 0 
 +        yoffset: 0 
 +        bits_per_pixel:​ 16 
 +        grayscale: 0 
 +        nonstd: 0 
 +        activate: 0 
 +        height: 240 
 +        width: 320 
 +        accel_flags:​ 0 
 +        pixclock: 154000 
 +        left_margin:​ 5 
 +        right_margin:​ 4 
 +        upper_margin:​ 3 
 +        lower_margin:​ 3 
 +        hsync_len: 40 
 +        vsync_len: 2 
 +        sync: 0 
 +        vmode: 0 
 +        red: 5/0 
 +        green: 6/5 
 +        blue: 5/11 
 +        alpha: 0/0 
 +        </​file>​ 
 + 
 +which is fetched from SDL_fbvideo.c "​ioctl(console_fd,​ FBIOGET_VSCREENINFO,​ &​vinfo)"​ (in a few places) 
 + 
 +So it seems like the FB driver is reporting the wrong thing 
 +i guess we could just hack it..? 
 + 
 +Edited SDL_fbvideo.c,​ line #595 and then #1038 
 +<​file>​ 
 +        // BEGIN TERRIBLE MEME HACK                                              
 +        uint32_t tempoffset = vinfo.red.offset; ​                                 
 +        vinfo.red.offset = vinfo.blue.offset; ​                        
 +        vinfo.blue.offset = tempoffset; ​                            
 +        // END TERRIBLE MEME HACK  
 +         
 +</​file>​ 
 + 
 +but...it works! should probably fix this '​upstream'​ somehow 
 + 
 +==== FCEUX ==== 
 + 
 +OK so now that stella is sweet, we'll go up one level to NES emulators. FCEUX is SDL-based and works well. Lets do that. 
 + 
 +First we need to install python, [[http://​wiki.chumby.com/​mediawiki/​index.php/​Python|grab this precompiled tgz]] and uncompress it (we ran out of space in / so it went into /​mnt/​storage/​ and then edit your path or ln -s) 
 + 
 +Next we will need to install SCons, [[http://​www.scons.org/​download.php|download the latest source tarball]] we used 2.00 Once unpacked, go into the directory and type "​python setup.py install"​. If it complains that it cant find the pyconfig.h you can create it using this (which is from our desktop linux box but hey it works): 
 + 
 +<​file>/​* pyconfig.h. ​ Generated from pyconfig.h.in by configure. ​ */ 
 +/* pyconfig.h.in. ​ Generated from configure.in by autoheader. ​ */ 
 + 
 + 
 +#ifndef Py_PYCONFIG_H 
 +#define Py_PYCONFIG_H 
 + 
 + 
 +/* Define for AIX if your compiler is a genuine IBM xlC/xlC_r and you want 
 +   ​support for AIX C++ shared extension modules. */ 
 +/* #undef AIX_GENUINE_CPLUSPLUS */ 
 + 
 +/* Define this if you have AtheOS threads. */ 
 +/* #undef ATHEOS_THREADS */ 
 + 
 +/* Define this if you have BeOS threads. */ 
 +/* #undef BEOS_THREADS */ 
 + 
 +/* Define if you have the Mach cthreads package */ 
 +/* #undef C_THREADS */ 
 + 
 +/* Define if --enable-ipv6 is specified */ 
 +#define ENABLE_IPV6 1 
 + 
 +/* Define if getpgrp() must be called as getpgrp(0). */ 
 +/* #undef GETPGRP_HAVE_ARG */ 
 + 
 +/* Define if gettimeofday() does not have second (timezone) argument This is 
 +   the case on Motorola V4 (R40V4.2) */ 
 +/* #undef GETTIMEOFDAY_NO_TZ */ 
 + 
 +/* Define to 1 if you have the `acosh'​ function. */ 
 +#define HAVE_ACOSH 1 
 + 
 +/* struct addrinfo (netdb.h) */ 
 +#define HAVE_ADDRINFO 1 
 + 
 +/* Define to 1 if you have the `alarm'​ function. */ 
 +#define HAVE_ALARM 1 
 + 
 +/* Define this if your time.h defines altzone. */ 
 +/* #undef HAVE_ALTZONE */ 
 + 
 +/* Define to 1 if you have the `asinh'​ function. */ 
 +#define HAVE_ASINH 1 
 + 
 +/* Define to 1 if you have the <​asm/​types.h>​ header file. */ 
 +#define HAVE_ASM_TYPES_H 1 
 + 
 +/* Define to 1 if you have the `atanh'​ function. */ 
 +#define HAVE_ATANH 1 
 + 
 +/* Define if GCC supports __attribute__((format(PyArg_ParseTuple,​ 2, 3))) */ 
 +/* #undef HAVE_ATTRIBUTE_FORMAT_PARSETUPLE */ 
 + 
 +/* Define to 1 if you have the `bind_textdomain_codeset'​ function. */ 
 +#define HAVE_BIND_TEXTDOMAIN_CODESET 1 
 + 
 +/* Define to 1 if you have the <​bluetooth/​bluetooth.h>​ header file. */ 
 +#define HAVE_BLUETOOTH_BLUETOOTH_H 1 
 + 
 +/* Define to 1 if you have the <​bluetooth.h>​ header file. */ 
 +/* #undef HAVE_BLUETOOTH_H */ 
 + 
 +/* Define if nice() returns success/​failure instead of the new priority. */ 
 +/* #undef HAVE_BROKEN_NICE */ 
 + 
 +/* Define if poll() sets errno on invalid file descriptors. */ 
 +/* #undef HAVE_BROKEN_POLL */ 
 + 
 +/* Define if the Posix semaphores do not work on your system */ 
 +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ 
 + 
 +/* Define if pthread_sigmask() does not work on your system. */ 
 +/* #undef HAVE_BROKEN_PTHREAD_SIGMASK */ 
 + 
 +/* Define this if you have the type _Bool. */ 
 +#define HAVE_C99_BOOL 1 
 + 
 +/* Define to 1 if you have the `chflags'​ function. */ 
 +/* #undef HAVE_CHFLAGS */ 
 + 
 +/* Define to 1 if you have the `chown'​ function. */ 
 +#define HAVE_CHOWN 1 
 + 
 +/* Define if you have the '​chroot'​ function. */ 
 +#define HAVE_CHROOT 1 
 + 
 +/* Define to 1 if you have the `clock'​ function. */ 
 +#define HAVE_CLOCK 1 
 + 
 +/* Define to 1 if you have the `confstr'​ function. */ 
 +#define HAVE_CONFSTR 1 
 + 
 +/* Define to 1 if you have the <​conio.h>​ header file. */ 
 +/* #undef HAVE_CONIO_H */ 
 + 
 +/* Define to 1 if you have the `copysign'​ function. */ 
 +#define HAVE_COPYSIGN 1 
 + 
 +/* Define to 1 if you have the `ctermid'​ function. */ 
 +#define HAVE_CTERMID 1 
 + 
 +/* Define if you have the '​ctermid_r'​ function. */ 
 +/* #undef HAVE_CTERMID_R */ 
 + 
 +/* Define to 1 if you have the <​curses.h>​ header file. */ 
 +#define HAVE_CURSES_H 1 
 + 
 +/* Define if you have the '​is_term_resized'​ function. */ 
 +#define HAVE_CURSES_IS_TERM_RESIZED 1 
 + 
 +/* Define if you have the '​resizeterm'​ function. */ 
 +#define HAVE_CURSES_RESIZETERM 1 
 + 
 +/* Define if you have the '​resize_term'​ function. */ 
 +#define HAVE_CURSES_RESIZE_TERM 1 
 + 
 +/* Define to 1 if you have the declaration of `isfinite',​ and to 0 if you 
 +   ​don'​t. */ 
 +#define HAVE_DECL_ISFINITE 1 
 + 
 +/* Define to 1 if you have the declaration of `isinf',​ and to 0 if you don'​t. 
 +   */ 
 +#define HAVE_DECL_ISINF 1 
 + 
 +/* Define to 1 if you have the declaration of `isnan',​ and to 0 if you don'​t. 
 +   */ 
 +#define HAVE_DECL_ISNAN 1 
 + 
 +/* Define to 1 if you have the declaration of `tzname',​ and to 0 if you don'​t. 
 +   */ 
 +/* #undef HAVE_DECL_TZNAME */ 
 + 
 +/* Define to 1 if you have the device macros. */ 
 +#define HAVE_DEVICE_MACROS 1 
 + 
 +/* Define if we have /dev/ptc. */ 
 +/* #undef HAVE_DEV_PTC */ 
 + 
 +/* Define if we have /dev/ptmx. */ 
 +#define HAVE_DEV_PTMX 1 
 + 
 +/* Define to 1 if you have the <​direct.h>​ header file. */ 
 +/* #undef HAVE_DIRECT_H */ 
 + 
 +/* Define to 1 if you have the <​dirent.h>​ header file, and it defines `DIR'​. 
 +   */ 
 +#define HAVE_DIRENT_H 1 
 + 
 +/* Define to 1 if you have the <​dlfcn.h>​ header file. */ 
 +#define HAVE_DLFCN_H 1 
 + 
 +/* Define to 1 if you have the `dlopen'​ function. */ 
 +#define HAVE_DLOPEN 1 
 + 
 +/* Define to 1 if you have the `dup2' function. */ 
 +#define HAVE_DUP2 1 
 + 
 +/* Defined when any dynamic module loading is enabled. */ 
 +#define HAVE_DYNAMIC_LOADING 1 
 + 
 +/* Define if you have the '​epoll'​ functions. */ 
 +#define HAVE_EPOLL 1 
 + 
 +/* Define to 1 if you have the <​errno.h>​ header file. */ 
 +#define HAVE_ERRNO_H 1 
 + 
 +/* Define to 1 if you have the `execv'​ function. */ 
 +#define HAVE_EXECV 1 
 + 
 +/* Define to 1 if you have the `expm1'​ function. */ 
 +#define HAVE_EXPM1 1 
 + 
 +/* Define if you have the '​fchdir'​ function. */ 
 +#define HAVE_FCHDIR 1 
 + 
 +/* Define to 1 if you have the `fchmod'​ function. */ 
 +#define HAVE_FCHMOD 1 
 + 
 +/* Define to 1 if you have the `fchown'​ function. */ 
 +#define HAVE_FCHOWN 1 
 + 
 +/* Define to 1 if you have the <​fcntl.h>​ header file. */ 
 +#define HAVE_FCNTL_H 1 
 + 
 +/* Define if you have the '​fdatasync'​ function. */ 
 +#define HAVE_FDATASYNC 1 
 + 
 +/* Define to 1 if you have the `finite'​ function. */ 
 +#define HAVE_FINITE 1 
 + 
 +/* Define if you have the '​flock'​ function. */ 
 +#define HAVE_FLOCK 1 
 + 
 +/* Define to 1 if you have the `fork' function. */ 
 +#define HAVE_FORK 1 
 + 
 +/* Define to 1 if you have the `forkpty'​ function. */ 
 +#define HAVE_FORKPTY 1 
 + 
 +/* Define to 1 if you have the `fpathconf'​ function. */ 
 +#define HAVE_FPATHCONF 1 
 + 
 +/* Define to 1 if you have the `fseek64'​ function. */ 
 +/* #undef HAVE_FSEEK64 */ 
 + 
 +/* Define to 1 if you have the `fseeko'​ function. */ 
 +#define HAVE_FSEEKO 1 
 + 
 +/* Define to 1 if you have the `fstatvfs'​ function. */ 
 +#define HAVE_FSTATVFS 1 
 + 
 +/* Define if you have the '​fsync'​ function. */ 
 +#define HAVE_FSYNC 1 
 + 
 +/* Define to 1 if you have the `ftell64'​ function. */ 
 +/* #undef HAVE_FTELL64 */ 
 + 
 +/* Define to 1 if you have the `ftello'​ function. */ 
 +#define HAVE_FTELLO 1 
 + 
 +/* Define to 1 if you have the `ftime'​ function. */ 
 +#define HAVE_FTIME 1 
 + 
 +/* Define to 1 if you have the `ftruncate'​ function. */ 
 +#define HAVE_FTRUNCATE 1 
 + 
 +/* Define to 1 if you have the `gai_strerror'​ function. */ 
 +#define HAVE_GAI_STRERROR 1 
 + 
 +/* Define if you have the getaddrinfo function. */ 
 +#define HAVE_GETADDRINFO 1 
 + 
 +/* Define to 1 if you have the `getcwd'​ function. */ 
 +#define HAVE_GETCWD 1 
 + 
 +/* Define this if you have flockfile(),​ getc_unlocked(),​ and funlockfile() */ 
 +#define HAVE_GETC_UNLOCKED 1 
 + 
 +/* Define to 1 if you have the `getgroups'​ function. */ 
 +#define HAVE_GETGROUPS 1 
 + 
 +/* Define to 1 if you have the `gethostbyname'​ function. */ 
 +/* #undef HAVE_GETHOSTBYNAME */ 
 + 
 +/* Define this if you have some version of gethostbyname_r() */ 
 +#define HAVE_GETHOSTBYNAME_R 1 
 + 
 +/* Define this if you have the 3-arg version of gethostbyname_r(). */ 
 +/* #undef HAVE_GETHOSTBYNAME_R_3_ARG */ 
 + 
 +/* Define this if you have the 5-arg version of gethostbyname_r(). */ 
 +/* #undef HAVE_GETHOSTBYNAME_R_5_ARG */ 
 + 
 +/* Define this if you have the 6-arg version of gethostbyname_r(). */ 
 +#define HAVE_GETHOSTBYNAME_R_6_ARG 1 
 + 
 +/* Define to 1 if you have the `getitimer'​ function. */ 
 +#define HAVE_GETITIMER 1 
 + 
 +/* Define to 1 if you have the `getloadavg'​ function. */ 
 +#define HAVE_GETLOADAVG 1 
 + 
 +/* Define to 1 if you have the `getlogin'​ function. */ 
 +#define HAVE_GETLOGIN 1 
 + 
 +/* Define to 1 if you have the `getnameinfo'​ function. */ 
 +#define HAVE_GETNAMEINFO 1 
 + 
 +/* Define if you have the '​getpagesize'​ function. */ 
 +#define HAVE_GETPAGESIZE 1 
 + 
 +/* Define to 1 if you have the `getpeername'​ function. */ 
 +#define HAVE_GETPEERNAME 1 
 + 
 +/* Define to 1 if you have the `getpgid'​ function. */ 
 +#define HAVE_GETPGID 1 
 + 
 +/* Define to 1 if you have the `getpgrp'​ function. */ 
 +#define HAVE_GETPGRP 1 
 + 
 +/* Define to 1 if you have the `getpid'​ function. */ 
 +#define HAVE_GETPID 1 
 + 
 +/* Define to 1 if you have the `getpriority'​ function. */ 
 +#define HAVE_GETPRIORITY 1 
 + 
 +/* Define to 1 if you have the `getpwent'​ function. */ 
 +#define HAVE_GETPWENT 1 
 + 
 +/* Define to 1 if you have the `getsid'​ function. */ 
 +#define HAVE_GETSID 1 
 + 
 +/* Define to 1 if you have the `getspent'​ function. */ 
 +#define HAVE_GETSPENT 1 
 + 
 +/* Define to 1 if you have the `getspnam'​ function. */ 
 +#define HAVE_GETSPNAM 1 
 + 
 +/* Define to 1 if you have the `gettimeofday'​ function. */ 
 +#define HAVE_GETTIMEOFDAY 1 
 + 
 +/* Define to 1 if you have the `getwd'​ function. */ 
 +#define HAVE_GETWD 1 
 + 
 +/* Define to 1 if you have the <​grp.h>​ header file. */ 
 +#define HAVE_GRP_H 1 
 + 
 +/* Define if you have the '​hstrerror'​ function. */ 
 +#define HAVE_HSTRERROR 1 
 + 
 +/* Define to 1 if you have the `hypot'​ function. */ 
 +#define HAVE_HYPOT 1 
 + 
 +/* Define to 1 if you have the <​ieeefp.h>​ header file. */ 
 +/* #undef HAVE_IEEEFP_H */ 
 + 
 +/* Define if you have the '​inet_aton'​ function. */ 
 +#define HAVE_INET_ATON 1 
 + 
 +/* Define if you have the '​inet_pton'​ function. */ 
 +#define HAVE_INET_PTON 1 
 + 
 +/* Define to 1 if you have the <​inttypes.h>​ header file. */ 
 +#define HAVE_INTTYPES_H 1 
 + 
 +/* Define to 1 if you have the <​io.h>​ header file. */ 
 +/* #undef HAVE_IO_H */ 
 + 
 +/* Define to 1 if you have the `kill' function. */ 
 +#define HAVE_KILL 1 
 + 
 +/* Define to 1 if you have the `killpg'​ function. */ 
 +#define HAVE_KILLPG 1 
 + 
 +/* Define if you have the '​kqueue'​ functions. */ 
 +/* #undef HAVE_KQUEUE */ 
 + 
 +/* Define to 1 if you have the <​langinfo.h>​ header file. */ 
 +#define HAVE_LANGINFO_H 1 
 + 
 +/* Defined to enable large file support when an off_t is bigger than a long 
 +   and long long is available and at least as big as an off_t. You may need to 
 +   add some flags for configuration and compilation to enable this mode. (For 
 +   ​Solaris and Linux, the necessary defines are already defined.) */ 
 +#define HAVE_LARGEFILE_SUPPORT 1 
 + 
 +/* Define to 1 if you have the `lchflags'​ function. */ 
 +/* #undef HAVE_LCHFLAGS */ 
 + 
 +/* Define to 1 if you have the `lchmod'​ function. */ 
 +/* #undef HAVE_LCHMOD */ 
 + 
 +/* Define to 1 if you have the `lchown'​ function. */ 
 +#define HAVE_LCHOWN 1 
 + 
 +/* Define to 1 if you have the `dl' library (-ldl). */ 
 +#define HAVE_LIBDL 1 
 + 
 +/* Define to 1 if you have the `dld' library (-ldld). */ 
 +/* #undef HAVE_LIBDLD */ 
 + 
 +/* Define to 1 if you have the `ieee' library (-lieee). */ 
 +/* #undef HAVE_LIBIEEE */ 
 + 
 +/* Define to 1 if you have the <​libintl.h>​ header file. */ 
 +#define HAVE_LIBINTL_H 1 
 + 
 +/* Define if you have the readline library (-lreadline). */ 
 +#define HAVE_LIBREADLINE 1 
 + 
 +/* Define to 1 if you have the `resolv'​ library (-lresolv). */ 
 +/* #undef HAVE_LIBRESOLV */ 
 + 
 +/* Define to 1 if you have the <​libutil.h>​ header file. */ 
 +/* #undef HAVE_LIBUTIL_H */ 
 + 
 +/* Define if you have the '​link'​ function. */ 
 +#define HAVE_LINK 1 
 + 
 +/* Define to 1 if you have the <​linux/​netlink.h>​ header file. */ 
 +#define HAVE_LINUX_NETLINK_H 1 
 + 
 +/* Define to 1 if you have the <​linux/​tipc.h>​ header file. */ 
 +#define HAVE_LINUX_TIPC_H 1 
 + 
 +/* Define to 1 if you have the `log1p'​ function. */ 
 +#define HAVE_LOG1P 1 
 + 
 +/* Define this if you have the type long double. */ 
 +#define HAVE_LONG_DOUBLE 1 
 + 
 +/* Define this if you have the type long long. */ 
 +#define HAVE_LONG_LONG 1 
 + 
 +/* Define to 1 if you have the `lstat'​ function. */ 
 +#define HAVE_LSTAT 1 
 + 
 +/* Define this if you have the makedev macro. */ 
 +#define HAVE_MAKEDEV 1 
 + 
 +/* Define to 1 if you have the `memmove'​ function. */ 
 +#define HAVE_MEMMOVE 1 
 + 
 +/* Define to 1 if you have the <​memory.h>​ header file. */ 
 +#define HAVE_MEMORY_H 1 
 + 
 +/* Define to 1 if you have the `mkfifo'​ function. */ 
 +#define HAVE_MKFIFO 1 
 + 
 +/* Define to 1 if you have the `mknod'​ function. */ 
 +#define HAVE_MKNOD 1 
 + 
 +/* Define to 1 if you have the `mktime'​ function. */ 
 +#define HAVE_MKTIME 1 
 + 
 +/* Define to 1 if you have the `mremap'​ function. */ 
 +#define HAVE_MREMAP 1 
 + 
 +/* Define to 1 if you have the <​ncurses.h>​ header file. */ 
 +#define HAVE_NCURSES_H 1 
 + 
 +/* Define to 1 if you have the <​ndir.h>​ header file, and it defines `DIR'. */ 
 +/* #undef HAVE_NDIR_H */ 
 + 
 +/* Define to 1 if you have the <​netpacket/​packet.h>​ header file. */ 
 +#define HAVE_NETPACKET_PACKET_H 1 
 + 
 +/* Define to 1 if you have the `nice' function. */ 
 +#define HAVE_NICE 1 
 + 
 +/* Define to 1 if you have the `openpty'​ function. */ 
 +#define HAVE_OPENPTY 1 
 + 
 +/* Define if compiling using MacOS X 10.5 SDK or later. */ 
 +/* #undef HAVE_OSX105_SDK */ 
 + 
 +/* Define to 1 if you have the `pathconf'​ function. */ 
 +#define HAVE_PATHCONF 1 
 + 
 +/* Define to 1 if you have the `pause'​ function. */ 
 +#define HAVE_PAUSE 1 
 + 
 +/* Define to 1 if you have the `plock'​ function. */ 
 +/* #undef HAVE_PLOCK */ 
 + 
 +/* Define to 1 if you have the `poll' function. */ 
 +#define HAVE_POLL 1 
 + 
 +/* Define to 1 if you have the <​poll.h>​ header file. */ 
 +#define HAVE_POLL_H 1 
 + 
 +/* Define to 1 if you have the <​process.h>​ header file. */ 
 +/* #undef HAVE_PROCESS_H */ 
 + 
 +/* Define if your compiler supports function prototype */ 
 +#define HAVE_PROTOTYPES 1 
 + 
 +/* Define if you have GNU PTH threads. */ 
 +/* #undef HAVE_PTH */ 
 + 
 +/* Defined for Solaris 2.6 bug in pthread header. */ 
 +/* #undef HAVE_PTHREAD_DESTRUCTOR */ 
 + 
 +/* Define to 1 if you have the <​pthread.h>​ header file. */ 
 +#define HAVE_PTHREAD_H 1 
 + 
 +/* Define to 1 if you have the `pthread_init'​ function. */ 
 +/* #undef HAVE_PTHREAD_INIT */ 
 + 
 +/* Define to 1 if you have the `pthread_sigmask'​ function. */ 
 +#define HAVE_PTHREAD_SIGMASK 1 
 + 
 +/* Define to 1 if you have the <​pty.h>​ header file. */ 
 +#define HAVE_PTY_H 1 
 + 
 +/* Define to 1 if you have the `putenv'​ function. */ 
 +#define HAVE_PUTENV 1 
 + 
 +/* Define to 1 if you have the `readlink'​ function. */ 
 +#define HAVE_READLINK 1 
 + 
 +/* Define to 1 if you have the `realpath'​ function. */ 
 +#define HAVE_REALPATH 1 
 + 
 +/* Define if you have readline 2.1 */ 
 +#define HAVE_RL_CALLBACK 1 
 + 
 +/* Define if you can turn off readline'​s signal handling. */ 
 +#define HAVE_RL_CATCH_SIGNAL 1 
 + 
 +/* Define if you have readline 2.2 */ 
 +#define HAVE_RL_COMPLETION_APPEND_CHARACTER 1 
 + 
 +/* Define if you have readline 4.0 */ 
 +#define HAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK 1 
 + 
 +/* Define if you have readline 4.2 */ 
 +#define HAVE_RL_COMPLETION_MATCHES 1 
 + 
 +/* Define if you have readline 4.0 */ 
 +#define HAVE_RL_PRE_INPUT_HOOK 1 
 + 
 +/* Define to 1 if you have the `select'​ function. */ 
 +#define HAVE_SELECT 1 
 + 
 +/* Define to 1 if you have the `setegid'​ function. */ 
 +#define HAVE_SETEGID 1 
 + 
 +/* Define to 1 if you have the `seteuid'​ function. */ 
 +#define HAVE_SETEUID 1 
 + 
 +/* Define to 1 if you have the `setgid'​ function. */ 
 +#define HAVE_SETGID 1 
 + 
 +/* Define if you have the '​setgroups'​ function. */ 
 +#define HAVE_SETGROUPS 1 
 + 
 +/* Define to 1 if you have the `setitimer'​ function. */ 
 +#define HAVE_SETITIMER 1 
 + 
 +/* Define to 1 if you have the `setlocale'​ function. */ 
 +#define HAVE_SETLOCALE 1 
 + 
 +/* Define to 1 if you have the `setpgid'​ function. */ 
 +#define HAVE_SETPGID 1 
 + 
 +/* Define to 1 if you have the `setpgrp'​ function. */ 
 +#define HAVE_SETPGRP 1 
 + 
 +/* Define to 1 if you have the `setregid'​ function. */ 
 +#define HAVE_SETREGID 1 
 + 
 +/* Define to 1 if you have the `setreuid'​ function. */ 
 +#define HAVE_SETREUID 1 
 + 
 +/* Define to 1 if you have the `setsid'​ function. */ 
 +#define HAVE_SETSID 1 
 + 
 +/* Define to 1 if you have the `setuid'​ function. */ 
 +#define HAVE_SETUID 1 
 + 
 +/* Define to 1 if you have the `setvbuf'​ function. */ 
 +#define HAVE_SETVBUF 1 
 + 
 +/* Define to 1 if you have the <​shadow.h>​ header file. */ 
 +#define HAVE_SHADOW_H 1 
 + 
 +/* Define to 1 if you have the `sigaction'​ function. */ 
 +#define HAVE_SIGACTION 1 
 + 
 +/* Define to 1 if you have the `siginterrupt'​ function. */ 
 +#define HAVE_SIGINTERRUPT 1 
 + 
 +/* Define to 1 if you have the <​signal.h>​ header file. */ 
 +#define HAVE_SIGNAL_H 1 
 + 
 +/* Define to 1 if you have the `sigrelse'​ function. */ 
 +#define HAVE_SIGRELSE 1 
 + 
 +/* Define to 1 if you have the `snprintf'​ function. */ 
 +#define HAVE_SNPRINTF 1 
 + 
 +/* Define if sockaddr has sa_len member */ 
 +/* #undef HAVE_SOCKADDR_SA_LEN */ 
 + 
 +/* struct sockaddr_storage (sys/​socket.h) */ 
 +#define HAVE_SOCKADDR_STORAGE 1 
 + 
 +/* Define if you have the '​socketpair'​ function. */ 
 +#define HAVE_SOCKETPAIR 1 
 + 
 +/* Define if your compiler provides ssize_t */ 
 +#define HAVE_SSIZE_T 1 
 + 
 +/* Define to 1 if you have the `statvfs'​ function. */ 
 +#define HAVE_STATVFS 1 
 + 
 +/* Define if you have struct stat.st_mtim.tv_nsec */ 
 +#define HAVE_STAT_TV_NSEC 1 
 + 
 +/* Define if you have struct stat.st_mtimensec */ 
 +/* #undef HAVE_STAT_TV_NSEC2 */ 
 + 
 +/* Define if your compiler supports variable length function prototypes (e.g. 
 +   void fprintf(FILE *, char *, ...);) *and* <​stdarg.h>​ */ 
 +#define HAVE_STDARG_PROTOTYPES 1 
 + 
 +/* Define to 1 if you have the <​stdint.h>​ header file. */ 
 +#define HAVE_STDINT_H 1 
 + 
 +/* Define to 1 if you have the <​stdlib.h>​ header file. */ 
 +#define HAVE_STDLIB_H 1 
 + 
 +/* Define to 1 if you have the `strdup'​ function. */ 
 +#define HAVE_STRDUP 1 
 + 
 +/* Define to 1 if you have the `strftime'​ function. */ 
 +#define HAVE_STRFTIME 1 
 + 
 +/* Define to 1 if you have the <​strings.h>​ header file. */ 
 +#define HAVE_STRINGS_H 1 
 + 
 +/* Define to 1 if you have the <​string.h>​ header file. */ 
 +#define HAVE_STRING_H 1 
 + 
 +/* Define to 1 if you have the <​stropts.h>​ header file. */ 
 +#define HAVE_STROPTS_H 1 
 + 
 +/* Define to 1 if `st_birthtime'​ is member of `struct stat'. */ 
 +/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIME */ 
 + 
 +/* Define to 1 if `st_blksize'​ is member of `struct stat'. */ 
 +#define HAVE_STRUCT_STAT_ST_BLKSIZE 1 
 + 
 +/* Define to 1 if `st_blocks'​ is member of `struct stat'. */ 
 +#define HAVE_STRUCT_STAT_ST_BLOCKS 1 
 + 
 +/* Define to 1 if `st_flags'​ is member of `struct stat'. */ 
 +/* #undef HAVE_STRUCT_STAT_ST_FLAGS */ 
 + 
 +/* Define to 1 if `st_gen'​ is member of `struct stat'. */ 
 +/* #undef HAVE_STRUCT_STAT_ST_GEN */ 
 + 
 +/* Define to 1 if `st_rdev'​ is member of `struct stat'. */ 
 +#define HAVE_STRUCT_STAT_ST_RDEV 1 
 + 
 +/* Define to 1 if `tm_zone'​ is member of `struct tm'. */ 
 +#define HAVE_STRUCT_TM_TM_ZONE 1 
 + 
 +/* Define to 1 if your `struct stat' has `st_blocks'​. Deprecated, use 
 +   ​`HAVE_STRUCT_STAT_ST_BLOCKS'​ instead. */ 
 +#define HAVE_ST_BLOCKS 1 
 + 
 +/* Define if you have the '​symlink'​ function. */ 
 +#define HAVE_SYMLINK 1 
 + 
 +/* Define to 1 if you have the `sysconf'​ function. */ 
 +#define HAVE_SYSCONF 1 
 + 
 +/* Define to 1 if you have the <​sysexits.h>​ header file. */ 
 +#define HAVE_SYSEXITS_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​audioio.h>​ header file. */ 
 +/* #undef HAVE_SYS_AUDIOIO_H */ 
 + 
 +/* Define to 1 if you have the <​sys/​bsdtty.h>​ header file. */ 
 +/* #undef HAVE_SYS_BSDTTY_H */ 
 + 
 +/* Define to 1 if you have the <​sys/​dir.h>​ header file, and it defines `DIR'​. 
 +   */ 
 +/* #undef HAVE_SYS_DIR_H */ 
 + 
 +/* Define to 1 if you have the <​sys/​epoll.h>​ header file. */ 
 +#define HAVE_SYS_EPOLL_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​event.h>​ header file. */ 
 +/* #undef HAVE_SYS_EVENT_H */ 
 + 
 +/* Define to 1 if you have the <​sys/​file.h>​ header file. */ 
 +#define HAVE_SYS_FILE_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​loadavg.h>​ header file. */ 
 +/* #undef HAVE_SYS_LOADAVG_H */ 
 + 
 +/* Define to 1 if you have the <​sys/​lock.h>​ header file. */ 
 +/* #undef HAVE_SYS_LOCK_H */ 
 + 
 +/* Define to 1 if you have the <​sys/​mkdev.h>​ header file. */ 
 +/* #undef HAVE_SYS_MKDEV_H */ 
 + 
 +/* Define to 1 if you have the <​sys/​modem.h>​ header file. */ 
 +/* #undef HAVE_SYS_MODEM_H */ 
 + 
 +/* Define to 1 if you have the <​sys/​ndir.h>​ header file, and it defines `DIR'​. 
 +   */ 
 +/* #undef HAVE_SYS_NDIR_H */ 
 + 
 +/* Define to 1 if you have the <​sys/​param.h>​ header file. */ 
 +#define HAVE_SYS_PARAM_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​poll.h>​ header file. */ 
 +#define HAVE_SYS_POLL_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​resource.h>​ header file. */ 
 +#define HAVE_SYS_RESOURCE_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​select.h>​ header file. */ 
 +#define HAVE_SYS_SELECT_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​socket.h>​ header file. */ 
 +#define HAVE_SYS_SOCKET_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​statvfs.h>​ header file. */ 
 +#define HAVE_SYS_STATVFS_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​stat.h>​ header file. */ 
 +#define HAVE_SYS_STAT_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​termio.h>​ header file. */ 
 +/* #undef HAVE_SYS_TERMIO_H */ 
 + 
 +/* Define to 1 if you have the <​sys/​times.h>​ header file. */ 
 +#define HAVE_SYS_TIMES_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​time.h>​ header file. */ 
 +#define HAVE_SYS_TIME_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​types.h>​ header file. */ 
 +#define HAVE_SYS_TYPES_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​un.h>​ header file. */ 
 +#define HAVE_SYS_UN_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​utsname.h>​ header file. */ 
 +#define HAVE_SYS_UTSNAME_H 1 
 + 
 +/* Define to 1 if you have the <​sys/​wait.h>​ header file. */ 
 +#define HAVE_SYS_WAIT_H 1 
 + 
 +/* Define to 1 if you have the `tcgetpgrp'​ function. */ 
 +#define HAVE_TCGETPGRP 1 
 + 
 +/* Define to 1 if you have the `tcsetpgrp'​ function. */ 
 +#define HAVE_TCSETPGRP 1 
 + 
 +/* Define to 1 if you have the `tempnam'​ function. */ 
 +#define HAVE_TEMPNAM 1 
 + 
 +/* Define to 1 if you have the <​termios.h>​ header file. */ 
 +#define HAVE_TERMIOS_H 1 
 + 
 +/* Define to 1 if you have the <​term.h>​ header file. */ 
 +#define HAVE_TERM_H 1 
 + 
 +/* Define to 1 if you have the <​thread.h>​ header file. */ 
 +/* #undef HAVE_THREAD_H */ 
 + 
 +/* Define to 1 if you have the `timegm'​ function. */ 
 +#define HAVE_TIMEGM 1 
 + 
 +/* Define to 1 if you have the `times'​ function. */ 
 +#define HAVE_TIMES 1 
 + 
 +/* Define to 1 if you have the `tmpfile'​ function. */ 
 +#define HAVE_TMPFILE 1 
 + 
 +/* Define to 1 if you have the `tmpnam'​ function. */ 
 +#define HAVE_TMPNAM 1 
 + 
 +/* Define to 1 if you have the `tmpnam_r'​ function. */ 
 +#define HAVE_TMPNAM_R 1 
 + 
 +/* Define to 1 if your `struct tm' has `tm_zone'​. Deprecated, use 
 +   ​`HAVE_STRUCT_TM_TM_ZONE'​ instead. */ 
 +#define HAVE_TM_ZONE 1 
 + 
 +/* Define to 1 if you have the `truncate'​ function. */ 
 +#define HAVE_TRUNCATE 1 
 + 
 +/* Define to 1 if you don't have `tm_zone'​ but do have the external array 
 +   ​`tzname'​. */ 
 +/* #undef HAVE_TZNAME */ 
 + 
 +/* Define this if you have tcl and TCL_UTF_MAX==6 */ 
 +/* #undef HAVE_UCS4_TCL */ 
 + 
 +/* Define to 1 if the system has the type `uintptr_t'​. */ 
 +#define HAVE_UINTPTR_T 1 
 + 
 +/* Define to 1 if you have the `uname'​ function. */ 
 +#define HAVE_UNAME 1 
 + 
 +/* Define to 1 if you have the <​unistd.h>​ header file. */ 
 +#define HAVE_UNISTD_H 1 
 + 
 +/* Define to 1 if you have the `unsetenv'​ function. */ 
 +#define HAVE_UNSETENV 1 
 + 
 +/* Define if you have a useable wchar_t type defined in wchar.h; useable means 
 +   ​wchar_t must be an unsigned type with at least 16 bits. (see 
 +   ​Include/​unicodeobject.h). */ 
 +/* #undef HAVE_USABLE_WCHAR_T */ 
 + 
 +/* Define to 1 if you have the `utimes'​ function. */ 
 +#define HAVE_UTIMES 1 
 + 
 +/* Define to 1 if you have the <​utime.h>​ header file. */ 
 +#define HAVE_UTIME_H 1 
 + 
 +/* Define to 1 if you have the `wait3'​ function. */ 
 +#define HAVE_WAIT3 1 
 + 
 +/* Define to 1 if you have the `wait4'​ function. */ 
 +#define HAVE_WAIT4 1 
 + 
 +/* Define to 1 if you have the `waitpid'​ function. */ 
 +#define HAVE_WAITPID 1 
 + 
 +/* Define if the compiler provides a wchar.h header file. */ 
 +#define HAVE_WCHAR_H 1 
 + 
 +/* Define to 1 if you have the `wcscoll'​ function. */ 
 +#define HAVE_WCSCOLL 1 
 + 
 +/* Define if tzset() actually switches the local timezone in a meaningful way. 
 +   */ 
 +#define HAVE_WORKING_TZSET 1 
 + 
 +/* Define if the zlib library has inflateCopy */ 
 +#define HAVE_ZLIB_COPY 1 
 + 
 +/* Define to 1 if you have the `_getpty'​ function. */ 
 +/* #undef HAVE__GETPTY */ 
 + 
 +/* Define if you are using Mach cthreads directly under /include */ 
 +/* #undef HURD_C_THREADS */ 
 + 
 +/* Define if you are using Mach cthreads under mach / */ 
 +/* #undef MACH_C_THREADS */ 
 + 
 +/* Define to 1 if `major',​ `minor',​ and `makedev'​ are declared in <​mkdev.h>​. 
 +   */ 
 +/* #undef MAJOR_IN_MKDEV */ 
 + 
 +/* Define to 1 if `major',​ `minor',​ and `makedev'​ are declared in 
 +   <​sysmacros.h>​. */ 
 +/* #undef MAJOR_IN_SYSMACROS */ 
 + 
 +/* Define if mvwdelch in curses.h is an expression. */ 
 +#define MVWDELCH_IS_EXPRESSION 1 
 + 
 +/* Define to the address where bug reports for this package should be sent. */ 
 +/* #undef PACKAGE_BUGREPORT */ 
 + 
 +/* Define to the full name of this package. */ 
 +/* #undef PACKAGE_NAME */ 
 + 
 +/* Define to the full name and version of this package. */ 
 +/* #undef PACKAGE_STRING */ 
 + 
 +/* Define to the one symbol short name of this package. */ 
 +/* #undef PACKAGE_TARNAME */ 
 + 
 +/* Define to the version of this package. */ 
 +/* #undef PACKAGE_VERSION */ 
 + 
 +/* Defined if PTHREAD_SCOPE_SYSTEM supported. */ 
 +#define PTHREAD_SYSTEM_SCHED_SUPPORTED 1 
 + 
 +/* Define to printf format modifier for Py_ssize_t */ 
 +#define PY_FORMAT_SIZE_T "​z"​ 
 + 
 +/* Define as the integral type used for Unicode representation. */ 
 +#define PY_UNICODE_TYPE unsigned long 
 + 
 +/* Define if you want to build an interpreter with many run-time checks. */ 
 +/* #undef Py_DEBUG */ 
 + 
 +/* Defined if Python is built as a shared library. */ 
 +/* #undef Py_ENABLE_SHARED */ 
 + 
 +/* Define as the size of the unicode type. */ 
 +#define Py_UNICODE_SIZE 4 
 + 
 +/* Define if you want to have a Unicode type. */ 
 +#define Py_USING_UNICODE 1 
 + 
 +/* Define as the return type of signal handlers (`int' or `void'​). */ 
 +#define RETSIGTYPE void 
 + 
 +/* Define if setpgrp() must be called as setpgrp(0, 0). */ 
 +/* #undef SETPGRP_HAVE_ARG */ 
 + 
 +/* Define this to be extension of shared libraries (including the dot!). */ 
 +#define SHLIB_EXT "​.so"​ 
 + 
 +/* Define if i>>j for signed int i does not extend the sign bit when i < 0 */ 
 +/* #undef SIGNED_RIGHT_SHIFT_ZERO_FILLS */ 
 + 
 +/* The size of `double',​ as computed by sizeof. */ 
 +#define SIZEOF_DOUBLE 8 
 + 
 +/* The size of `float',​ as computed by sizeof. */ 
 +#define SIZEOF_FLOAT 4 
 + 
 +/* The size of `fpos_t',​ as computed by sizeof. */ 
 +#define SIZEOF_FPOS_T 16 
 + 
 +/* The size of `int', as computed by sizeof. */ 
 +#define SIZEOF_INT 4 
 + 
 +/* The size of `long',​ as computed by sizeof. */ 
 +#define SIZEOF_LONG 4 
 + 
 +/* The size of `long double',​ as computed by sizeof. */ 
 +#define SIZEOF_LONG_DOUBLE 12 
 + 
 +/* The size of `long long', as computed by sizeof. */ 
 +#define SIZEOF_LONG_LONG 8 
 + 
 +/* The number of bytes in an off_t. */ 
 +#define SIZEOF_OFF_T 8 
 + 
 +/* The size of `pid_t',​ as computed by sizeof. */ 
 +#define SIZEOF_PID_T 4 
 + 
 +/* The number of bytes in a pthread_t. */ 
 +#define SIZEOF_PTHREAD_T 4 
 + 
 +/* The size of `short',​ as computed by sizeof. */ 
 +#define SIZEOF_SHORT 2 
 + 
 +/* The size of `size_t',​ as computed by sizeof. */ 
 +#define SIZEOF_SIZE_T 4 
 + 
 +/* The number of bytes in a time_t. */ 
 +#define SIZEOF_TIME_T 4 
 + 
 +/* The size of `uintptr_t',​ as computed by sizeof. */ 
 +#define SIZEOF_UINTPTR_T 4 
 + 
 +/* The size of `void *', as computed by sizeof. */ 
 +#define SIZEOF_VOID_P 4 
 + 
 +/* The size of `wchar_t',​ as computed by sizeof. */ 
 +#define SIZEOF_WCHAR_T 4 
 + 
 +/* The size of `_Bool',​ as computed by sizeof. */ 
 +#define SIZEOF__BOOL 1 
 + 
 +/* Define to 1 if you have the ANSI C header files. */ 
 +#define STDC_HEADERS 1 
 + 
 +/* Define if you can safely include both <​sys/​select.h>​ and <​sys/​time.h>​ 
 +   ​(which you can't on SCO ODT 3.0). */ 
 +#define SYS_SELECT_WITH_SYS_TIME 1 
 + 
 +/* Define if tanh(-0.) is -0., or if platform doesn'​t have signed zeros */ 
 +#define TANH_PRESERVES_ZERO_SIGN 1 
 + 
 +/* Define to 1 if you can safely include both <​sys/​time.h>​ and <​time.h>​. */ 
 +#define TIME_WITH_SYS_TIME 1 
 + 
 +/* Define to 1 if your <​sys/​time.h>​ declares `struct tm'. */ 
 +/* #undef TM_IN_SYS_TIME */ 
 + 
 +/* Define if you want to use MacPython modules on MacOSX in unix-Python. */ 
 +/* #undef USE_TOOLBOX_OBJECT_GLUE */ 
 + 
 +/* Define if a va_list is an array of some kind */ 
 +/* #undef VA_LIST_IS_ARRAY */ 
 + 
 +/* Define if you want SIGFPE handled (see Include/​pyfpe.h). */ 
 +#define WANT_SIGFPE_HANDLER 1 
 + 
 +/* Define if you want wctype.h functions to be used instead of the one 
 +   ​supplied by Python itself. (see Include/​unicodectype.h). */ 
 +/* #undef WANT_WCTYPE_FUNCTIONS */ 
 + 
 +/* Define if WINDOW in curses.h offers a field _flags. */ 
 +#define WINDOW_HAS_FLAGS 1 
 + 
 +/* Define if you want documentation strings in extension modules */ 
 +#define WITH_DOC_STRINGS 1 
 + 
 +/* Define if you want to use the new-style (Openstep, Rhapsody, MacOS) dynamic 
 +   ​linker (dyld) instead of the old-style (NextStep) dynamic linker (rld). 
 +   Dyld is necessary to support frameworks. */ 
 +/* #undef WITH_DYLD */ 
 + 
 +/* Define to 1 if libintl is needed for locale functions. */ 
 +/* #undef WITH_LIBINTL */ 
 + 
 +/* Define if you want to produce an OpenStep/​Rhapsody framework (shared 
 +   ​library plus accessory files). */ 
 +/* #undef WITH_NEXT_FRAMEWORK */ 
 + 
 +/* Define if you want to compile in Python-specific mallocs */ 
 +#define WITH_PYMALLOC 1 
 + 
 +/* Define if you want to compile in rudimentary thread support */ 
 +#define WITH_THREAD 1 
 + 
 +/* Define to profile with the Pentium timestamp counter */ 
 +/* #undef WITH_TSC */ 
 + 
 +/* Define to 1 if your processor stores words with the most significant byte 
 +   first (like Motorola and SPARC, unlike Intel and VAX). */ 
 +/* #undef WORDS_BIGENDIAN */ 
 + 
 +/* Define if arithmetic is subject to x87-style double rounding issue */ 
 +#define X87_DOUBLE_ROUNDING 1 
 + 
 +/* Define to 1 if on AIX 3. 
 +   ​System headers sometimes define this. 
 +   We just want to avoid a redefinition error message. ​ */ 
 +#ifndef _ALL_SOURCE 
 +# define _ALL_SOURCE 1 
 +#endif 
 + 
 +/* Define on OpenBSD to activate all library features */ 
 +/* #undef _BSD_SOURCE */ 
 + 
 +/* Define on Irix to enable u_int */ 
 +#define _BSD_TYPES 1 
 + 
 +/* Define on Darwin to activate all library features */ 
 +#define _DARWIN_C_SOURCE 1 
 + 
 +/* This must be set to 64 on some systems to enable large file support. */ 
 +#define _FILE_OFFSET_BITS 64 
 + 
 +/* Define on Linux to activate all library features */ 
 +#define _GNU_SOURCE 1 
 + 
 +/* This must be defined on some systems to enable large file support. */ 
 +#define _LARGEFILE_SOURCE 1 
 + 
 +/* Define on NetBSD to activate all library features */ 
 +#define _NETBSD_SOURCE 1 
 + 
 +/* Define _OSF_SOURCE to get the makedev macro. */ 
 +/* #undef _OSF_SOURCE */ 
 + 
 +/* Define to activate features from IEEE Stds 1003.1-2001 */ 
 +#define _POSIX_C_SOURCE 200112L 
 + 
 +/* Define if you have POSIX threads, and your system does not define that. */ 
 +/* #undef _POSIX_THREADS */ 
 + 
 +/* Define to force use of thread-safe errno, h_errno, and other functions */ 
 +/* #undef _REENTRANT */ 
 + 
 +/* Define to the level of X/Open that your system supports */ 
 +#define _XOPEN_SOURCE 600 
 + 
 +/* Define to activate Unix95-and-earlier features */ 
 +#define _XOPEN_SOURCE_EXTENDED 1 
 + 
 +/* Define on FreeBSD to activate all library features */ 
 +#define __BSD_VISIBLE 1 
 + 
 +/* Define to 1 if type `char' is unsigned and you are not using gcc.  */ 
 +#ifndef __CHAR_UNSIGNED__ 
 +/* # undef __CHAR_UNSIGNED__ */ 
 +#endif 
 + 
 +/* Defined on Solaris to see additional function prototypes. */ 
 +#define __EXTENSIONS__ 1 
 + 
 +/* Define to '​long'​ if <​time.h>​ doesn'​t define. */ 
 +/* #undef clock_t */ 
 + 
 +/* Define to empty if `const'​ does not conform to ANSI C. */ 
 +/* #undef const */ 
 + 
 +/* Define to `int' if <​sys/​types.h>​ doesn'​t define. */ 
 +/* #undef gid_t */ 
 + 
 +/* Define to `int' if <​sys/​types.h>​ does not define. */ 
 +/* #undef mode_t */ 
 + 
 +/* Define to `long int' if <​sys/​types.h>​ does not define. */ 
 +/* #undef off_t */ 
 + 
 +/* Define to `int' if <​sys/​types.h>​ does not define. */ 
 +/* #undef pid_t */ 
 + 
 +/* Define to empty if the keyword does not work. */ 
 +/* #undef signed */ 
 + 
 +/* Define to `unsigned int' if <​sys/​types.h>​ does not define. */ 
 +/* #undef size_t */ 
 + 
 +/* Define to `int' if <​sys/​socket.h>​ does not define. */ 
 +/* #undef socklen_t */ 
 + 
 +/* Define to `int' if <​sys/​types.h>​ doesn'​t define. */ 
 +/* #undef uid_t */ 
 + 
 +/* Define to empty if the keyword does not work. */ 
 +/* #undef volatile */ 
 + 
 + 
 +/* Define the macros needed if on a UnixWare 7.x system. */ 
 +#if defined(__USLC__) && defined(__SCO_VERSION__) 
 +#define STRICT_SYSV_CURSES /* Don't use ncurses extensions */ 
 +#endif 
 + 
 +#endif /​*Py_PYCONFIG_H*/​ 
 +</​file>​ 
 + 
 +Now grab [[http://​fceux.com/​web/​home.html|FCEUX]] and uncompress the source. Edit the SConstruct file to disable GTK: **BoolVariable('​GTK',​ '​Enable GTK2 GUI (SDL only)',​ 0),** 
 + 
 +Run **scons** in the directory to begin the config and build. You may need to turn on swap if gcc is killed mid-compile 
 + 
 +For unknown reasons, scons refuses to pick up on zlib, missing the **-lz** at the end, so i just made a shell script (ash doesnt haev a large enough buffer to just paste into the command line: 
 + 
 +<​file>​g++ -o src/fceux -Wl,​-rpath,/​usr/​local/​lib src/asm.o src/cart.o src/cheat.o src/​conddebug.o src/​config.o src/debug.o src/​drawing.o src/​emufile.o src/fceu.o src/fds.o src/file.o src/​filter.o src/ines.o src/input.o src/​netplay.o src/nsf.o src/​oldmovie.o src/​palette.o src/ppu.o src/sound.o src/state.o src/unif.o src/video.o src/vsuni.o src/wave.o src/x6502.o src/movie.o src/​lua-engine.o src/​boards/​01-222.o src/​boards/​103.o src/​boards/​106.o src/​boards/​108.o src/​boards/​112.o src/​boards/​117.o src/​boards/​120.o src/​boards/​121.o src/​boards/​15.o src/​boards/​164.o src/​boards/​175.o src/​boards/​176.o src/​boards/​177.o src/​boards/​178.o src/​boards/​179.o src/​boards/​183.o src/​boards/​185.o src/​boards/​186.o src/​boards/​187.o src/​boards/​189.o src/​boards/​199.o src/​boards/​208.o src/​boards/​222.o src/​boards/​23.o src/​boards/​235.o src/​boards/​253.o src/​boards/​3d-block.o src/​boards/​411120-c.o src/​boards/​43.o src/​boards/​57.o src/​boards/​603-5052.o src/​boards/​68.o src/​boards/​8157.o src/​boards/​8237.o src/​boards/​830118C.o src/​boards/​88.o src/​boards/​90.o src/​boards/​95.o src/​boards/​a9711.o src/​boards/​a9746.o src/​boards/​addrlatch.o src/​boards/​ax5705.o src/​boards/​bandai.o src/​boards/​bmc13in1jy110.o src/​boards/​bmc42in1r.o src/​boards/​bmc64in1nr.o src/​boards/​bmc70in1.o src/​boards/​bonza.o src/​boards/​bs-5.o src/​boards/​copyfami_mmc3.o src/​boards/​dance.o src/​boards/​datalatch.o src/​boards/​deirom.o src/​boards/​dream.o src/​boards/​__dummy_mapper.o src/​boards/​edu2000.o src/​boards/​fk23c.o src/​boards/​ghostbusters63in1.o src/​boards/​gs-2004.o src/​boards/​gs-2013.o src/​boards/​h2288.o src/​boards/​karaoke.o src/​boards/​kof97.o src/​boards/​konami-qtai.o src/​boards/​ks7032.o src/​boards/​malee.o src/​boards/​mmc1.o src/​boards/​mmc3.o src/​boards/​mmc5.o src/​boards/​n-c22m.o src/​boards/​n106.o src/​boards/​n625092.o src/​boards/​novel.o src/​boards/​sachen.o src/​boards/​sc-127.o src/​boards/​sheroes.o src/​boards/​sl1632.o src/​boards/​smb2j.o src/​boards/​subor.o src/​boards/​super24.o src/​boards/​supervision.o src/​boards/​t-227-1.o src/​boards/​t-262.o src/​boards/​tengen.o src/​boards/​tf-1201.o src/​drivers/​common/​args.o src/​drivers/​common/​cheat.o src/​drivers/​common/​config.o src/​drivers/​common/​hq2x.o src/​drivers/​common/​hq3x.o src/​drivers/​common/​scale2x.o src/​drivers/​common/​scale3x.o src/​drivers/​common/​scalebit.o src/​drivers/​common/​vidblit.o src/​drivers/​common/​configSys.o src/​drivers/​common/​nes_ntsc.o src/​input/​arkanoid.o src/​input/​bworld.o src/​input/​cursor.o src/​input/​fkb.o src/​input/​ftrainer.o src/​input/​hypershot.o src/​input/​mahjong.o src/​input/​mouse.o src/​input/​oekakids.o src/​input/​powerpad.o src/​input/​quiz.o src/​input/​shadow.o src/​input/​suborkb.o src/​input/​toprider.o src/​input/​zapper.o src/​utils/​crc32.o src/​utils/​endian.o src/​utils/​general.o src/​utils/​guid.o src/​utils/​md5.o src/​utils/​memory.o src/​utils/​unzip.o src/​utils/​xstring.o src/​mappers/​151.o src/​mappers/​16.o src/​mappers/​17.o src/​mappers/​18.o src/​mappers/​193.o src/​mappers/​201.o src/​mappers/​202.o src/​mappers/​203.o src/​mappers/​204.o src/​mappers/​212.o src/​mappers/​213.o src/​mappers/​214.o src/​mappers/​215.o src/​mappers/​217.o src/​mappers/​21.o src/​mappers/​225.o src/​mappers/​227.o src/​mappers/​228.o src/​mappers/​229.o src/​mappers/​22.o src/​mappers/​230.o src/​mappers/​231.o src/​mappers/​232.o src/​mappers/​234.o src/​mappers/​241.o src/​mappers/​242.o src/​mappers/​244.o src/​mappers/​246.o src/​mappers/​24and26.o src/​mappers/​255.o src/​mappers/​25.o src/​mappers/​27.o src/​mappers/​32.o src/​mappers/​33.o src/​mappers/​40.o src/​mappers/​41.o src/​mappers/​42.o src/​mappers/​46.o src/​mappers/​50.o src/​mappers/​51.o src/​mappers/​59.o src/​mappers/​60.o src/​mappers/​61.o src/​mappers/​62.o src/​mappers/​65.o src/​mappers/​67.o src/​mappers/​69.o src/​mappers/​6.o src/​mappers/​71.o src/​mappers/​72.o src/​mappers/​73.o src/​mappers/​75.o src/​mappers/​76.o src/​mappers/​77.o src/​mappers/​79.o src/​mappers/​80.o src/​mappers/​82.o src/​mappers/​83.o src/​mappers/​85.o src/​mappers/​86.o src/​mappers/​89.o src/​mappers/​8.o src/​mappers/​91.o src/​mappers/​92.o src/​mappers/​97.o src/​mappers/​99.o src/​mappers/​emu2413.o src/​mappers/​mmc2and4.o src/​mappers/​simple.o src/​lua/​src/​lapi.o src/​lua/​src/​lauxlib.o src/​lua/​src/​lbaselib.o src/​lua/​src/​lcode.o src/​lua/​src/​ldblib.o src/​lua/​src/​ldebug.o src/​lua/​src/​ldo.o src/​lua/​src/​ldump.o src/​lua/​src/​lfunc.o src/​lua/​src/​lgc.o src/​lua/​src/​linit.o src/​lua/​src/​liolib.o src/​lua/​src/​llex.o src/​lua/​src/​lmathlib.o src/​lua/​src/​lmem.o src/​lua/​src/​loadlib.o src/​lua/​src/​lobject.o src/​lua/​src/​lopcodes.o src/​lua/​src/​loslib.o src/​lua/​src/​lparser.o src/​lua/​src/​lstate.o src/​lua/​src/​lstring.o src/​lua/​src/​lstrlib.o src/​lua/​src/​ltable.o src/​lua/​src/​ltablib.o src/​lua/​src/​ltm.o src/​lua/​src/​lundump.o src/​lua/​src/​lvm.o src/​lua/​src/​lzio.o src/​lua/​src/​print.o src/​drivers/​sdl/​input.o src/​drivers/​sdl/​config.o src/​drivers/​sdl/​sdl.o src/​drivers/​sdl/​sdl-joystick.o src/​drivers/​sdl/​sdl-sound.o src/​drivers/​sdl/​sdl-throttle.o src/​drivers/​sdl/​sdl-video.o src/​drivers/​sdl/​unix-netplay.o -L/​usr/​local/​lib -lSDL -lpthread **-lz**  
 +</​file>​ 
 + 
 +Run FCEUX  
 + 
 +<​file>​ 
 +mount -oremount,​rw / 
 +stop_control_panel 
 +/​mnt/​storage/​switch_output -l 
 +switch_fb.sh 0 
 +cd /​mnt/​storage/​fceux 
 +</​file>​ 
 + 
 +and after all that...it doesnt work well at all :( --newppu 1 is hella slow and --newppu 0 has corrupted pixels 
 + 
 +==== FCE Ultra 0.98.13 ==== 
 + 
 +On a whim I decided to try an earlier FCEU (the predecesssor) with more success! Compile went pretty much cleanly. 
 + 
 +Run it with **-xscale 1 -yscale 1 -sound 0** after killing chumbhowld and chumbradiod we got good performance with **-skipframe 1** 
 + 
 +Will see if its worth trying other versions - the later v's might add less-useful stuff 
 + 
 + 
/home/ladyada/public_html/wiki/data/attic/chumby.1269296036.txt.gz · Last modified: 2016/01/28 18:05 (external edit)