There is a way to build palemoon without mach?

Users and developers helping users with generic and technical Pale Moon issues on all operating systems.

Moderator: trava90

Forum rules
This board is for technical/general usage questions and troubleshooting for the Pale Moon browser only.
Technical issues and questions not related to the Pale Moon browser should be posted in other boards!
Please keep off-topic and general discussion out of this board, thank you!
User avatar
coltson
Hobby Astronomer
Hobby Astronomer
Posts: 22
Joined: 2018-10-06, 13:03

There is a way to build palemoon without mach?

Unread post by coltson » 2020-11-10, 01:37

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?

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

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

Unread post by Isengrim » 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.
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

0strodamus
Fanatic
Fanatic
Posts: 142
Joined: 2014-11-19, 19:48

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

Unread post by 0strodamus » 2020-11-10, 05:46

You could try

Code: Select all

make -f client.mk build
.

New Tobin Paradigm

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

Unread post by New Tobin Paradigm » 2020-11-10, 09:14

I wouldn't. Use the mach command or just use a precompiled binary.

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

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

Unread post by Moonchild » 2020-11-10, 13:39

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.
"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

New Tobin Paradigm

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

Unread post by New Tobin Paradigm » 2020-11-10, 16:47

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.

User avatar
coltson
Hobby Astronomer
Hobby Astronomer
Posts: 22
Joined: 2018-10-06, 13:03

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

Unread post by coltson » 2020-11-10, 22:51

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.

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

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

Unread post by Moonchild » 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.
"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
stevenpusser
Project Contributor
Project Contributor
Posts: 903
Joined: 2015-08-01, 18:33

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

Unread post by stevenpusser » 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 ./
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.

New Tobin Paradigm

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

Unread post by New Tobin Paradigm » 2020-11-12, 19:19

You CAN still do it manually with the comm and platform tarballs but git is so much simpler.

User avatar
coltson
Hobby Astronomer
Hobby Astronomer
Posts: 22
Joined: 2018-10-06, 13:03

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

Unread post by coltson » 2020-11-14, 01:28

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

vannilla
Moon Magic practitioner
Moon Magic practitioner
Posts: 2194
Joined: 2018-05-05, 13:29

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

Unread post by vannilla » 2020-11-14, 07:27

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.

New Tobin Paradigm

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

Unread post by New Tobin Paradigm » 2020-11-14, 17:42

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?

shevy

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

Unread post by shevy » 2020-12-11, 10:04

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 ... )