[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index] 
[XaraXtreme-dev] Mac build
- From: Brian Raderman <braderman@xxxxxxxxx>
- Date: Sat, 18 Mar 2006 13:34:47 -0500
- Subject: [XaraXtreme-dev] Mac build
Hello everyone,
I have been trying to build a Mac version of XaraLX and I have been  
unable to thus far.  I have gotten as far as linking but I am getting  
an undefined symbol error:
/usr/bin/ld: Undefined symbols:
_GDraw_GetSvnVersion
I'm guessing that this is defined in the recently checked in  
libCDraw.a because I see a prototype but no implementation for it  
anywhere.  I had to run ranlib on it because ld was complaining about  
an out of date table of contents.  I know that libCDraw.a is a fat  
binary because I had to upgrade from XCode 2.1 to 2.2 to even be able  
to get this far (2.1 can't handle the Mac/Intel universal binaries),  
so I was thinking that might have something to do with it.  I am  
developing on a G4 PowerPC chip.  This latest build attempt was made  
with revision 685 from subversion.
I have collected some notes about some things that I have encountered  
and thought I would share them to save others some pain, or at the  
very least someone can tell me if I've misunderstood something.
-Gettext is out of date in Fink.  I abandoned Fink and just built  
gettext and automake myself.  You have to configure gettext with "-- 
disable-csharp".
-GTK is not included in the Apple developer tools nor is it  
necessary.  wxWidgets uses Carbon by default.  You can configure it  
to use Cocoa, but that is currently beta.  I actually attempted to  
build GTK before realizing this and none of the examples even  
worked.  I've gotten GTK apps to work before on the Mac, but I used  
Fink binaries.  This little adventure is where I discovered the  
jpeglib issue listed below.
-The IJG distribution of libjpeg does not build correctly using the  
standard procedure.  Everything appears to work fine and the tests  
even run without any errors, but other packages will fail to  
recognize the resulting binaries.  I found the following instructions  
online that corrected this problem:
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess .
./configure --enable-shared --enable-static
make
sudo make install
sudo ranlib /usr/local/lib/libjpeg.a
-There is some confusion in the build instructions with wxWidgets  
versions.  The latest wxMac source is version 2.6.2.  You have to get  
the full source if you want the 2.6.3 RC1, although wx-config -- 
version still reports it as being version 2.6.2.  I am using 2.6.3 RC1.
-The error tracking code in wxOil/errors.h and wxOil/errors.cpp that  
uses wxStackWalker is a problem on the mac.  wxWidgets configure  
reports that the backtrace() method is not available and warns that  
this functionality will be disabled.  I surrounded the small amount  
of code that uses the wxStackWalker class with "#ifndef __WXMAC__" as  
a temporary solution to get the build going.
-You have to add "--enable-debug" to the XaraLX configure command if  
you are using a debug wxWidgets build as specified in the build  
instructions.  If you don't do this, wx-config will not be able to  
retrieve the proper settings for CPPFLAGS.
Has anyone attempted to create an XCode project?  I can look into  
this after I get a working build if no one else wants to.  I still  
need to make my way through all the XaraLX documentation on the web  
site, but if someone could give me some brief direction on what  
current Mac issues I could start with and the areas of the code where  
they exist, that would be much appreciated.
I hope everyone is having a great weekend,
Brian