Page 1 of 1

There is a way to build palemoon without mach?

Posted: 2020-11-10, 01:37
by coltson
Hello. I want to build palemoon, however, from the instructions on: https://developer.palemoon.org/build/linux/, it requires mach. Mach is not present on my system and I cannot install it, at least at the first attempt, when I issued:

Code: Select all

pip install mach
, I received:

Code: Select all

wnloading/unpacking mach
  Could not fetch URL http://pypi.python.org/simple/mach: HTTP Error 403: SSL is required
  Will skip URL http://pypi.python.org/simple/mach when looking for download links for mach
  Could not fetch URL http://pypi.python.org/simple/: HTTP Error 403: SSL is required
  Will skip URL http://pypi.python.org/simple/ when looking for download links for mach
  Cannot fetch index base URL http://pypi.python.org/simple/
Cannot find requirement mach, nor fetch index URL http://pypi.python.org/simple/
Storing complete log in ./pip-log.txt


So I am wondering if there is another way that does not use it?

Re: There is a way to build palemoon without mach?

Posted: 2020-11-10, 02:35
by Isengrim
Mach is part of the build system that ships with the source code. If you cloned the git repo, it should be included as an executable in the root directory; the dot-slash in the command indicates as much. It is not a separate installable tool.

Re: There is a way to build palemoon without mach?

Posted: 2020-11-10, 05:46
by 0strodamus
You could try

Code: Select all

make -f client.mk build
.

Re: There is a way to build palemoon without mach?

Posted: 2020-11-10, 09:14
by New Tobin Paradigm
I wouldn't. Use the mach command or just use a precompiled binary.

Re: There is a way to build palemoon without mach?

Posted: 2020-11-10, 13:39
by Moonchild
There is no reason whatsoever not to use mach. It is there to script and automate steps you'd normally have to make anyway. Not using it is making it unnecessarily much harder on yourself to build.

Re: There is a way to build palemoon without mach?

Posted: 2020-11-10, 16:47
by New Tobin Paradigm
The build system isn't really setup to not use the mach command launcher these days. Technically yes it can be done but it requires even more skill and in-depth knowlege of how to correctly invoke things and where. Just building won't give you a fully working final binary it needs stripped and staged or packaged and without the command runner it can't all be executed from topsrcdir.

If you can't even work this out then you shouldn't be building at all. Don't make the mistake that it is as simple as a standard tiny gnu thing. It isn't.

Re: There is a way to build palemoon without mach?

Posted: 2020-11-10, 22:51
by coltson
Isengrim wrote:
2020-11-10, 02:35
Mach is part of the build system that ships with the source code. If you cloned the git repo, it should be included as an executable in the root directory; the dot-slash in the command indicates as much. It is not a separate installable tool.
Looking at: https://repo.palemoon.org/MoonchildProd ... .0_Release I can only find .tar.gz or zip, not the link to clone with git. I downloaded the UXP-RELBASE_20200929, for the 28.14.0, so it has to be the link for this release
0strodamus wrote:
2020-11-10, 05:46
You could try

Code: Select all

make -f client.mk build
.
Unfortunately it did not work:

Code: Select all

/media/34GB/Arquivos-de-Programas-Linux/pale-moon/mach: 4: ./platform/mach: not found
client.mk:195: /.mozconfig.mk: No such file or directory
/media/34GB/Arquivos-de-Programas-Linux/pale-moon/mach: 4: ./platform/mach: not found
make: *** No rule to make target `/media/34GB/Arquivos-de-Programas-Linux/pale-moon/platform/CLOBBER', needed by `/CLOBBER'.  Stop.

Re: There is a way to build palemoon without mach?

Posted: 2020-11-10, 23:19
by Moonchild
I'm sorry but I think you are lacking the basic skills needed to build from source (which includes actually reading information in the repository's readmes)

My suggestion: Please use a precompiled binary.

Re: There is a way to build palemoon without mach?

Posted: 2020-11-12, 18:54
by stevenpusser
What Moonchild means is how on earth you missed this set of commands:

Code: Select all

git clone https://repo.palemoon.org/MoonchildProductions/Pale-Moon.git ./
git submodule init && git submodule update
git checkout release && git submodule update
Before you ask, they do require that "git" is installed on your system.

If you just want to learn building from source as self improvement, there's nothing wrong with that, but browsers are far from a beginner's exercise. Try something much simpler to begin with, and always read the entire page of instructions before doing anything.

Re: There is a way to build palemoon without mach?

Posted: 2020-11-12, 19:19
by New Tobin Paradigm
You CAN still do it manually with the comm and platform tarballs but git is so much simpler.

Re: There is a way to build palemoon without mach?

Posted: 2020-11-14, 01:28
by coltson
stevepusser wrote:
2020-11-12, 18:54
What Moonchild means is how on earth you missed this set of commands:

Code: Select all

git clone https://repo.palemoon.org/MoonchildProductions/Pale-Moon.git ./
Does this work with with the UXP-RELBASE_20200929? I really don't want to download another version of this file, because it takes so many time to decompress it. I will do so if I absolutely have to:

Code: Select all

git submodule init && git submodule update
Now that you mentioned it, I found it on Readme.md

[quode]git checkout release && git submodule update
Now these commands are not in the Readme.md

[/code]

Before you ask, they do require that "git" is installed on your system.

If you just want to learn building from source as self improvement, there's nothing wrong with that, but browsers are far from a beginner's exercise. Try something much simpler to begin with, and always read the entire page of instructions before doing anything.
[/quote]
Moonchild wrote:
2020-11-10, 23:19
I'm sorry but I think you are lacking the basic skills needed to build from source (which includes actually reading information in the repository's readmes)

My suggestion: Please use a precompiled binary.
Well, I already compiled: A lot of Xorg stack and Gtk's stack. Plus, I did all of it outside default system dir (/usr/ or /usr/local/), installing everything in their own folders, which increases the difficult level, I would say, around 5 to 10 times. Plus things like: Python, Gcc, Glibc, Kernel OpenSSl, Alsa, Autoconf, Automake, Mplayer, Nasm, Yasm, libjpeg, libpng,expat, freetype,fontconfig,libtiff,wget,XZ,Zliv,M4,SDL, again, all outside system tree structure (although in some cases does not matter that much, at least to build them).

So I think I shall at least give it a try.
New Tobin Paradigm wrote:
2020-11-12, 19:19
You CAN still do it manually with the comm and platform tarballs but git is so much simpler.
Will pick up the correct autoconf and see if I can generate a configure from it

Re: There is a way to build palemoon without mach?

Posted: 2020-11-14, 07:27
by vannilla
To be fair, compiling the Linux kernel is orders of magnitude simpler than compiling a Firefox-based web browser, so past experiences really don't matter that much.
And the git commands are explained on the developer section of the website, literally the second paragraph.

Re: There is a way to build palemoon without mach?

Posted: 2020-11-14, 17:42
by New Tobin Paradigm
Oh my god. Stop. You have no idea what you are doing. You can't use autocof directly to "generate a new configure". Just follow the instructions to the letter or give up. Cause it sounds like you are just going to continue to fail because reading comprehension is not a skill you possess.

If reading and following complete step by step instructions is beyond you then there is no reason to continue this discussion. As you no doubt missed reading, we do not provide support to those who roll their own builds. You are on your own and given what you have said you are totally up shit creek without a paddle.. or a functioning brain.

According to your post history this isn't the first time we have been down this road with you. Did you learn nothing from it?

Re: There is a way to build palemoon without mach?

Posted: 2020-12-11, 10:04
by shevy
vanilla wrote:

> To be fair, compiling the Linux kernel is orders of magnitude simpler than compiling a Firefox-based web browser,

Yeah, that has been my impression as well. I can build through a complete BLFS build (thankfully the instructions
are simple: http://www.linuxfromscratch.org/blfs/) but the web-related components have become really annoying.
I don't just mean firefox as such, but simply the whole web-stack which becomes increasingly complex and
"inter-connected" on dependencies. Just try compiling chromium from source on a linux-from-scratch build;
I even ran out of memory and my machine isn't the worst (16 GB RAM; to be fair I ran out of RAM with LLVM
before in the past, so perhaps 16 GB is now too little actually ... even though you can tweak a lot and
work around many of these issues).

Not only the firefox-build system, even though this is outdated like crazy (http://www.linuxfromscratch.org/blfs/vi ... refox.html)
but also the javascript-related parts (spidermonkey); even openssl (just compare the build system to
libressl; openssl + gnutls is kind of needed on linux systems IMO).

For some reason, some projects have a hard time moving to something slightly less annoying, such as cmake
or meson/ninja. All build systems have problems; some just add more problems than others. Personally I
quite like meson/ninja. Note that I use automated compilations via a set of ruby scripts, where providing the
URL alone is almost sufficient for the rest to get "figured out". Whenever custom build rules are used, things
tend to become more fragile and volatile, so I actually prefer "modern standardizations" e. g. via cmake or
meson - and yeah, the latter have problems too, just fewer problems than GNU autoconfigure or custom
set of rules via mozconfig (which often mandates people having to use python version2 still right? Or
perl based old autoconf ...)

I have not yet tried to compile palemoon, mostly because firefox and mozilla already shocked me for the
rest of my life here ... even upgrading glibc is simpler. :)

(The kernel is actually quite easy to compile, just takes some time to do so. The longest build times I
have these days is when I try to compile qt from source, whoa does this take a long time ... )