Building Tiger binaries on Leopard and Snow Leopard

Moderator: Project members

Post Reply
Message
Author
jdratlif
226 Transfer OK
Posts: 392
Joined: 2008-12-30 10:30
First name: John
Last name: Ratliff
Location: In a small white padded room.
Contact:

Building Tiger binaries on Leopard and Snow Leopard

#1 Post by jdratlif » 2009-02-22 23:52

November 17, 2010
edit 3: Here is a link to the current instructions. Tested on Snow Leopard 10.6.5 with Xcode 3.2.2, but may work on Leopard and Tiger too. You must have Xcode installed first. See the wiki for instructions on how to do that.

edit: Leopard Instructions - http://forum.filezilla-project.org/view ... 320#p59320
edit 2: Snow Leopard Instructions - http://forum.filezilla-project.org/view ... 861#p60861

The Snow Leopard instructions are the simplest, and may work in Leopard, but I haven't tested them.

-------- BEGIN ORIGINAL POST ----------

A while back, Tiger support was dropped from the official builds. This was because the developer no longer had access to a Tiger machine. This meant he could not create binaries on Leopard that would work on Tiger.

I have been building unofficial Tiger binaries for a couple months now. I will be getting a new computer soon, and I hope to ditch Tiger in favor of Leopard. I think I have found the solution to building Tiger compatible binaries on Leopard.

Here is the process I used. I am using an Intel Mac with Leopard 10.5.6.

Step 1) Install Xcode (3.1.2 24 Nov 2008)
Step 2) Download wxWidgets 2.8.9 [wxMac-2.8.9.tar.gz]

Code: Select all

$ cd /tmp
$ gzcat ~/Desktop/wxMac-2.8.9.tar.gz | tar x
$ mkdir build-wx && cd build-wx
$ ../wxMac-2.8.9/configure --disable-shared --disable-compat26 --enable-unicode --enable-universal_binary --prefix $HOME/wxMac-2.8.9 && nice make && make install
The file /usr/local/wxMac-2.8.9/bin/wx-config needs to be edited here. Remove "-arch ppc" and "-arch i386" from the file. I think it's all on a single line.

Step 3) Download gettext [gettext-0.17.tar.gz]

Code: Select all

$ cd /tmp
$ gzcat ~/Desktop/gettext-0.17.tar.gz | tar x
$ cd gettext-0.17
$ ./configure --prefix $HOME/gettext && nice make && make install
Step 4) Create the universal build environment. Create a file named universal in the ~/env directory. It should look like this:

Code: Select all

SDK="/Developer/SDKs/MacOSX10.4u.sdk"
ARCH="-arch ppc -arch i386 -isysroot ${SDK}"
export MACOSX_DEPLOYMENT_TARGET="10.4"
export CFLAGS="${ARCH} -O2"
export CXXFLAGS="${CFLAGS}"
export LDFLAGS="${ARCH} -Wl,-syslibroot,${SDK}"
This is for a universal build (ppc and i386). You could remove either the -arch ppc or the -arch i386 to get a single architecture build. It might be possible to build a Panther compatible binary by changing MACOSX_DEPLOYMENT_TARGET to 10.3, but I haven't tested this.

Step 5) Download libidn [libidn-1.12.tar.gz]

Code: Select all

$ cd /tmp
$ gzcat ~/Desktop/libidn-1.12.tar.gz | tar x
$ cd libidn-1.12 && source ~/env/universal
$ ./configure --disable-shared --prefix $HOME/libidn --disable-dependency-tracking && nice make && make install
If you altered the universal file for a single architecture, then you do not need the --disable-dependency-tracking. For a universal build, it's required.

Step 6) Download libgpg-error [libgpg-error-1.7.tar.bz2]

Code: Select all

$ cd /tmp
$ bzcat ~/Desktop/libgpg-error-1.7.tar.bz2 | tar x
$ cd libgpg-error-1.7 && source ~/env/universal
$ ./configure --disable-shared --prefix $HOME/libgpg-error --disable-dependency-tracking && nice make && make install
Same as above for disable-dependency-tracking.

Step 7) Download libgcrypt [libgcrypt-1.4.4.tar.bz2]

Code: Select all

$ cd /tmp
$ bzcat ~/Desktop/libgcrypt-1.4.4.tar.bz2 | tar x
$ cd libgcrypt-1.4.4 && source ~/env/universal
$ ./configure --disable-shared --with-gpg-error-prefix=$HOME/libgpg-error --prefix $HOME/libgcrypt --disable-dependency-tracking --disable-asm && nice make && make install
Same as above for disable-dependency-tracking. You can also remove disable-asm if you are building for a single architecture. I don't think you can build a universal library with asm. It may be possible to build it twice, once for ppc and once for i386 and then lipo the libraries together, but I haven't tested that.

Step 8) Download gnutls and the gnutls.patch [gnutls-2.6.4.tar.bz2 and gnutls.patch]

Code: Select all

$ cd /tmp
$ bzcat ~/Desktop/gnutls-2.6.4.tar.bz2 | tar x
$ cd gnutls-2.6.4 && source ~/env/universal
$ patch < ~/Desktop/gnutls.patch
$ ./configure --disable-shared --with-libgcrypt-prefix=$HOME/libgcrypt --prefix $HOME/gnutls --disable-dependency-tracking && nice make && make install
Blah blah disable-dependency-tracking yada yada whatever.

Now the $HOME/gnutls/bin/libgnutls-config file needs edited. Add -lz to the gnutls_libs line near the top.

Step 9) Download FileZilla [FileZilla_3.2.2.1_src.tar.bz2]

Code: Select all

$ cd /tmp
$ bzcat ~/Desktop/FileZilla_3.2.2.1_src.tar.bz2 | tar x
$ cd filezilla-3.2.2.1 && source ~/env/universal
$ export PATH=$HOME/gettext/bin:$HOME/wxMac-2.8.9/bin:$PATH
$ ./configure --disable-shared --with-libgnutls-prefix=$HOME/gnutls --with-idn-lib=$HOME/libidn/lib/libidn.a --disable-dependency-tracking CPPFLAGS="-I$HOME/libidn/include" && nice make
disable-dependency-tracking...ok.

For some reason, the build stopped midway complaining it couldn't find Filezilla.pot. Something to do with translations. It has done this to me every time I've tried to build 3.2.2.1. To resolve the problem, I did this.

Code: Select all

$ rm -rf FileZilla.app
$ make
I'm not sure why it works on the second go around and not the first. I wonder if it has something to do with disable-dependency-tracking. Even if it does, this is new to 3.2.2.1. It didn't do this with 3.2.0, or 3.1.6. Can't remember about 3.2.1.

I'm not sure if removing the FileZilla.app directory is necessary, but it was when one of the svn builds failed, so whatever. YMMV.

I tested this build on Leopard and Tiger and it seems to work. If any Tiger users want to try this, my unofficial binary is up on the wiki http://wiki.filezilla-project.org/Unofficial_Binaries (the 3.2.2.1 release and later have been built with Leopard; earlier ones were built on Tiger).

Much thanks to Boco, Botg, all the FileZilla development team, the wxWidgets team, the Apple Development Site doc writers, the Qt lists, and anyone else I've forgotten who helped me piece this together.
Last edited by jdratlif on 2010-11-17 08:25, edited 5 times in total.
http://jdrrant.blogspot.com/ - CODEpendent Blog

wilson
504 Command not implemented
Posts: 10
Joined: 2009-04-08 12:50

Re: Building Tiger binaries on Leopard

#2 Post by wilson » 2009-05-19 17:38

Thanks a lot jdratlif, you made my day ^^.

jdratlif
226 Transfer OK
Posts: 392
Joined: 2008-12-30 10:30
First name: John
Last name: Ratliff
Location: In a small white padded room.
Contact:

Re: Building Tiger binaries on Leopard

#3 Post by jdratlif » 2010-03-07 01:37

I want to provide some updated (slightly modified) directions on how I compile FileZilla binaries for Tiger. Everytime a new version comes out I reference the wiki and it's not quite what I'm doing.

See the Compiling_FileZilla_3_under_Mac_OS_X page on the wiki if you need help finding any of these packages. Xcode is a prerequisite.

We'll start with wxWidgets 2.8.10. In Firefox, files end up in ~/Downloads by default, which is what I will assume here.

Code: Select all

cd /tmp
tar xzf ~/Downloads/wxMac-2.8.10.tar.gz
mkdir build-wx
cd build-wx
../wxMac-2.8.10/configure --disable-compat26 --enable-unicode --enable-universal_binary --prefix $HOME/filezilla/wxMac-2.8.10 && nice make && make install
cd ~/filezilla
ln -s wxMac-2.8.10 wxMac
You will need to edit the file ~/filezilla/wxMac-2.8.10/bin/wx-config. Remove "-arch ppc" and "-arch i386" from the file. These are both on the same line and only in the file once.

Next build GNU gettext 0.17.

Code: Select all

cd /tmp
tar xzf ~/Downloads/gettext-0.17.tar.gz
cd gettext-0.17
./configure --prefix $HOME/filezilla/gettext-0.17 && nice make && make install
cd ~/filezilla
ln -s gettext-0.17 gettext
Then pkg-config 0.23.

Code: Select all

cd /tmp
tar xzf ~/Downloads/pkg-config-0.23.tar.gz
cd pkg-config-0.23
./configure --prefix $HOME/filezilla/pkg-config-0.23 && nice make && make install
cd ~/filezilla
ln -s pkg-config-0.23 pkg-config
Now you will need to create some environment files. I build FileZilla for Tiger machines on PowerPC and Intel processors. I have created a set of files which tell the build tools about the kind of binary I need.

I put all these files in the ~/filezilla/env directory. These directions assume you will do the same. The first file is for building Tiger binaries on Leopard (10.6) or later systems. If you use this, you can build Tiger binaries on Leopard (or later) systems. Otherwise, when you build on Leopard or later, the binaries will not run on Tiger. Keep in mind certain features have been disabled to be compatible with Tiger (e.g. power management).

Here is the ~/filezilla/env/tiger environment file.

Code: Select all

SDK="/Developer/SDKs/MacOSX10.4u.sdk"
ARCH="-isysroot ${SDK}"
export MACOSX_DEPLOYMENT_TARGET="10.4"
export CFLAGS="${CFLAGS} ${ARCH} -O2"
export CXXFLAGS="${CFLAGS}"
export LDFLAGS="${LDFLAGS} ${ARCH} -Wl,-syslibroot,${SDK}"
This next one is for building universal binaries, i.e. binaries that will run on both PowerPC and Intel processors. It's called ~/filezilla/env/universal.

Code: Select all

ARCH="-arch ppc -arch i386"
export CFLAGS="${CFLAGS} ${ARCH} -O2"
export CXXFLAGS="${CFLAGS}"
export LDFLAGS="${LDFLAGS} ${ARCH}"
This next file is called ~/filezilla/env/fzlibs.

Code: Select all

. ~/filezilla/env/tiger
. ~/filezilla/env/universal
The final file is specific build instructions for FileZilla itself. It's called ~/filezilla/env/filezilla.

Code: Select all

. ~/filezilla/env/fzlibs
export PATH=~/filezilla/pkg-config/bin:~/filezilla/gettext/bin:~/filezilla/wxMac/bin:$PATH
export PKG_CONFIG_PATH=$HOME/filezilla/gnutls/lib/pkgconfig:$PKG_CONFIG_PATH
export CPPFLAGS="${CPPFLAGS} -I$HOME/filezilla/libidn/include"
export LDFLAGS="${LDFLAGS} -L$HOME/filezilla/libidn/lib"
Now that we have our environment files, we can proceed with the build. We'll start with building libidn 1.18.

Code: Select all

cd /tmp
tar xzf ~/Downloads/libidn-1.18.tar.gz
cd libidn-1.18
source ~/filezilla/env/fzlibs
./configure --prefix $HOME/filezilla/libidn-1.18 --disable-dependency-tracking && nice make && make install
cd ~/filezilla
ln -s libidn-1.18 libidn
Next we build libgpg-error 1.7.

Code: Select all

cd /tmp
tar xjf ~/Downloads/libgpg-error-1.7.tar.bz2 
cd libgpg-error-1.7
source ~/filezilla/env/fzlibs
./configure --prefix $HOME/filezilla/libgpg-error-1.7 --disable-dependency-tracking && nice make && make install
cd ~/filezilla
ln -s libgpg-error-1.7 libgpg-error
Now we can build libgcrypt 1.4.5.

Code: Select all

cd /tmp
tar xjf ~/Downloads/libgcrypt-1.4.5.tar.bz2
cd libgcrypt-1.4.5
source ~/filezilla/env/fzlibs
./configure --with-gpg-error-prefix=$HOME/filezilla/libgpg-error --prefix $HOME/filezilla/libgcrypt-1.4.5 --disable-dependency-tracking --disable-asm && nice make && make install
cd ~/filezilla
ln -s libgcrypt-1.4.5 libgcrypt
The final library necessary is gnutls 2.8.5.

Code: Select all

cd /tmp
tar xjf ~/Downloads/gnutls-2.8.5.tar.bz2
cd gnutls-2.8.5
source ~/filezilla/env/fzlibs
./configure --prefix $HOME/filezilla/gnutls-2.8.5 --with-libgcrypt-prefix=$HOME/filezilla/libgcrypt --disable-dependency-tracking && nice make && make install
cd ~/filezilla
ln -s gnutls-2.8.5 gnutls
Lastly, we can actually build FileZilla 3.3.2 itself.

Code: Select all

cd /tmp
tar xjf ~/Downloads/FileZilla_3.3.2_src.tar.bz2
cd filezilla-3.3.2
source ~/filezilla/env/filezilla
./configure --disable-dependency-tracking && nice make
rm -rf FileZilla.app
nice make
cd FileZilla.app/Contents/MacOS/
strip filezilla fzputtygen fzsftp 
cd ../../..
mv FileZilla.app ~/Desktop
I always run into an error after the first make. Something about the build order is not right and it can't find some of the translation files. I'm not sure why this is, but removing the FileZilla.app directory and rerunning make generates the translation files and completes the build.

Because I build binaries for distribution, I need to edit the dynamic libraries to make their path relative to the filezilla binary. Otherwise, this copy of FileZilla will only run on this machine. I have created a script to help me with this. Either this process is terrible, or I'm really missing something about Mac dylibs. If someone knows an easier way of doing this, I'd love to learn about it. For now, I'll make use of my script.

It's called ~/filezilla/bin/mac-dylib-tool.pl.

Code: Select all

#! /usr/bin/perl

sub syntax {
    print "syntax: max-dylib-tool.pl command pattern file\n";
    print "  command = [ dylib | exe ]\n";
    print "  pattern = regular expression pattern\n";
    print "  file = file to alter (dylib or exe)\n";
}

sub fix_dylib_path {
    $PREFIX = $_[0];
    $FILE = $_[1];
   
    @OUTPUT = `otool -L ${FILE}`;
   
    while (<@OUTPUT>) {
        if ($_ =~ m/^($PREFIX)\/(.*)(\.dylib)$/) {
            $LIB = $2 . $3;
            $CMD = "install_name_tool -change ${1}/${LIB} \@executable_path/../Frameworks/${LIB} ${FILE}";
            `${CMD}`;
        }
    }
}

sub fix_dylib_id {
    $PREFIX = $_[0];
    $DYLIB = $_[1];
    
    $CMD = "install_name_tool -id \@executable_path/../Frameworks/${DYLIB} ${DYLIB}";
    `${CMD}`;
   
    fix_dylib_path($PREFIX, $DYLIB);
}

if ($#ARGV != 2) {
    syntax();
    die;
}

if ($ARGV[0] eq "dylib") {
    fix_dylib_id($ARGV[1], $ARGV[2]);
} elsif ($ARGV[0] eq "exe") {
    fix_dylib_path($ARGV[1], $ARGV[2]);
} else {
    syntax();
}
First we will make a copy of all the dylibs we need for FileZilla. The build process won't work with our modified dylibs, so we don't want to change the originals.

Code: Select all

cd ~/filezilla
mkdir Frameworks
cd Frameworks
cp ../wxMac/lib/libwx_base_carbonu-2.8.0.dylib .
cp ../wxMac/lib/libwx_base_carbonu_net-2.8.0.dylib .
cp ../wxMac/lib/libwx_base_carbonu_xml-2.8.0.dylib .
cp ../wxMac/lib/libwx_macu_adv-2.8.0.dylib .
cp ../wxMac/lib/libwx_macu_aui-2.8.0.dylib .
cp ../wxMac/lib/libwx_macu_core-2.8.0.dylib .
cp ../wxMac/lib/libwx_macu_html-2.8.0.dylib .
cp ../wxMac/lib/libwx_macu_xrc-2.8.0.dylib .
cp ../libidn/lib/libidn.11.dylib .
cp ../libgpg-error/lib/libgpg-error.0.dylib .
cp ../libgcrypt/lib/libgcrypt.11.dylib .
cp ../gnutls/lib/libgnutls.26.dylib .
Now we can use the script to modify each dynamic library.

Code: Select all

cd ~/filezilla/Frameworks
perl ~/filezilla/bin/mac-dylib-tool.pl dylib $HOME/filezilla/[A-Za-z0-9\-.]+/lib libwx_base_carbonu-2.8.0.dylib
perl ~/filezilla/bin/mac-dylib-tool.pl dylib $HOME/filezilla/[A-Za-z0-9\-.]+/lib libwx_base_carbonu_net-2.8.0.dylib
perl ~/filezilla/bin/mac-dylib-tool.pl dylib $HOME/filezilla/[A-Za-z0-9\-.]+/lib libwx_base_carbonu_xml-2.8.0.dylib
perl ~/filezilla/bin/mac-dylib-tool.pl dylib $HOME/filezilla/[A-Za-z0-9\-.]+/lib libwx_macu_adv-2.8.0.dylib
perl ~/filezilla/bin/mac-dylib-tool.pl dylib $HOME/filezilla/[A-Za-z0-9\-.]+/lib libwx_macu_aui-2.8.0.dylib
perl ~/filezilla/bin/mac-dylib-tool.pl dylib $HOME/filezilla/[A-Za-z0-9\-.]+/lib libwx_macu_core-2.8.0.dylib
perl ~/filezilla/bin/mac-dylib-tool.pl dylib $HOME/filezilla/[A-Za-z0-9\-.]+/lib libwx_macu_html-2.8.0.dylib
perl ~/filezilla/bin/mac-dylib-tool.pl dylib $HOME/filezilla/[A-Za-z0-9\-.]+/lib libwx_macu_xrc-2.8.0.dylib
perl ~/filezilla/bin/mac-dylib-tool.pl dylib $HOME/filezilla/[A-Za-z0-9\-.]+/lib libidn.11.dylib
perl ~/filezilla/bin/mac-dylib-tool.pl dylib $HOME/filezilla/[A-Za-z0-9\-.]+/lib libgpg-error.0.dylib
perl ~/filezilla/bin/mac-dylib-tool.pl dylib $HOME/filezilla/[A-Za-z0-9\-.]+/lib libgcrypt.11.dylib
perl ~/filezilla/bin/mac-dylib-tool.pl dylib $HOME/filezilla/[A-Za-z0-9\-.]+/lib libgnutls.26.dylib
Finally, we fix the filezilla executable itself and copy our modified dylibs.

Code: Select all

cd ~/Desktop/FileZilla.app/Contents/MacOS
perl ~/filezilla/bin/mac-dylib-tool.pl exe $HOME/filezilla/[A-Za-z0-9\-.]+/lib filezilla
cd ..
cp -r ~/filezilla/Frameworks .
And with that, we now have a distributable FileZilla binary that should work on any Mac with Tiger or later.

A few notes about abstracting this process a little. I don't know anyone other than me who actually needs all this. This is mainly for my reference and for whoever may find it interesting. Here are a few things you may want to edit to suit your needs.

If you have a multi-core processor, you will be able to speed up compilation time by telling make to run in parallel. To do this, change all the "nice make" lines to "nice make -j2". That's for a dual-core processor. Tri-cores would be -j3, Quad-cores would be -j4, etc. I have a quad-core and -j4 really speeds up compile times for FileZilla.

If you don't need to compile for Tiger from Leopard or later (i.e. either you're compiling on Tiger, or you don't need binaries that will run on Tiger), then you can omit all the tiger environment file references. Remove the ". ~/filezilla/env/tiger" line from fzlibs and don't bother creating the tiger file at all.

If you don't need a universal binary, then you can speed up compile times and reduce size by compiling solely for your architecture. To do this, all you really need to do is remove all references to the universal environment file. A few other minor things you can do to be more efficient include removing "--disable-dependency-tracking" from the configure lines. This is only needed for universal builds. Also on libgcrypt, I had to use "--disable-asm" so it would build for both architectures. You can remove that line if only compiling for your native system.

If you don't need Tiger binaries and you don't need a universal build, you can leave out all references to the fzlibs environment file. Just remove the line from the filezilla environment file. Then you can leave out all the "source ~/filezilla/env/fzlibs" lines. Remember you still (and always) need the final "source ~/filezilla/env/filezilla" line when compiling FileZilla itself.

If you aren't going to distribute your binary (i.e. it only needs to work on the machine you compiled it on), you can leave out all the mac-dylib-tool stuff and coping dylibs to the ~/filezilla/Frameworks directory. This is only needed if you are going to give your binary to others.

Static libraries would be easier, but then gnutls has to be handled special. They don't seem interested in fixing their static build process (which I cannot get to work in a universal build without special handling). Linking statically will also reduce size because you can compress the filezilla library more. UPX on Mac hasn't worked reliably for me, so I've stopped using it. Stripping dylibs seem to break things also, so I don't do that either.

I think I've rambled on long enough now. Thanks to everyone who has helped with this. FileZilla is the best -- thanks especially and explicitly to botg!
http://jdrrant.blogspot.com/ - CODEpendent Blog

jdratlif
226 Transfer OK
Posts: 392
Joined: 2008-12-30 10:30
First name: John
Last name: Ratliff
Location: In a small white padded room.
Contact:

Snow Leopard Instructions Apr 2 2010

#4 Post by jdratlif » 2010-04-03 04:05

I just upgraded to Snow Leopard today and the process is a little different. They're phasing out support for PPC and Tiger is getting older and older. You will need to have Xcode installed first. The current version (as of Apr 2 2010) for Snow Leopard is 3.2.1.

All packages are assumed to be in the ~/Downloads directory. Adjust as needed. Make sure to start a new Terminal for each step (New Tab or New Window is fine) or your environment won't be optimal (and many not work).

Step 1. Get the build files.

Code: Select all

tar xjf ~/Downloads/FileZilla-Tiger-files.tar.bz2
Step 2. Build wxWidgets 2.8.10.

Code: Select all

~/filezilla/bin/build-wxMac.sh
Step 3. Build GNU gettext 0.17.

Code: Select all

~/filezilla/bin/build-gettext.sh
Step 4. Build pkg-config 0.23.

Code: Select all

~/filezilla/bin/build-pkg-config.sh
Step 5. Build libidn 1.18.

Code: Select all

~/filezilla/bin/build-libidn.sh
Step 6. Build libgpg-error 1.7.

Code: Select all

~/filezilla/bin/build-libgpg-error.sh
Step 7. Build libgcrypt 1.45.

Code: Select all

~/filezilla/bin/build-libgcrypt.sh
Step 8. Build GNU TLS 2.8.5.

Code: Select all

~/filezilla/bin/build-gnutls.sh
Step 9. Build FileZilla 3.3.2.1.

Code: Select all

~/filezilla/bin/build-filezilla.sh
As long as you want what I want, universal Tiger binaries, this is pretty simple. If you have questions or comments, post a reply. All scripts, files, documents, writings, and other things created by me for this process are put into the public domain.
http://jdrrant.blogspot.com/ - CODEpendent Blog

cbone
500 Command not understood
Posts: 1
Joined: 2010-07-10 15:25

Re: Building Tiger binaries on Leopard and Snow Leopard

#5 Post by cbone » 2010-07-10 15:44

jd,

you have made web work on G3s like my Pismo and my G4 eMac (Leopard is not officially supported on it) running Tiger much easier! Filezilla is the my personal favorite FTP file manager on the Mac as far as price and features (I know that there are other great apps out there and I encourage them to continue to support the many great Macs that cannot run Leopard or above as well..variety is very helpful, especially when a missing feature is needed).

I had to register just to give you a huge high-five for the superb compilation you have done for Tiger users! Thanks a million and keep it up..it is highly appreciated! :D

cbone

jdratlif
226 Transfer OK
Posts: 392
Joined: 2008-12-30 10:30
First name: John
Last name: Ratliff
Location: In a small white padded room.
Contact:

Re: Building Tiger binaries on Leopard and Snow Leopard

#6 Post by jdratlif » 2010-07-15 04:44

I've updated the Tiger build files to reflect the new current versions of everything. It seems since the last stable version of FileZilla was released, every support program has released a new stable version as well.

http://code.technoplaza.net/filezilla/m ... 15.tar.bz2

I've added a VERSION variable to each of the build scripts so they can be changed easily. There's also a new build-all.sh script that will build everything. My earlier warning about using a separate terminal for each program build seems unnecessary, but ymmv. I put up the new Tiger unofficial binary using only the new build-all.sh script.

wxWidgets 2.8.11 - http://prdownloads.sourceforge.net/wxwi ... .11.tar.gz
GNU gettext 0.18.1.1 - ftp://ftp.gnu.org/gnu/gettext/gettext-0.18.1.1.tar.gz
pkg-config 0.25 http://pkgconfig.freedesktop.org/releas ... .25.tar.gz
libidn 1.19 - ftp://ftp.gnu.org/gnu/libidn/libidn-1.19.tar.gz
libgpg-error 1.8 - ftp://ftp.gnupg.org/gcrypt/libgpg-error ... .8.tar.bz2
libgcrypt 1.4.6 - ftp://ftp.gnupg.org/gcrypt/libgcrypt/li ... .6.tar.bz2
GNU TLS 2.8.6 - ftp://ftp.gnu.org/pub/gnu/gnutls/gnutls-2.8.6.tar.bz2
FileZilla 3.3.3 - https://www.ohloh.net/projects/filezill ... rc.tar.bz2

In Terminal, after you have all the packages, it's easy enough to do:

Code: Select all

tar xjf ~/Downloads/FileZilla-Tiger-files-20100715.tar.bz2
~/filezilla/bin/build-all.sh
http://jdrrant.blogspot.com/ - CODEpendent Blog

jdratlif
226 Transfer OK
Posts: 392
Joined: 2008-12-30 10:30
First name: John
Last name: Ratliff
Location: In a small white padded room.
Contact:

Re: Building Tiger binaries on Leopard and Snow Leopard

#7 Post by jdratlif » 2010-11-17 08:15

I've updated the build files again so it's easier than ever.

1) Download Tiger Files. http://code.technoplaza.net/filezilla/m ... es.tar.bz2
2) Run this command in Terminal. No need to download anything.

Code: Select all

tar xjf ~/Downloads/FileZilla-Tiger-files.tar.bz2
~/filezilla/bin/build-all.sh
Here's a list of improvements over the last version.

1) All program versions are stored in the files filezilla/env/versions, so they can all be updated together.
2) You don't have to download any programs manually anymore. The build scripts will download the source code archives for you automatically using curl. You still can, it's just no longer required.
3) The build will stop if it detects an error. The last two versions of FileZilla needed a new configure flag --with-tinyxml=builtin. If anything like this happens in the future, the build will stop so you can know where it went wrong.
4) make jobs can be specified on the command line as before, but they can also be put in the filezilla/env/jobs file.
http://jdrrant.blogspot.com/ - CODEpendent Blog

User avatar
alba
500 Command not understood
Posts: 1
Joined: 2012-12-11 03:57
First name: alba
Last name: de rosa

Re: Building Tiger binaries on Leopard and Snow Leopard

#8 Post by alba » 2012-12-11 04:08

for kindly jdratlif,
I am very grateful for the information that you provide, even though I was very surprised that this discussion has been 2 years ago.
I use some of your post as described above to complete my task.

warm regards

andy1
500 Command not understood
Posts: 1
Joined: 2014-05-06 18:37

Re: Building Tiger binaries on Leopard and Snow Leopard

#9 Post by andy1 » 2014-05-07 11:53

Didn't expect I would find the instructions for my OS and they are still valid.
Really appreciated and impressed. Best FTP client/server ever.

Post Reply