# Unable to install Firefox on Raspberry Pi 3



## XP_Studios (Nov 17, 2020)

Hi, I installed FreeBSD 12.2-Release image for the Raspberry Pi 3 and I was able to get most things up and running smoothly (pkg, sudo, xorg). However, when I try to install firefox with 
	
	



```
pkg install firefox
```
, it gives me this message: 

```
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date
Updating database digests format: 100%
pkg: No packages available to install matching "firefox" have been found in the repositories
```
My first thought was that I had the wrong package name, but after searching, all evidence seems to point to the name being "firefox". I've updated and upgraded pkg, searched for information on how to fix this, and (unsuccessfully) tried to install it with ports, but nothing works. Does anyone know what the problem is? Thanks!
Specs:
Raspberry Pi 3B
Arm Cortex CPU
bash shell (also tried to install on c shell if that matters)
12.2-Release image for Raspberry Pi 3
​


----------



## SirDice (Nov 17, 2020)

Apparently lang/rust can't be built on Qemu (which is what's being used to build the ARM packages). Without Rust Firefox can't be built so it was skipped, therefor no package was created. 





__





						Poudriere bulk results
					






					beefy13.nyi.freebsd.org
				




Good luck trying to build it from ports on a Pi. Building Firefox (for AMD64) typically takes 7-8 hours on my Intel Core i5. It's probably going to take several days on a Pi, if you can get it to build at all.


----------



## XP_Studios (Nov 17, 2020)

Oh wow, I didn't know building ports took so long lol
Do you know of any browsers that will work with the Pi or how to search for Pi-compatible software on the package lists?


----------



## SirDice (Nov 18, 2020)

XP_Studios said:


> I didn't know building ports took so long


It really depends on the port. Firefox and Chromium are notoriously massive builds that take a really long time, even on 'big' hardware. The Raspberry Pi CPU is not that powerful, so building is going to take a really long time. I recently upgraded my Pi3 from 12.1-RELEASE to 12.2-RELEASE and the build(7) took almost two days to complete. 



XP_Studios said:


> Do you know of any browsers that will work with the Pi or how to search for Pi-compatible software on the package lists?


I haven't looked too hard but both Firefox and Chromium seem to be absent.


----------



## acheron (Nov 18, 2020)

SirDice said:


> Apparently lang/rust can't be built on Qemu (which is what's being used to build the ARM packages). Without Rust Firefox can't be built so it was skipped, therefor no package was created.
> 
> 
> 
> ...


rpi3 is aarch64, we build natively on this arch. qemu-user-static is only used for armv6, armv7 and mips.
The problem is that the aarch64 builder is dead since august: https://lists.freebsd.org/pipermail/freebsd-arm/2020-November/022666.html
Your best approach right now is to set up a poudriere + qemu builder, build most of the ports on it and use your rpi to build the packages that can't be built with qemu.
Feel free to open a problem report on our bugzilla if something is broken.
firefox and chromium builds on my aarch64 box (I use 13-current, ymmv)


----------



## T-Daemon (Nov 18, 2020)

XP_Studios said:


> ... or how to search for Pi-compatible software on the package lists?


You can search for Pi-compatible (or other supported architectures) packages availability on https://www.freshports.org, checking the "Packages" table of the ports, eg.:


A direct search of a specific architecture is not possible, only a port specific search can be done, eg.: search result for "Short Description" "browser". The ports are (descending in this case) listed after categories, you will find in the _www_ category some web browsers (the list may be incomplete, browsers available as package for _FreeBSD:12:aarch64_):

www/epiphany
www/falkon
www/midori
www/otter-browser
www/qutebrowser
www/dillo2
www/netsurf
www/surf


----------



## XP_Studios (Nov 18, 2020)

thanks, I wasn't sure which version of aarch/arm the pi was


----------



## mark_j (Nov 19, 2020)

SirDice said:


> Apparently lang/rust can't be built on Qemu (which is what's being used to build the ARM packages). Without Rust Firefox can't be built so it was skipped, therefor no package was created.
> 
> 
> 
> ...


Days he says?  (I'm running out of emojis...)

It might, but it will exhaust memory long before that. If you added some huge USB based swap then it would take, just guessing, about a year.
Two issues:
1. I hope firefox dies soon and takes Rust with it.
2. Seriously this entire cross-building system using slow-as-a-dog QEMU is just idiotic. (I'm glad I'm not paying the power bill on the servers doing the ARM builds.)


----------



## acheron (Nov 19, 2020)

mark_j said:


> Days he says?  (I'm running out of emojis...)
> 
> It might, but it will exhaust memory long before that. If you added some huge USB based swap then it would take, just guessing, about a year.
> Two issues:
> 1. I hope firefox dies soon and takes Rust with it.


Why? there will be no useable browser anymore. Why do you want rust to die? I spend more time fixing c or c++ shit than rust....


mark_j said:


> 2. Seriously this entire cross-building system using slow-as-a-dog QEMU is just idiotic. (I'm glad I'm not paying the power bill on the servers doing the ARM builds.)


No it's not. No arm boards are as fast as my ryzen 3900x, it saves me an incredible amount of time. And yeah someone as to pay the bills, it's always better when it's someone else money.


----------



## drhowarddrfine (Nov 19, 2020)

acheron said:


> I spend more time fixing c or c++ shit than rust


Cause there's so little usage of Rust compared to the others.


----------



## acheron (Nov 19, 2020)

drhowarddrfine said:


> Cause there's so little usage of Rust compared to the others.


or there are more bugs in c or c++ projects?


----------



## drhowarddrfine (Nov 19, 2020)

acheron Don't make bugs. Problem solved. 

My comment before was tongue in cheek but too many people complain about security/bugs/other problems with C but people forget that C allows one to shoot themselves in the foot in exchange for the ability to accomplish things faster/smaller and usable everywhere with everything immediately. 

I know I don't need to tell you that. It's a comment for others who don't know.


----------



## kpedersen (Nov 19, 2020)

Bugs in C++ very often come from binding against the underlying C APIs where pointers can dangle and loads of other problems to do with raw memory are encountered. With Rust, unless you use someone elses binding project which has done all the hard work for you (something Cargo unfortunately encourages far too much IMO), then you will likely encounter almost identical bugs as you would a "modern" C++ project.


----------

