Rekall 2.4.0 and Mac OSX 10.4.2

David Reiser <[email protected]> Thu, 13 Oct 2005 21:38:37 -0400
Newsgroups gmane.comp.db.rekall.devel
Message-ID <[email protected]>
The release tarball won't build directly.

I think there is a bug in python 2.3.5 as released by Apple, because:

% python
Python 2.3.5 (#1, Mar 20 2005, 20:38:20)
[GCC 3.3 20030304 (Apple Computer, Inc. build 1809)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
 >>> import distutils.sysconfig
 >>> distutils.sysconfig.get_config_vars("LINKFORSHARED")
['-u __dummy -u _PyMac_Error -framework System Python.framework/ 
Versions/2.3/Python -framework CoreServices -framework Foundation']

but

g++ -u __dummy -u _PyMac_Error -framework System Python.framework/ 
Versions/2.3/Python -framework CoreServices -framework Foundation - 
Wl,-install_name,@executable_path/../Plugins/libkbase_script_py.dylib  
-dynamiclib -o script/python/libkbase_script_py.dylib script/python/ 
kb_basic.os script/python/kb_cookiejar.os script/python/kb_pybase.os  
script/python/kb_pyblock.os script/python/kb_pybutton.os script/ 
python/kb_pychoice.os script/python/kb_pycontainer.os script/python/ 
kb_pydblink.os script/python/kb_pydebug.os script/python/ 
kb_pyevent.os script/python/kb_pyfield.os script/python/kb_pyform.os  
script/python/kb_pyformblock.os script/python/kb_pyframer.os script/ 
python/kb_pygrid.os script/python/kb_pyitem.os script/python/ 
kb_pylabel.os script/python/kb_pylink.os script/python/ 
kb_pylinktree.os script/python/kb_pyobject.os script/python/ 
kb_pyrichtext.os script/python/kb_pyscript.os script/python/ 
kb_pyslot.os script/python/kb_pysqldelete.os script/python/ 
kb_pysqlinsert.os script/python/kb_pysqlselect.os script/python/ 
kb_pysqlupdate.os script/python/kb_pystack.os script/python/ 
kb_pystackpage.os script/python/kb_pysupport.os script/python/ 
kb_pytabber.os script/python/kb_pytabberpage.os script/python/ 
kb_pytree.os script/python/kb_pyvalue.os script/python/ 
tkc_excskipdlg.os script/python/tkc_labeller.os script/python/ 
tkc_pydebug.os script/python/tkc_pydebugbase.os script/python/ 
tkc_pydebugwidget.os script/python/tkc_pyeditor.os script/python/ 
tkc_pyfunclist.os script/python/tkc_pystacklist.os script/python/ 
tkc_pytracelist.os script/python/tkc_pyvalue.os script/python/ 
tkc_pyvaluelist.os -Lports/qt3 -Llibs/common -Llibs/kbase -Llibs/app - 
Llibs/el32 -L/Developer/qt/lib -lkbase_kde -lkbase_common -lkbase - 
lkbase_app -lkbase_el32 -lqt-mt
powerpc-apple-darwin8-g++-4.0.0: Python.framework/Versions/2.3/ 
Python: No such file or directory
scons: *** [script/python/libkbase_script_py.dylib] Error 1
make: *** [all] Error 2

I reran the make in gcc 3.3, and got the same error. If I hand edit  
rkConfig after make config to change the framework to

/System/Library/Frameworks/Python.framework/Versions/2.3/Python

The build completes.

Sort of -- I tried building with debug set to 'no', and I got:

g++ -u __dummy -u _PyMac_Error -framework System /System/Library/ 
Frameworks/Python.framework/Versions/2.3/Python -framework  
CoreServices -framework Foundation -Wl,- 
install_name,@executable_path/../Plugins/libkbase_script_py.dylib - 
dynamiclib -o script/python/libkbase_script_py.dylib script/python/ 
kb_basic.os script/python/kb_cookiejar.os script/python/kb_pybase.os  
script/python/kb_pyblock.os script/python/kb_pybutton.os script/ 
python/kb_pychoice.os script/python/kb_pycontainer.os script/python/ 
kb_pydblink.os script/python/kb_pydebug.os script/python/ 
kb_pyevent.os script/python/kb_pyfield.os script/python/kb_pyform.os  
script/python/kb_pyformblock.os script/python/kb_pyframer.os script/ 
python/kb_pygrid.os script/python/kb_pyitem.os script/python/ 
kb_pylabel.os script/python/kb_pylink.os script/python/ 
kb_pylinktree.os script/python/kb_pyobject.os script/python/ 
kb_pyrichtext.os script/python/kb_pyscript.os script/python/ 
kb_pyslot.os script/python/kb_pysqldelete.os script/python/ 
kb_pysqlinsert.os script/python/kb_pysqlselect.os script/python/ 
kb_pysqlupdate.os script/python/kb_pystack.os script/python/ 
kb_pystackpage.os script/python/kb_pysupport.os script/python/ 
kb_pytabber.os script/python/kb_pytabberpage.os script/python/ 
kb_pytree.os script/python/kb_pyvalue.os script/python/ 
tkc_excskipdlg.os script/python/tkc_labeller.os script/python/ 
tkc_pydebug.os script/python/tkc_pydebugbase.os script/python/ 
tkc_pydebugwidget.os script/python/tkc_pyeditor.os script/python/ 
tkc_pyfunclist.os script/python/tkc_pystacklist.os script/python/ 
tkc_pytracelist.os script/python/tkc_pyvalue.os script/python/ 
tkc_pyvaluelist.os -Lports/qt3 -Llibs/common -Llibs/kbase -Llibs/app - 
Llibs/el32 -L/Developer/qt/lib -lkbase_kde -lkbase_common -lkbase - 
lkbase_app -lkbase_el32 -lqt-mt
ld: Undefined symbols:
_fprintf$LDBLStub
/usr/bin/libtool: internal link edit command failed
scons: *** [script/python/libkbase_script_py.dylib] Error 1
make: *** [all] Error 2

at that point I reset debug to 'yes' and ran make again (without  
cleaning up...) and it completed.

rkMacPak.py also needs some attention, as it does not accommodate Qt  
built with threading support (libqt-mt.3.dylib).

Having made the above changes, Rekall seems to work on my system. I  
haven't done much, but it does launch and successfully open and edit  
a mySQL database. Still no custom icon in the Apps directory, though.

MacOSX 10.4.2, Qt 3.3.5

Dave