Skip to Main Content

Infrastructure Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Firefox for Solaris 11.4

993047Jan 7 2020 — edited Feb 26 2020

I see that Oracle is including Firefox 68 in its latest update for Solaris 11.4 but when I try to do "pkg update firefox" (from FF 52) it says "no updates available".  Assuming that this is because I don't have an expensive Oracle support agreement, could someone tell me just *how* Oracle created this new version of FF?  Do they use a native rust compiler for Solaris or are they cross-compiling it elsewhere?  Or maybe is there some kind soul who could send me an FF 68 package? All I want is a Firefox newer than 52.

This post has been answered by Steffen Moser on Jan 8 2020
Jump to Answer

Comments

Steffen Moser
Answer

You could have a look at the Github repository: https://github.com/oracle/solaris-userland/. You should find the build environment for Firefox there: https://github.com/oracle/solaris-userland/tree/master/components/desktop/firefox

Kind regards,
Steffen

Marked as Answer by 993047 · Sep 27 2020
993047

Thanks very much, that sure looks like what I needed.  Just one question - maybe I missed it in the documentation but are these things meant to be run in Solaris 11.4 or in Linux for cross-compilation?

Steffen Moser

They are meant to be run in Solaris 11.4. I haven't compiled Firefox, yet. Use "gmake" not "make". You need a lot of build tools, e.g. Developer Studio and the GCC compiler.

993047

OK great.  I'll give it a shot.

993047

Well this is odd.  Things were going fine until I got to this:

michele@hemlock:/scratch/clone/components$ gmake download

Generating component list...

/bin/bash: /scratch/clone/tools/userland-components: /usr/bin/python3.7: bad interpreter: No such file or directory

/bin/bash: /scratch/clone/tools/userland-components: /usr/bin/python3.7: bad interpreter: No such file or directory

Generating component dependencies...

(I watched /scratch/clone/sparc during this.  It created two empty files called components.mk and depends.mk.  After three hours of waiting, I hit ctrl-C)

^Cgmake: *** Deleting file '/scratch/clone/sparc/depends.mk'

michele@hemlock:/scratch/clone/components$

I checked and indeed I do not have python 3.7.  Python 3.7 is in the components directory but apparently you need python 3.7 to make python 3.7.

And this didn't work:

root@hemlock:/scratch/clone/sparc# pkg install python-37

pkg install: The following pattern(s) did not match any allowable packages.  Try

using a different matching pattern, or refreshing publisher information:

    python-37

root@hemlock:/scratch/clone/sparc#

And I haven't been able to find it anywhere else.

So I'm stuck.  ???

UPDATE

I installed python 3.7 directly from python.org and got gmake download to start.  Now I'm getting this:

Source http://userland.us.oracle.com/source-archives/a2ps-4.14.tar.gz...

    downloading... failed

Can't open url http://userland.us.oracle.com/source-archives/a2ps-4.14.tar.gz

<urlopen error [Errno 8] node name or service name not known>

...

Source https://01.org/sites/default/files/page/pmtools-20071116.tar.gz...

    downloading... failed

Can't open url https://01.org/sites/default/files/page/pmtools-20071116.tar.gz

HTTP Error 404: Not Found

Cannot download the archives! Terminating...

A visit to userland.us.oracle.com confirms that this site is 404.

So does any of this git download stuff work?

Steffen Moser

Unfortunately, the download scripts link to an internal Oracle server which is not available from outside. If you fetch the required files from their original sources and place them in the packages' main directories, the scripts will be typically satisfied.

Compiling such a big tool as Mozilla Firefox is quite a large piece of work and might require a lot of prerequisites. Typically, you don't have to compile everything, so you could start the "gmake build" also in the Firefox subdirectory and find which packages are missing. You could then compile the missing ones explicitly. I've used the build scripts myself to build newer versions of PHP and SVN, before, but I've never tried to compile such a large tool like Firefox.

Maybe you could have a look at http://sfe.opencsw.org/ and find if they provide community builds of Firefox. Maybe you could have a look at OmniOS or OpenIndiana and find out whether they come with a more recent version of Firefox, though I have not checked it myself.

993047

Thanks for the suggestions but I've been there, failed to do that.  CSW only offers old versions of FF.  OI does have FF 60 but when I tried to install that I got

root@hemlock:~/Downloads# pkg install //openindiana.org/web/browser/firefox@60.8.0,5.11-2018.0.0.0:20190713T032125Z

pkg install: The following pattern(s) only matched packages that are not available

for the current image's architecture, zone type, and/or other variant:

    //openindiana.org/web/browser/firefox@60.8.0,5.11-2018.0.0.0:20190713T032125Z

And yet Oracle is offering FF 68.  HOW do they do it???  (BTW, firefox seems to have been quietly removed from solaris userland at some point in the last week.  That's odd...)

Steffen Moser

Hi 993047,

993047 wrote:

Thanks for the suggestions but I've been there, failed to do that. CSW only offers old versions of FF. OI does have FF 60 but when I tried to install that I got

root@hemlock:~/Downloads# pkg install //openindiana.org/web/browser/firefox@60.8.0,5.11-2018.0.0.0:20190713T032125Z

pkg install: The following pattern(s) only matched packages that are not available

for the current image's architecture, zone type, and/or other variant:

//openindiana.org/web/browser/firefox@60.8.0,5.11-2018.0.0.0:20190713T032125Z

Sorry, it was just an idea...

993047 wrote:

And yet Oracle is offering FF 68. HOW do they do it???

I am quite sure that the Oracle team uses the userland repository which I pointed you to. It might be easier for them because they have a build environment that has been updated continuously and step-by-step. This means you'd have to do a lot of bootstrapping work at first. Nevertheless, when I compiled myself my first own PHP versions (I had to upgrade from PHP 5.3 to PHP 5.4 and 5.5 some years ago) using Oracle's build environment, I worked on it for a few days until I had everything running. And I am quite sure that PHP is much easier to handle compared to Firefox when it comes to the prerequisites.

993047 wrote:

(BTW, firefox seems to have been quietly removed from solaris userland at some point in the last week. That's odd...)

I cannot confirm your observation. When looking at https://github.com/oracle/solaris-userland/tree/master/components/desktop/firefox it still seems to be available at the moment.

Kind regards,
Steffen

993047

"Sorry, it was just an idea..."

Oh dear, I hope I didn't give the wrong idea.  I apologize and I greatly appreciate your help.  I'm just frustrated that I keep running into roadblocks.

"I am quite sure that the Oracle team uses the userland repository which I pointed you to."

Thanks - that's an important piece of information.  So then if they're not cross-compiling I won't  waste any more time on that avenue.  I have no problem trying to build a large project.  I've built gcc 7.3, Octave, QEMU, and OpenSCAD for Solaris in the past.  The hard part is just figuring out how to proceed.

"I cannot confirm your observation. When looking at https://github.com/oracle/solaris-userland/tree/master/components/desktop/firefox it still seems to be available at the moment."

Oops! I am very embarrassed.  You are of course absolutely right.  I completely forgot that firefox is in the desktop subdirectory.  I was looking for components/firefox.  Duh!  It's confusing because when you browse their web site, files and directories look the same.  Like I just found that cargo is under components/rust.

Steffen Moser

Hi 993047,

I've tried to do a "gmake build" of Firefox 68.4.1esr on a fully-patches Solaris 11.4 x64 SRU 16 (as I had to start-up my build zone anyway in order to compile an OpenLDAP overlay module which allows the synchronization of Samba and LDAP passwords).

The good news ist: After installing some additional packages (yasm, nodejs, clang, rustc, cargo) the Firefox build actually ran through very fine. Of course, since this is my build zone, I already had some compilation-related packages already installed (e.g. libtool, pkg-config, gcc-9, gcc-7, gcc-5, solarisstudio-124, developerstudio-125, and developerstudio-126).

So I think that by using the repository you are on the right way!

When working on a non-patched Solaris 11.4 installation, the amount of work of providing all requirements is most probably somehow higher. Unfortunately, I do not know which versions of the above-mentioned tools are actually needed in order to build Firefox 68.

Kind regards,
Steffen

993047

Hi Steffen.  That is both encouraging and frustrating.  I Unfortunately, I'm stuck with the free distro of Solaris 11.4 so I can't patch it.  I have this:

Publisher: solaris
Version: 11.4 (Oracle Solaris 11.4.0.0.1.15.0)
Branch: 11.4.0.0.1.15.0

Packaging Date: August 17, 2018 at 12:42:03 AM

I have clang, developerstudio-126

but trying to get yasm got me this:

root@hemlock:~/aoo-4.1.7/main# pkg install yasm

pkg install: The following pattern(s) only matched packages that are not available

for the current image's architecture, zone type, and/or other variant:

        yasm

root@hemlock:~/aoo-4.1.7/main#

For rustc I have mrustc.

but nodejs wouldn't install from pkg install nor from opencsw, although it is in their package list.  So I'm not sure what to do at this point or if it is even possible.  Just wondering - if you actually succeeded in producing a Firefox 68 for SPARC, could I please ask if you might share a copy with me?  I've been trying to get this going for months now with no success.

UPDATE

Oh, I see now.  By your reference to nodejs I assume you built this in x86 Solaris.  I've learned that nodejs is not available for SPARC.  This may not be a game ender though since the Makefile for Firefox in Solaris Userland specifically omits nodejs as a required package if the machine type is sparc.

Steffen Moser

Unfortunately, I don't have access to a patched Solaris 11.4 build host which runs on SPARC architecture. I do only work with x86 Solaris. Sorry!

Kind regards,

Steffen

1 - 12

Post Details

Added on Jan 7 2020
12 comments
3,968 views