Re: Mac build works - sort of

Mike Richardson <mike-1gTsUfBLqWsG2Il/[email protected]> Fri, 11 Feb 2005 19:17:22 +0000
Newsgroups gmane.comp.db.rekall.devel
Message-ID <[email protected]>
On Thursday 10 February 2005 00:37, David Reiser wrote:
> I finally got the Mac build to work -- at least the main app. Trying to
> start the help system triggers a claim that the app can't find the
> browser in any of the usual places.
>
> I did have to tweak rkBuilder.py in order to get around the hard coded
> library paths:
>
> --- /Users/dbr/Desktop/rekall-CVS-Feb5/scons/rkBuilder.py	Tue Jan 11
> 13:23:22 2005
> +++ /Applications/rekallsrc/scons/rkBuilder.py	Wed Feb  9 17:02:35 2005
> @@ -352,8 +352,11 @@
>           if self.m_build in [ buildMAC ] :
>               self.addInclude(rkConfig.qt3IncDir) ;
>               self.addLibPath(rkConfig.qt3LibDir) ;
> -            self.addLib    ('qt')
> -
> +            self.addLib    ('qt-mt')
> +            if self.m_type == typeSharedLib :
> +                 self.addLFlags
> ('-Wl,-install_name,@executable_path/../Frameworks/%s' % (self.m_target
> + '.dylib'))
> +            if self.m_type == typeLoadedLib :
> +                 self.addLFlags
> ('-Wl,-install_name,@executable_path/../Plugins/%s' % (self.m_target +
> '.dylib'))
>
>           if rkConfig.debug :
>               self.addCFlags ('-g')
>
>
> The 'qt-mt' change was needed because I compiled Qt with the -thread
> switch. (And there's at least one other place that substitution is
> needed...)
>
> A side effect of the rkBuilder.py mods is that the linker suddenly
> insisted that it needed the el32 info in -L and -l switches for linking
> all the plugins (except the db drivers) and libkbase_app.dylib. So I
> tweaked the SConscripts for those directories.
>
> There is certainly lots of strange behavior in the app the way it ended
> up on my machine. I may go back and try to do a Fink style install to
> see if the interface elements that are behaving strangely get better in
> the plain Qt/Unix flavor. But I'm excited to have it working this well.
> Now, I need to learn MySQL and Rekall. Tally Ho.
>
> As suggested by the diff output, my compile used the source from CVS as
> of Saturday, Feb 5.

You'll get better milage from the current CVS, I've been doing quite a lot of 
Mac build stuff lately (but bear in mind this is still not a "real" build so 
the patches above may still be needed)

* 
Get the CVS code

* 
Link (or copy) the settings file and make any changes you need
	ln -s scons/settings.mac settings

*
Configure
	make config

*
Build
	make

*
(Pretend) install
	DESTDIR=`pwd`/. make install

This now "installs" to a subdir called "Rekall.app" with stuff named 
appropriately.

*
Run rkMacPak.py
	PYTHONPATH=scons python scons/rkMacPak.py

*
Run Rekall
	/Users/mike/...../Rekall.app/Contents/MacOS/Rekall


If all has gone to plan (9?) then the manual will be there (menu Help/Rekall 
Manual) To check:

*
There should be a directory
	Rekall.app/Contents/Resources/Data/manual

This contains a bunch of .html and .png files, plus a file called 
'rekall.xml' (its the contents of the doc/rekall/manual.tgz file)

*
Inside Rekall.app should be a subdirectory 'Helpers/RekallManual.app' which 
contains the help viewer as Mac package format (the rkMacPak.py script 
contains the code to assemble this). 

The manual is processed directly from the DocBook-XML files used to build the 
KDE manual, so plus-or-minus some formatting, it should be the same. 
Actually, I think this is more usable that the KDE manual system (which is 
not good at large manuals) so its going to be in the Linux and Windows 
versions as well.


Let me know how this goes
Regards
Mike

>
> Dave
>
> _______________________________________________
> Rekall-devel mailing list
> [email protected]
> http://www.mailman.a-i-s.co.uk/cgi-bin/mailman/listinfo/rekall-devel