Personal tools
You are here: Home development Google Summer of Code Debug64Bit

Edit history

Edit: -1 of 1
Time: 2009-03-05 23:58:30
Note: /pd/pd/dev/summer-of-code/GoogleSummerOfCodeIdeas2009/edit


== Possible Mentors ==

 *Dan Wilcox [] | []

== Description ==

Native 64 bit operating systems will become the norm in the next few years with the release of Mac OSX 10.6 (Snow Leopard), Windows 7, and the greater adoption of 64 Linux (which has been in use for several years already).  Pure Data and some externals have been initially prepared for a 64 bit environment but a proper testing and bug fixing operation is required.  This project will be tedious, but the outcome would be a smooth transition for PD developers and users.  It is one of those dirty tasks no one wants to do, but for which everyone recognizes the need.

Resources to start:
 *[ Porting Linux applications to 64-bit systems]
 *[ 64-bit Programming for Game Developers]
 *[ Introduction to 64-Bit Transition Guide]

Current PureData on 64 Bit info:
 *[ |PD| pd on Ubuntu 64bit?]
 *[ Ubuntu Forums: PureData Extended in amd64]
 *[ puredata: tabwrite~ malfunction on x86_64] fixed in > pd 0.41.0
 *[ |PD| Re: |linux-audio-user| Repairing wav files written by pd 64bit]
 *[ |PD-dev| |pure-data-Patches-1532439| arrays on 64-bit archs]
 *[ Building pd-extended for 64 bit Linux]
 *[ Building pd-extended for 64 bit Ubuntu Intrepid]

== Required Skills ==

 *an attention to details
 *solid C programming, C++ to a lesser extent (as most of the transitional problems stem from the C/C++ code in PD and it's externals)
 *familiarity with a GNU/Linux operating system (I'd recommend doing this project in a native 64 bit environment, although Mac OSX 10.5 may work as well if you compile pd/pd-extended for 64 bit)
 *an understanding of architectural differences between 32 and 64 bit
 *debugging/testing framework skills

=== Difficulty ===

With the right skills, this is not a necessarily difficult task but a tedious one.

== Possible Breakdown of Steps ==

 *Contact original code developers and ask them the status of their code on 64 bit systems as well as which sections of said code are known to contain existing issues
 *Attempt to build pd, pd-extended, externals and find any compilation difficulties
 *Visit the Pd bug tracker to locate reported 64 bit related bugs 
 *Use various code search/profiling tools to locate any common type mistakes (32 bit float <-> 64bit word, for example)
 *Build and run unit tests on Pd-Vanilla and Pd-Extended to locate bugs
 *Build and run unit tests on as many externals as possible to locate bugs
 *Find a way to integrate said tests into the Pd/Pd-extended autobuild system
 *Setup the Pd/Pd-extended autobuild system to create test packages for brave users to install and test

Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser