Fennel64Bit
From Eigenpedia
This page was the project roadmap for getting Fennel ready for use with 64-bit Linux (and eventually other operating systems as well). The work on it has been completed.
Background
Legend has it that several years ago, JVS actually got Fennel to build and pass unit tests on one of the Sourceforge compile-farm 64-bit AMD machines. Since then, a lot of code has been added to Fennel, the compile-farm recently got decommissioned, and Fennel has been integrated into the Farrago Java environment, with tuples flying across the JNI boundary via java.nio.
The time has come to get Fennel and Farrago ready for the brave new 64-bit world.
Task List
- Get access to 64-bit build environments
- Set up build, including any tweaks necessary for Boost and STLport. See FNL-4. May want to combine this with upgrade to latest STLport. (Jvs 19:09, 28 May 2007 (PDT): we decided to deal with STLport separately since nothing was needed here for the port.)
- Fix any Fennel build errors. (Jvs 19:09, 28 May 2007 (PDT): done)
- Get all Fennel unit tests to pass. (Jvs 19:09, 28 May 2007 (PDT): done)
- Attempt to load Fennel from Java (Farrago). Deal with any JNI dynamic load issues. (Jvs 19:09, 28 May 2007 (PDT): done)
- Get Farrago createCatalog to pass. Likely problems which will need to be solved include (a) any flaws in the code JVS wrote to map UML structures into C++ and Java for communicating commands and streams down from Java into C++, plus returned handles, and (b) any mismatches (e.g. type size, alignment) between net.sf.farrago.fennel.tuple and fennel/tuple (Jvs 19:09, 28 May 2007 (PDT): done)
- Get Farrago ant test to pass. (Jvs 19:09, 28 May 2007 (PDT): done)
- Get LucidDB ant test to pass. (Jvs 19:09, 28 May 2007 (PDT): done)
- Get resources for 64-bit CruiseControl environment to make sure things keep working forever. (Jvs 17:14, 1 June 2007 (PDT): done at LucidEra)
Build Machine Setup Notes
If you're building on a machine which supports both a 32-bit and a 64-bit build environment, export the following environment variable before starting the build (if anyone wants to make this happen automatically and reliably via autoconf, go for it):
export LDFLAGS="-L/usr/local/lib64 -L/usr/lib64 -L/usr/X11R6/lib64 -L/lib64"

