12 Replies Latest reply on Feb 26, 2020 12:07 PM by Steffen Moser

    Firefox for Solaris 11.4

    993047

      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.

        • 1. Re: Firefox for Solaris 11.4
          Steffen Moser

          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

          • 2. Re: Firefox for Solaris 11.4
            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?

            • 3. Re: Firefox for Solaris 11.4
              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.

              • 4. Re: Firefox for Solaris 11.4
                993047

                OK great.  I'll give it a shot.

                • 5. Re: Firefox for Solaris 11.4
                  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?

                  • 6. Re: Firefox for Solaris 11.4
                    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.

                    • 7. Re: Firefox for Solaris 11.4
                      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...)

                      • 8. Re: Firefox for Solaris 11.4
                        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

                        • 9. Re: Firefox for Solaris 11.4
                          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.

                          • 10. Re: Firefox for Solaris 11.4
                            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

                            • 11. Re: Firefox for Solaris 11.4
                              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.

                              • 12. Re: Firefox for Solaris 11.4
                                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