Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.

pipetogrep

macrumors 6502
Original poster
Jan 27, 2021
349
500
Hi all,

Since TenFourFox is now in "hobby mode" and there will be no more official builds, Cameron Kaiser said the only way to get updates will be to build it for ourselves. It should be as straightforward as having the necessary hardware and following the instructions from https://github.com/classilla/tenfourfox/wiki/HowToBuildFPR.

Unfortunately it is not that easy as Macports is involved. So here's some instructions to get the job done. Good luck and let me know if it works out or how the process can be improved.

  1. Install Xcode 2.5.
  2. Install Macports for OS X Tiger
  3. Run 'sudo port -v selfupdate'
  4. Run 'sudo port -N install apple-gcc42'.
  5. Run 'sudo port -N install apple-gcc42' again.
  6. Run 'sudo port -N install gcc7'.
  7. It will fail complaining about libunwind-headers being active. Run 'sudo port -f deactivate libunwind-headers'.
  8. Run 'sudo port -N install gcc7 libgcc6'.
  9. Run 'sudo port -f activate libunwind-headers'
  10. Run 'sudo port -N install db48 -java libidl autoconf213 gmake python27 gcc48 freetype git'.
  11. Download the most recent strip7 from https://sourceforge.net/projects/tenfourfox/files/tools/. Decompress the binary and put it in '/opt/local/bin/strip7'.
Please note, these steps will take a very very long time. Over 24 hours on my dual 1.8 GHz G4.

Now it's time to build the browser:
  1. Download and decompress https://github.com/classilla/tenfourfox/archive/refs/heads/master.zip to a large (preferably fast) storage device.
  2. cd into the decompressed directory. Copy the appropriate *.mozcfg to .mozconfig. For example:
    Code:
    cp G4-7450.mozcfg .mozconfig
    if you have a 7450 G4.
  3. Run
    Code:
    autoconf213
    gmake -f client.mk build
  4. If you're running on a memory constrained environment (less that 4GB), it may fail sporadically. Just run the gmake command above again and it should keep going. You may have to do that a couple of times.
  5. To test the build after a successful compile run:
    Code:
    open ./obj-ff-dbg/dist/TenFourFox.app
  6. To finish, run
    Code:
    chmod +x ./104fx_copy.sh
    ./104fx_copy.sh ~/Desktop/TenFourFox.app
At this point, you should have a working TenFourFox app sitting on your desktop! Thanks @wicknix, @alex_free, and @sanfrancisofont1984 for all the help!

Good luck and enjoy!
 
Last edited:
Hi all,

Since TenFourFox is now in "hobby mode" and there will be no more official builds, Cameron Kaiser said the only way to get updates will be to build it for ourselves. It should be as straightforward as having the necessary hardware and following the instructions from https://github.com/classilla/tenfourfox/wiki/HowToBuildFPR.

Unfortunately it is not that easy as Macports is involved. I propose we work through the steps and challenges here together and then I'll update this post with a full set of instructions on how to get it building.

I'm running this on OS X 10.4.11. I've gotten as far as:

Code:
sudo port -v selfupdate
sudo port install git libidl autoconf213 gmake python27 gcc48 freetype

Unfortunately I'm encountering compile errors for the package zstd which is a dependency for git. I'm curious if someone else could trying installing just the zstd package to see if it errors for you too. In the meantime I'll be trying to install the equivalent dependencies via Tigerbrew to see if I have better luck.

Thanks!
You don’t really need git, you could probably get way with copying whatever is cloned instead.

I am pretty sure TigerPorts fixes this issue however. To try this:

Download kencu/TigerPorts as a zip, and unzip it to '/usr/tigerports'.

Edit the '/opt/local/etc/macports/sources.conf' file and write 'file:///usr/tigerports' above the last line containing 'rsync'.

Add the ports:
$ cd /usr/tigerports && portindex && sudo port -d install git
 
You don’t really need git, you could probably get way with copying whatever is cloned instead.

I am pretty sure TigerPorts fixes this issue however. To try this:

Download kencu/TigerPorts as a zip, and unzip it to '/usr/tigerports'.

Edit the '/opt/local/etc/macports/sources.conf' file and write 'file:///usr/tigerports' above the last line containing 'rsync'.

Add the ports:
$ cd /usr/tigerports && portindex && sudo port -d install git
I wasn't aware of TigerPorts. I'll give that a try. Thanks, @alex_free!
 
  • Like
Reactions: alex_free
You don't need git, and you don't need to clone anything. Just download the source zip archive of the latest release on the releases page. ;)

Cheers
 
  • Like
Reactions: alex_free
I also recommend sticking to using exactly what Cameron's wiki says. Don't wander off trying tigerbrew or some hodge podge set up. I followed his guide and never had an issue building TFF.
I think as of recently though you really do need TigerPorts or LeopardPorts on top of MacPorts... I do agree though that TigerBrew is not gonna be consistent with Cameron’s build environment. Also, I’ve only had issues with TigerBrew in the past.

Especially for Tiger, MacPorts is breaking left and right. Besides a very few supporters like Kencu (whose patches don’t get into main MacPorts that often) there is little development for our beloved old OS.
 
Hmm. Never used them. Just followed the guide with plain macports. Worked every time.

In all fairness though I haven't built on Tiger since iceweasel-ppc. I've been all leopard since then.
 
Last edited:
I think as of recently though you really do need TigerPorts or LeopardPorts on top of MacPorts... I do agree though that TigerBrew is not gonna be consistent with Cameron’s build environment. Also, I’ve only had issues with TigerBrew in the past.

Especially for Tiger, MacPorts is breaking left and right. Besides a very few supporters like Kencu (whose patches don’t get into main MacPorts that often) there is little development for our beloved old OS.

Um, fwiw, Kencu is a major MacPorts contributor, with lots and lots and lots and lots of stuff in the main tree. https://github.com/macports/macports-ports/commits?author=kencu

I don't quite understand why he puts certain packages in separate repos—but, I'm a little concerned that if everyone uses those repos instead of master, problems in master won't get discovered and compatibility will worsen.

I know it takes time, but it's worth opening trac tickets when a port is broken. I've found the MacPorts devs to be very responsive to those. If the problem is fixed in TigerPorts, mention that in the ticket!
 
Last edited:
Hmm. Never used them. Just followed the guide with plain macports. Worked every time.

In all fairness though I haven't built on Tiger since iceweasel-ppc. I've been all leopard since then.
Macports is hit or miss for me. I’ve had things fail to compile on most my Macs but then work on others. I’m talking all PPC.
 
Yeah i run in to that too some times. I've learned to never port self update. It usually breaks what was once working.

If you get TFF to build, don't touch or update that macports install. Thats the best advice I can give.
 
  • Like
Reactions: pipetogrep
Um, fwiw, Kencu is a major MacPorts contributor, with lots and lots and lots and lots of stuff in the main tree. https://github.com/macports/macports-ports/commits?author=kencu

I don't quite understand why he puts certain packages in separate repos given that he has master commit access—but, I'm a little concerned that if everyone uses those repos instead of master, problems in master won't get discovered and compatibility will worsen.

I know it takes time, but it's worth opening trac tickets when a port is broken. I've found the MacPorts devs to be very responsive to those. If the problem is fixed in TigerPorts, mention that in the ticket!
Yea definitely, but as far as I can tell MacPorts won’t accept those fixes so he just uploads them to TigerPorts/LeopardPorts.
 
Yeah i run in to that too some times. I've learned to never port self update. It usually breaks what was once working.

If you get TFF to build, don't touch or update that macports install. Thats the best advice I can give.
INB4 TenFourFoxCompiler.app.
 
Yea definitely, but as far as I can tell MacPorts won’t accept those fixes so he just uploads them to TigerPorts/LeopardPorts.
That would imply there's someone to accept them. :p Ken has commit access to the main tree and is the maintainer on many of those ports. I saw a discussion in IRC some time back where other major maintainers were encouraging him to put more of that stuff in master, so I'm not sure what the deal is. 🤷‍♂️ Documenting what's broken in trac would be a very good place to start.


MacPorts doesn't have an automatic build system set up for Tiger and Leopard, so developers commit changes, the buildbots all light up green, and as far as they know everything is right in the world. They won't know when something breaks unless someone tells them. (Which doesn't mean everything will be fixed—they're all volunteers—but again, I've found they're very responsive on trac. They fixed one of my tickets within an hour, I was kind of amazed!)
 
Last edited:
That would imply there's someone to accept them. :p Ken has commit access to the main tree and is the maintainer on many of those ports. I saw a discussion in IRC some time back where other major maintainers were encouraging him to put more of that stuff in master, so I'm not sure what the deal is. 🤷‍♂️ Documenting what's broken in trac would be a very good place to start.


MacPorts doesn't have an automatic build system set up for Tiger and Leopard, so developers commit changes, the buildbots all light up green, and as far as they know everything is right in the world. They won't know when something breaks unless someone tells them. (Which doesn't mean everything will be fixed—they're all volunteers—but again, I've found they're very responsive on trac. They fixed one of my tickets within an hour, I was kind of amazed!)
They discontinued even the leopard PPC bots AFAIK. I honestly think the changes are just not being accepted, why else would they not be in the master?

Not everything, but some things are not the latest versions equivalent in master as well which may be an issue.

Just because someone has push access doesn’t mean that they get everything they want into said repo, if they just pushed what they wanted without support from other commiters they could loose access. Pre 10.6 is completely 100% unsupported as of 2021 as well which could also explain this...

This is a similar thing to SDL2. There were patches to get 2.0.3 to work on Tiger, but way after 2.0.3 was current and the overhead of maintaining such packages was apparently too much to ever get committed. I went ahead and forked those patches into even more patches to create my Panther SDL2 fork.
 
Last edited:
I honestly think the changes are just not being accepted, why else would they not be in the master?
I mean the code reviews are done in the open, I haven't seen them rejecting fixes for Tiger.

Not everything, but some things are not the latest versions equivalent in master as well which may be an issue.
I think that's closer to what's going on.

The MacPorts way to handle this situation (where an older version of software x is needed for an older OS) is to have a separate port for the older version. This is what they do for QT, for instance. But setting that up is a bit more work.
 
  • Like
Reactions: alex_free
I mean the code reviews are done in the open, I haven't seen them rejecting fixes for Tiger.


I think that's closer to what's going on.

The MacPorts way to handle this situation (where an older version of software x is needed for an older OS) is to have a separate port for the older version. This is what they do for QT, for instance. But setting that up is a bit more work.
I get what your saying, but why can I only get GCC 7.4.x from TigerPorts/LeopardPorts? Something else is going on, the GCC 7 compiler is only 4 years old as of 2021 (which is literally insane for this platform to have that power)...
 
That's odd, because for the last 25 hours my powerbook has been building gcc 7.5 because apparently libgcc7 is needed to build gcc4.9 (i need 4.9 for a different project), and i'm using straight stock macports.
 
gcc-7.5.png
 
Yeah, I built gcc7.5 on Tiger a couple weeks ago, from the official MacPorts tree. (I was admittedly on Intel.)
 
Last edited:
Currently stuck on building a dependency for gcc48 'ccloog'. I've attached the build log. The steps I've taken so far are above in the first post.
 

Attachments

  • main.log.zip
    7.7 KB · Views: 104
  • Like
Reactions: alex_free
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.