Pale Moon on OpenIndiana (Solaris/illumos) build issues.

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
hunghung

Pale Moon on OpenIndiana (Solaris/illumos) build issues.

Unread post by hunghung » 2020-07-24, 13:43

@athenian200:

I currently blocked by this issue: https://www.illumos.org/issues/12964 so I can't install the needed toolchain to build PM from source on OI.

I want to make a small correction to your tutorial: instead of gcc-7, I think we should install the build-essential package, it included git and many other libraries/headers/utilities needed to build OI itself. The compiler included with build-essential is also the compiler used to build all of OI packages, currently it's identical to your gcc-7, but it could change in the future. I think we better stick with this compiler.

I have some ideas but I can't test it myself due to mentioned bug:

Question 1: Could we use ravenports' gcc to build PM on OI?

http://www.ravenports.com/

How to setup ravenports: https://github.com/jrmarino/Ravenports/ ... tart-sunos

We install mousepad to get most of the dependencies to build PM (gtk, cairo,...): sudo ravensw install mousepad

Install gcc: sudo ravensw install gcc9-complete-standard

Other dependencies needed to build PM could be installed from ravensw as well.

Note: this mousepad can't start, we install it only to have the dependencies to build PM. If you want it to work, you have to compile the needed schemas with https://developer.gnome.org/gio/stable/ ... hemas.html

Question 2: Could we use Joyent's pkgsrc gcc to build PM on OI?

https://pkgsrc.joyent.com/install-on-illumos/

We install these packages to get most of the dependencies needed to build PM (gtk, cairo,...): sudo pkgin install gedit gnome-icon-themes gnome-icon-themes-extras gnome-icon-themes-symbolic

Other dependencies and gcc could be installed from pkgin as well. We could search for the needed packages with: sudo pkgin search [package name] before we try to install it, since the package names could be different with the package names on the official OI repo or on Linux, e.g: autoconf213 (pkgin) vs autoconf-213 (OI).

Note: these gcc need the headers from OI's gcc-7 (build-essential's gcc) installation to work. It's the reason why I can't test these ideas myself, since I currently can't install new packages on my OI system due to the bug I mentioned above.

Off-topic:
Minor annoyances of mine on OI and workarounds (could be useful for others as well):

Annoyance 1: Pluma regularly crashes without reasons

Workaround: using pkgin to install openjdk11 and install JEdit with the Java installer: http://www.jedit.org/index.php?page=download I use JEdit as my cross platform editor, it's available everywhere, even on exotic platform like HaikuOS. And why openjdk11 but not the openjdk8 shipped with OI itself? Joyent has patched their openjdk11 to make the fonts looks better for Swing applications and it really improved JEdit's font rendering quality on OI.

Annoyance 2: Date time is wrong and it's mismatch with Linux, when Linux set clock time to UTC, OI set the clock time to local time even though it said it's using clock time as UTC

Workaround: enable NTP with sudo svcadm enable ntp. I don't know why ntp is disabled by default on OI, on Linux, ntp is enabled by default. The ntp daemon will correct the date time to the right value after each OS's boot.

Annoyance 3: ZFS ARC Cache eats all RAM so very few RAM left for the building process

Workaround: I limit ZFS ARC to 500 MB (my system has 8G total, you should choose the suitable value for yours). The guide I used: https://www.claudiokuenzler.com/blog/45 ... e-max-size

Final notes: don't use FF on OI at all, I only used it to download athenian200's PM build and then don't use it anymore because it caused more problems for mine and it doesn't have any actual advantages over PM. And I found when we shutdown/reboot the system with MATE's Logout dialog, we usually prevented from shutdown/reboot by pulseaudio. Shutdown/reboot on the terminal with sudo poweroff/sudo reboot doesn't suffer from this issue.

New Tobin Paradigm

Re: How to build Pale Moon on OpenIndiana (Solaris/illumos).

Unread post by New Tobin Paradigm » 2020-07-24, 14:38

There is a reason we tell you to use a specific version of GCC for "close to official" configurations. Accept that.

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1535
Joined: 2018-10-28, 19:56
Location: Georgia

Re: How to build Pale Moon on OpenIndiana (Solaris/illumos).

Unread post by athenian200 » 2020-07-24, 16:38

For the record, this tutorial is out of date now, the new one is here:

http://developer.palemoon.org/build/sunos/
hunghung wrote:
2020-07-24, 13:43
@athenian200:

I currently blocked by this issue: https://www.illumos.org/issues/12964 so I can't install the needed toolchain to build PM from source on OI.
That's extremely unfortunate, I hope they get that resolved soon. Maybe I need to host my own package repo with all the packages needed to build UXP in the future, just in case. I would ideally like people to be able to work on this with any recent version of OI, not just the very latest one.
I want to make a small correction to your tutorial: instead of gcc-7, I think we should install the build-essential package, it included git and many other libraries/headers/utilities needed to build OI itself. The compiler included with build-essential is also the compiler used to build all of OI packages, currently it's identical to your gcc-7, but it could change in the future. I think we better stick with this compiler.
Back when I wrote this tutorial, the system compiler was GCC 6, which is known to have problems with the UXP codebase and was strongly not recommended. I used GCC 7 because it was available, well-tested, and they were going to make it the system compiler in a few months anyway. I don't feel like I can rely on OI to always pick a system compiler that won't have issues with us, though, and they do permit several older compiler versions to be installed.
Question 1: Could we use ravenports' gcc to build PM on OI?

Question 2: Could we use Joyent's pkgsrc gcc to build PM on OI?
I have no experience working with either system, so I have no idea. I don't see any reason why you couldn't. You might have to mess with various PATH settings and change a few config files around, but as long as it's GCC 7, it should work. I'll certainly look into this in the future, but I'm working on other stuff right now related to the release of packages.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind

hunghung

Re: How to build Pale Moon on OpenIndiana (Solaris/illumos).

Unread post by hunghung » 2020-07-24, 17:10

athenian200 wrote:
2020-07-24, 16:38
I have no experience working with either system, so I have no idea. I don't see any reason why you couldn't. You might have to mess with various PATH settings and change a few config files around, but as long as it's GCC 7, it should work. I'll certainly look into this in the future, but I'm working on other stuff right now related to the release of packages.
I have experience with both of them. Setting up and messing with the PATH is easy for me. I have already done that for a long time. But the fact is these gcc require headers from the gcc-7 package (installed from OI's repo). Without the OI's gcc-7 package installed, even if I installed these gcc (of course it will be without problems, since they are independent with OI's repo), they will failed to compile any code because of not found headers, e.g: iostream,... So I'm stuck until the OI devs could fix the issue. I wrote it down here just to note about my ideas :) I didn't mean I want you to test these for me. It's just a note, for anyone interested in these ideas :)

I just replaced OI with OpenBSD and I think it will not come back to OI soon. I want to provide third party build for OpenBSD like what you did for OI. Because I found you are already done a very good job, even if the issue blocked me is resolved, I don't think there is a need for me to provide just another third party build. Keep up the good work! I'm looking forward to see an official build of PM for OI, not just a third party build :D

User avatar
Isengrim
Board Warrior
Board Warrior
Posts: 1325
Joined: 2015-09-08, 22:54
Location: 127.0.0.1
Contact:

Re: How to build Pale Moon on OpenIndiana (Solaris/illumos).

Unread post by Isengrim » 2020-07-24, 17:26

Is there an option to boot into OI without the DE? Booting headless would save me some RAM (I'm already allocating 16 GB to the VM) and I'm hoping it might cut down on build time as well. My Googlefu isn't turning up much, so I thought I'd ask.
a.k.a. Ascrod
Linux Mint 19.3 Cinnamon (64-bit), Debian Bullseye (64-bit), Windows 7 (64-bit)
"As long as there is someone who will appreciate the work involved in the creation, the effort is time well spent." ~ Tetsuzou Kamadani, Cave Story

New Tobin Paradigm

Re: How to build Pale Moon on OpenIndiana (Solaris/illumos).

Unread post by New Tobin Paradigm » 2020-07-24, 17:46

Know that building yourself entitles you to no support, period. As the developer site says.. You are ON YOUR OWN. So I dunno why you are even here asking about this.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35602
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: How to build Pale Moon on OpenIndiana (Solaris/illumos).

Unread post by Moonchild » 2020-07-25, 08:32

New Tobin Paradigm wrote:
2020-07-24, 17:46
Know that building yourself entitles you to no support, period. As the developer site says.. You are ON YOUR OWN. So I dunno why you are even here asking about this.
Probably in the hope to get some help getting it to build, in case it's some oversight. This is still a community forum and asking other members for help if you run into trouble is the normal thing to do.
@hunghung:
Not that it seems to be anything simple here, so yeah.. you're likely on your own. Or having to listen to advice you might not want to hear :)
Why not stick with something at least a little more tested than SunOS or *BSD flavours? Say... Linux?
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

hunghung

Re: How to build Pale Moon on OpenIndiana (Solaris/illumos).

Unread post by hunghung » 2020-07-25, 12:15

athenian200 wrote:
2020-07-24, 16:38
hunghung wrote:
2020-07-24, 13:43
@athenian200:

I currently blocked by this issue: https://www.illumos.org/issues/12964 so I can't install the needed toolchain to build PM from source on OI.
That's extremely unfortunate, I hope they get that resolved soon. Maybe I need to host my own package repo with all the packages needed to build UXP in the future, just in case. I would ideally like people to be able to work on this with any recent version of OI, not just the very latest one.
I missed this part of your comment. I think you shouldn't doing so. It's not the way the rolling release of OI works. The issue I encountered is not something that happens regular. So don't put too much focus on it :)

hunghung

Re: How to build Pale Moon on OpenIndiana (Solaris/illumos).

Unread post by hunghung » 2020-07-25, 12:22

Isengrim wrote:
2020-07-24, 17:26
Is there an option to boot into OI without the DE? Booting headless would save me some RAM (I'm already allocating 16 GB to the VM) and I'm hoping it might cut down on build time as well. My Googlefu isn't turning up much, so I thought I'd ask.
You could use the Text installer media: http://dlc.openindiana.org/ As I remember, it doesn't include a GUI.

If it's about RAM saving, you could try limit the ZFS ARC Cache max size. You should choose for yourselves a reasonable value. Mine is 500 MB (set zfs:zfs_arc_max = 536870912). The guide is here: https://www.claudiokuenzler.com/blog/45 ... e-max-size

hunghung

Re: How to build Pale Moon on OpenIndiana (Solaris/illumos).

Unread post by hunghung » 2020-07-25, 12:26

Moonchild wrote:
2020-07-25, 08:32
@hunghung:
Not that it seems to be anything simple here, so yeah.. you're likely on your own. Or having to listen to advice you might not want to hear :)
Why not stick with something at least a little more tested than SunOS or *BSD flavours? Say... Linux?
Because I want to bring PM everywhere :) As Tobin said, I don't have the ability to do that. So I will stop it now :D

User avatar
Isengrim
Board Warrior
Board Warrior
Posts: 1325
Joined: 2015-09-08, 22:54
Location: 127.0.0.1
Contact:

Re: How to build Pale Moon on OpenIndiana (Solaris/illumos).

Unread post by Isengrim » 2020-07-25, 17:48

hunghung wrote:
2020-07-25, 12:22
You could use the Text installer media: http://dlc.openindiana.org/ As I remember, it doesn't include a GUI.
The text installer installs no DE, but I still need the ability to use a DE to test on. My intention is to boot headless, build the program, reboot with DE, test drive the program. It's not a hard requirement for me, more a convenience thing.

Linux has a couple of options for either shutting down the DE or booting without it, but I cannot find much documentation on how to do the same thing (if it's even possible) in Solaris-based OSes.

Edit: Found it. Helps to know what login/greeter you're actually running I guess.

Code: Select all

svcadm enable lightdm
svcadm disable lightdm
a.k.a. Ascrod
Linux Mint 19.3 Cinnamon (64-bit), Debian Bullseye (64-bit), Windows 7 (64-bit)
"As long as there is someone who will appreciate the work involved in the creation, the effort is time well spent." ~ Tetsuzou Kamadani, Cave Story

despair

Re: Pale Moon on OpenIndiana (Solaris/illumos) build issues.

Unread post by despair » 2020-09-01, 07:00

well, i'm typing this from the latest stable release (28.13) with similar issues except that i can boot to an Xsun^H^H^Horg greeter about 50% of the time.

worked just fine on yesterday's OI (build illumos-ab26215b1a) and G++ 7.

I can throw in the generated bits but you might need AVX2 to run it as i too am on AMD Zen+ (12nm)

cheers

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35602
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Pale Moon on OpenIndiana (Solaris/illumos) build issues.

Unread post by Moonchild » 2020-09-01, 08:22

28.13 is not yet released. how are you using it?
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

despair

Re: Pale Moon on OpenIndiana (Solaris/illumos) build issues.

Unread post by despair » 2020-09-01, 18:14

it....happened to be the tag that release was pointing at? :wtf:
the build instructions on the developer site worked fine after adding the host/target spec to .mozconfig

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35602
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Pale Moon on OpenIndiana (Solaris/illumos) build issues.

Unread post by Moonchild » 2020-09-01, 18:58

Just because something has a tag doesn't mean it's released.
See also the sticky here, where some things are explained: viewtopic.php?f=40&t=12400

https://github.com/MoonchildProductions ... /releases/ also clearly marks 28.12.0 as "latest release", but I understand the confusion if you are used to looking solely at tags.

Back on topic though I personally can't help with that issue. @athenian200 might be better suited?
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1535
Joined: 2018-10-28, 19:56
Location: Georgia

Re: Pale Moon on OpenIndiana (Solaris/illumos) build issues.

Unread post by athenian200 » 2020-09-02, 01:42

despair wrote:
2020-09-01, 18:14
it....happened to be the tag that release was pointing at? :wtf:
the build instructions on the developer site worked fine after adding the host/target spec to .mozconfig
Right, I'm not sure I understand how you're having an issue? It sounds like you're saying the browser builds fine. What's the problem?
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind

despair

Re: Pale Moon on OpenIndiana (Solaris/illumos) build issues.

Unread post by despair » 2020-09-02, 02:16

the user who originally asked has long since been banned

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1535
Joined: 2018-10-28, 19:56
Location: Georgia

Re: Pale Moon on OpenIndiana (Solaris/illumos) build issues.

Unread post by athenian200 » 2020-09-02, 02:28

despair wrote:
2020-09-02, 02:16
the user who originally asked has long since been banned
Right, I think I responded to him already before he was banned, earlier in the thread. Are you having any other issues I should know about? If there's something I can do for you, let me know.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind

despair

Re: Pale Moon on OpenIndiana (Solaris/illumos) build issues.

Unread post by despair » 2020-09-02, 02:43

Not at the moment i suppose. I might take another crack at porting the webrtc core and its dependencies (user-space SCTP....shudder) as i am a heavy RTC/video-conf user. unless google gives in and provides obfuscated source for widevine, then webrtc here is limited to open-source plugins only

last time i did it on navigator trunk it crashed so deep inside libxul neither DBX nor GDB would give me an usable stack trace or source listing even with full debug information. also all of the video4linux API v2 is implemented entirely in the usbvc(4D) driver which complicates things a bit
Last edited by despair on 2020-09-02, 03:22, edited 1 time in total.

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1535
Joined: 2018-10-28, 19:56
Location: Georgia

Re: Pale Moon on OpenIndiana (Solaris/illumos) build issues.

Unread post by athenian200 » 2020-09-02, 02:59

despair wrote:
2020-09-02, 02:43
Not at the moment i suppose. I might take another crack at porting the webrtc core and its dependencies (user-space SCTP....shudder) as i am a heavy RTC/video-conf user

last time i did it on navigator trunk it crashed so deep inside libxul neither DBX nor GDB would give me an usable stack trace or source listing even with full debug information. also all of the video4linux API v2 is implemented entirely in the usbvc(4D) driver which complicates things a bit
Well, if you want to build WebRTC, you'd have to build Basilisk, because Pale Moon doesn't support WebRTC or Widevine at all as far as I know. Right now I believe we don't have WebRTC working for Solaris and Google doesn't provide Widevine binaries for it anyway.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind

Locked